summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/build/citest/etc/bbuild2
-rw-r--r--src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H5
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_delta_scan_rw.h3
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize.C233
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_attributes.xml65
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_errors.xml656
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml43
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml2
8 files changed, 697 insertions, 312 deletions
diff --git a/src/build/citest/etc/bbuild b/src/build/citest/etc/bbuild
index e2fbd5fb2..95710029f 100644
--- a/src/build/citest/etc/bbuild
+++ b/src/build/citest/etc/bbuild
@@ -1 +1 @@
-/esw/fips810/Builds/b1106a_1345.810/
+/esw/fips810/Builds/b1121a_1349.810/
diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H
index 171f68352..7895b8aaa 100644
--- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H
+++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: proc_adu_utils.H,v 1.6 2013/09/26 17:57:02 jmcgill Exp $
+// $Id: proc_adu_utils.H,v 1.7 2013/11/11 22:34:59 jmcgill Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/utils/proc_adu_utils.H,v $
//------------------------------------------------------------------------------
// *|
@@ -316,6 +316,9 @@ const uint32_t PROC_ADU_UTILS_ADU_MAX_PRE_INIT_DELAY = ((1ULL << 10)-1ULL);
const uint32_t PROC_ADU_UTILS_AUTO_INCREMENT_BOUNDARY_MASK = 0x7FFFFULL;
const uint32_t PROC_ADU_UTILS_AUTO_INCREMENT_BOUNDARY = 0x7FFF8ULL;
+// Security Switch register field/bit definitions
+const uint32_t OTPC_M_SECURITY_SWITCH_TRUSTED_BOOT_BIT = 1;
+
// ADU Control register field/bit definitions
const uint32_t ADU_CONTROL_FBC_TTYPE_START_BIT = 0;
const uint32_t ADU_CONTROL_FBC_TTYPE_END_BIT = 5;
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_delta_scan_rw.h b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_delta_scan_rw.h
index 37445f28a..a472d8ed9 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_delta_scan_rw.h
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_delta_scan_rw.h
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_delta_scan_rw.h,v 1.46 2013/09/20 15:38:53 bgass Exp $
+// $Id: p8_delta_scan_rw.h,v 1.47 2013/11/11 22:29:51 jmcgill Exp $
#define OVERRIDE_OFFSET 8 // Byte offset of forward pointer's addr relative
// to base forward pointer's addr.
#define SIZE_IMAGE_BUF_MAX 5000000 // Max ~5MB image buffer size.
@@ -51,6 +51,7 @@
#define STANDALONE_MBOX2_VALUE_TOC_NAME "standalone_mbox2_value"
#define STANDALONE_MBOX3_VALUE_TOC_NAME "standalone_mbox3_value"
#define UNTRUSTED_BAR_TOC_NAME "fabric_config"
+#define UNTRUSTED_PBA_BAR_TOC_NAME "fabric_config_pba"
/***** Scan setting *****/
#define OPCG_SCAN_RATIO 4
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize.C b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize.C
index 5d983fc39..bcfee47c4 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize.C
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize.C
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_xip_customize.C,v 1.58 2013/10/29 16:51:57 jeshua Exp $
+// $Id: p8_xip_customize.C,v 1.65 2013/11/18 20:09:00 jmcgill Exp $
/*------------------------------------------------------------------------------*/
/* *! TITLE : p8_xip_customize */
/* *! DESCRIPTION : Obtains repair rings from VPD and adds them to either */
@@ -29,15 +29,16 @@
//
/* *! EXTENDED DESCRIPTION : */
//
-/* *! USAGE : To build (for Hostboot) - */
-// buildfapiprcd -c "sbe_xip_image.c,pore_inline_assembler.c,p8_ring_identification.c" -C "p8_image_help.C,p8_image_help_base.C,p8_scan_compression.C,p8_pore_table_gen_api_fixed.C" -e "$PROC_PATH/../../xml/error_info/p8_xip_customize_errors.xml,$HWPF_PATH/hwp/xml/error_info/mvpd_errors.xml" p8_xip_customize.C
-// To build (for VBU/command-line) -
-// buildfapiprcd -r ver-13-0 -c "sbe_xip_image.c,pore_inline_assembler.c,p8_ring_identification.c" -C "p8_image_help.C,p8_image_help_base.C,p8_scan_compression.C,p8_pore_table_gen_api_fixed.C" -e "../../xml/error_info/p8_xip_customize_errors.xml,../../../../../../hwpf/hwp/xml/error_info/mvpd_errors.xml" -u "XIPC_COMMAND_LINE" p8_xip_customize.C
-// Other usages -
-// using "IMGBUILD_PPD_IGNORE_VPD" will ignore adding MVPD rings.
-// using "IMGBUILD_PPD_IGNORE_VPD_FIELD" will ignore using fapiGetMvpdField.
-// using "IMGBUILD_PPD_IGNORE_PLL_UPDATE" will ignore PLL attribute ring.
-// using "IMGBUILD_PPD_IGNORE_L3_BAR" will ignore updating L3 Bar Scoms.
+/* *! USAGE :
+ To build (for Hostboot) -
+ buildfapiprcd -c "sbe_xip_image.c,pore_inline_assembler.c,p8_ring_identification.c" -C "p8_image_help.C,p8_image_help_base.C,p8_scan_compression.C,p8_pore_table_gen_api_fixed.C,p8_mailbox_utils.C" -e "../../xml/error_info/p8_xip_customize_errors.xml,../../xml/error_info/p8_mailbox_utils_errors.xml,../../xml/error_info/proc_sbe_decompress_scan_halt_codes.xml,../../../../../../hwpf/hwp/xml/error_info/mvpd_errors.xml" p8_xip_customize.C
+ To build (for VBU/command-line) -
+ buildfapiprcd -c "sbe_xip_image.c,pore_inline_assembler.c,p8_ring_identification.c" -C "p8_image_help.C,p8_image_help_base.C,p8_scan_compression.C,p8_pore_table_gen_api_fixed.C,p8_mailbox_utils.C" -e "../../xml/error_info/p8_xip_customize_errors.xml,../../xml/error_info/p8_mailbox_utils_errors.xml,../../xml/error_info/proc_sbe_decompress_scan_halt_codes.xml,../../../../../../hwpf/hwp/xml/error_info/mvpd_errors.xml" -u "XIPC_COMMAND_LINE" p8_xip_customize.C
+ Other usages -
+ using "IMGBUILD_PPD_IGNORE_VPD" will ignore adding MVPD rings.
+ using "IMGBUILD_PPD_IGNORE_VPD_FIELD" will ignore using fapiGetMvpdField.
+ using "IMGBUILD_PPD_IGNORE_PLL_UPDATE" will ignore PLL attribute ring.
+ */
//
/* *! ASSUMPTIONS : */
//
@@ -60,7 +61,6 @@ extern "C" {
using namespace fapi;
- const uint32_t MINIMUM_VALID_EXS = 3;
//------------------------------------------------------------------------------
@@ -641,6 +641,9 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
uint64_t attrAduUntrustedBarBase;
uint64_t attrAduUntrustedBarSize;
+ uint64_t attrPbaUntrustedBarBase;
+ uint64_t attrPbaUntrustedBarSize;
+
uint64_t attrPsiUntrustedBar0Base;
uint64_t attrPsiUntrustedBar0Size;
@@ -665,6 +668,20 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
}
//-------------------------------------------------------------------------------------------
+ // PBA BAR
+ rc = FAPI_ATTR_GET(ATTR_PROC_PBA_UNTRUSTED_BAR_BASE_ADDR, &i_target, attrPbaUntrustedBarBase);
+ if (rc) {
+ FAPI_ERR("FAPI_ATTR_GET(ATTR_PROC_PBA_UNTRUSTED_BAR_BASE_ADDR) returned error.\n");
+ return rc;
+ }
+
+ rc = FAPI_ATTR_GET(ATTR_PROC_PBA_UNTRUSTED_BAR_SIZE, &i_target, attrPbaUntrustedBarSize);
+ if (rc) {
+ FAPI_ERR("FAPI_ATTR_GET(ATTR_PROC_PBA_UNTRUSTED_BAR_SIZE) returned error.\n");
+ return rc;
+ }
+
+ //-------------------------------------------------------------------------------------------
// PSI BAR0
rc = FAPI_ATTR_GET(ATTR_PROC_PSI_UNTRUSTED_BAR0_BASE_ADDR, &i_target, attrPsiUntrustedBar0Base);
if (rc) {
@@ -717,6 +734,24 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
*(untrustbar_field + 4) = myRev64(attrPsiUntrustedBar1Base);
*(untrustbar_field + 5) = myRev64(attrPsiUntrustedBar1Size);
+ //Look up fabric_config_pba location
+ rcLoc = sbe_xip_find( o_imageOut, UNTRUSTED_PBA_BAR_TOC_NAME, &xipTocItem);
+ if (rcLoc) {
+ FAPI_ERR("sbe_xip_find() failed w/rc=%i and %s", rcLoc, SBE_XIP_ERROR_STRING(errorStrings, rcLoc));
+ FAPI_ERR("Probable cause:");
+ FAPI_ERR("\tThe keyword (=%s) was not found.",UNTRUSTED_PBA_BAR_TOC_NAME);
+ uint32_t & RC_LOCAL = rcLoc;
+ FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_KEYWORD_NOT_FOUND_ERROR);
+ return rc;
+ }
+ sbe_xip_pore2host( o_imageOut, xipTocItem.iv_address, &hostAduUntrustedBar);
+ untrustbar_field = (uint64_t*)hostAduUntrustedBar;
+ FAPI_DBG("Dumping [initial] global variable content of %s, and then the updated value:\n",
+ UNTRUSTED_PBA_BAR_TOC_NAME);
+
+ *(untrustbar_field + 0) = myRev64(attrPbaUntrustedBarBase);
+ *(untrustbar_field + 1) = myRev64(attrPbaUntrustedBarSize);
+
}
@@ -1223,18 +1258,52 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
xipSectionDcrings
);
if (rc) {
- // fail out unless this was an overflow error for IPL and we've already met the mimimum
- if ((validEXCount < MINIMUM_VALID_EXS) ||
- (rc != RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW) ||
- (i_sysPhase!=0)) {
- FAPI_DBG("Was only able to put %i EXs into the image (minimum is %i for IPL, all for SLW)", validEXCount, MINIMUM_VALID_EXS);
+ // Check if this is just a case of trying to fit in too many EXs
+ if ((i_sysPhase == 0) &&
+ (rc == RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW))
+ {
+
+ uint32_t MINIMUM_VALID_EXS;
+ fapi::ReturnCode lrc;
+ lrc = FAPI_ATTR_GET(ATTR_SBE_IMAGE_MINIMUM_VALID_EXS, NULL, MINIMUM_VALID_EXS);
+ if (lrc)
+ {
+ FAPI_DBG("Unable to determine ATTR_SBE_IMAGE_MINIMUM_VALID_EXS, so don't know if the minimum was met");
+ fapiLogError(lrc);
+ uint32_t & VALID_COUNT = validEXCount;
+ uint32_t & MINIMUM = MINIMUM_VALID_EXS;
+ const uint32_t & DESIRED_CORES = desiredBootCoreMask;
+ uint32_t & BOOT_CORE_MASK = io_bootCoreMask;
+ FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW_ADD_INFO);
+ return rc;
+ }
+
+ if (validEXCount < MINIMUM_VALID_EXS)
+ {
+ FAPI_ERR("Was only able to put %i EXs into the IPL image (minimum is %i)", validEXCount, MINIMUM_VALID_EXS);
+ fapiLogError(rc);
+ uint32_t & VALID_COUNT = validEXCount;
+ uint32_t & MINIMUM = MINIMUM_VALID_EXS;
+ const uint32_t & DESIRED_CORES = desiredBootCoreMask;
+ uint32_t & BOOT_CORE_MASK = io_bootCoreMask;
+ FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_OVERFLOW_BEFORE_REACHING_MINIMUM_EXS);
+ return rc;
+ }
+ else
+ {
+ // out of space for this chiplet, but got enough EXs in to run
+ // so jump to the end of EXs and continue
+ rc = FAPI_RC_SUCCESS;
+ chipletId = CHIPLET_ID_EX_MAX;
+ FAPI_DBG("Skipping the rest of the EX rings because image is full");
+ }
+ }
+ else
+ {
+ //This is a real error, so return it
+ FAPI_DBG("Hit an error adding cores to the image");
return rc;
}
- // out of space for this chiplet, but got enough EXs in to run
- // so jump to the end of EXs and continue
- rc = FAPI_RC_SUCCESS;
- chipletId = CHIPLET_ID_EX_MAX;
- FAPI_DBG("Skipping the rest of the rings because image is full");
} else {
// Successfully added this chiplet
// Update tracking of valid EX chiplets in the image
@@ -1549,7 +1618,6 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
// Retrieval method: Attribute.
// System phase: IPL and SLW sysPhase.
// ==========================================================================
-#ifndef IMGBUILD_PPD_IGNORE_L3_BAR
rc = FAPI_ATTR_GET(ATTR_PROC_L3_BAR1_REG, &i_target, attrL3BAR1);
if (rc) {
FAPI_ERR("FAPI_ATTR_GET(ATTR_PROC_L3_BAR1_REG) returned error.\n");
@@ -1654,7 +1722,6 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
else {
FAPI_INF("No active cores found. Did not update SCOM NC table w/L3 BAR data (3).\n");
}
-#endif
@@ -1663,42 +1730,110 @@ ReturnCode p8_xip_customize( const fapi::Target &i_target,
// Retrieval method: N/A.
// System phase: SLW sysPhase. (By MikeO)
// ==========================================================================
- uint8_t threadId;
- uint64_t lpcrData=(uint64_t)0x00005000; // Set bit(49) and bit(51).
- uint64_t hmeerData=((uint64_t)0x80000000)<<32; // Set bit(0).
- for (coreId=0; coreId<=15; coreId++) {
- // Do the LPCR rams.
- for (threadId=0; threadId<=7; threadId++) {
- rcLoc = p8_pore_gen_cpureg_fixed(
- o_imageOut,
- i_modeBuild,
- (uint32_t)P8_SPR_LPCR,
- lpcrData,
- coreId,
- threadId);
- if (rcLoc) {
- FAPI_ERR("Updating RAM table w/LPCR ram unsuccessful (rcLoc=%i)\n",rcLoc);
- uint32_t & RC_LOCAL = rcLoc;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_GEN_RAM_ERROR);
- return rc;
- }
- } // End of for(threadId)
- // Do the HMEER rams.
+ uint8_t threadId;
+ uint64_t lpcrData=(uint64_t)0x00005000; // Set bit(49) and bit(51).
+ uint64_t hmeerData=((uint64_t)0x80000000)<<32; // Set bit(0).
+ for (coreId=0; coreId<=15; coreId++) {
+ // Do the LPCR rams.
+ for (threadId=0; threadId<=7; threadId++) {
rcLoc = p8_pore_gen_cpureg_fixed(
o_imageOut,
i_modeBuild,
- (uint32_t)P8_SPR_HMEER,
- hmeerData,
+ (uint32_t)P8_SPR_LPCR,
+ lpcrData,
coreId,
- 0);
+ threadId);
if (rcLoc) {
- FAPI_ERR("Updating RAM table w/HMEER ram unsuccessful (rcLoc=%i)\n",rcLoc);
+ FAPI_ERR("Updating RAM table w/LPCR ram unsuccessful (rcLoc=%i)\n",rcLoc);
uint32_t & RC_LOCAL = rcLoc;
FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_GEN_RAM_ERROR);
return rc;
}
- } // End of for(coreId)
+ } // End of for(threadId)
+ // Do the HMEER rams.
+ rcLoc = p8_pore_gen_cpureg_fixed(
+ o_imageOut,
+ i_modeBuild,
+ (uint32_t)P8_SPR_HMEER,
+ hmeerData,
+ coreId,
+ 0);
+ if (rcLoc) {
+ FAPI_ERR("Updating RAM table w/HMEER ram unsuccessful (rcLoc=%i)\n",rcLoc);
+ uint32_t & RC_LOCAL = rcLoc;
+ FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_GEN_RAM_ERROR);
+ return rc;
+ }
+ } // End of for(coreId)
+
+
+ // ==========================================================================
+ // CUSTOMIZE item: Workaround for HW273115. (By MikeO)
+ // Descr.: If ivrm-enabled, initialize ivrm in special way for
+ // winkles for S1-1.x, S1-2.0 and P8-1.x.
+ // Retrieval method: Attribute.
+ // System phase: SLW sysPhase.
+ // Assumptions: ATTR_PM_IVRMS_ENABLED fully supported on FSP/HOST.
+ // ==========================================================================
+ uint8_t attrIvrmEnabled=0, attrFixIvrmWinkleBug=1;
+ uint64_t slwControlVector=0;
+
+#ifdef FAPIECMD // This section only included for Cronus builds.
+ //int type;
+ //fapi::fapiCheckIdType(ATTR_PM_IVRMS_ENABLED, type);
+ //FAPI_DBG("fapiCheckIdType(ATTR_PM_IVRMS_ENABLED) returned type=%i\n",type);
+ //if (!type) { // If attrib doesn't exist, create it and init to zero.
+ FAPI_DBG("ATTR_PM_IVRMS_ENABLED doesn't exit. Create and init to zero.\n");
+ attrIvrmEnabled = 1;
+ rc = FAPI_ATTR_SET(ATTR_PM_IVRMS_ENABLED, &i_target, attrIvrmEnabled);
+ if (rc) {
+ FAPI_ERR("FAPI_ATTR_PUT(ATTR_PM_IVRMS_ENABLED) return error.\n");
+ return rc;
+ }
+ //}
+#endif
+
+ rc = FAPI_ATTR_GET(ATTR_PM_IVRMS_ENABLED, &i_target, attrIvrmEnabled);
+ if (rc) {
+ FAPI_ERR("FAPI_ATTR_GET(ATTR_PM_IVRMS_ENABLED) returned error.\n");
+ return rc;
+ }
+
+ rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_IVRM_WINKLE_BUG, &i_target, attrFixIvrmWinkleBug);
+ if (rc) {
+ FAPI_ERR("FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_IVRM_WINKLE_BUG) returned error.\n");
+ return rc;
+ }
+
+ if (attrIvrmEnabled && !attrFixIvrmWinkleBug) {
+ rcLoc = sbe_xip_get_scalar( o_imageOut, "slw_control_vector", &slwControlVector);
+ if (rcLoc) {
+ FAPI_ERR("sbe_xip_get_scalar() failed w/rc=%i", rcLoc);
+ FAPI_ERR("Probable cause: Key word =slw_control_vector not found in image.");
+ uint32_t &RC_LOCAL=rcLoc;
+ FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_KEYWORD_NOT_FOUND_ERROR);
+ return rc;
+ }
+ FAPI_DBG("slwControlVector=0x%016llx",slwControlVector);
+ slwControlVector = slwControlVector | BIT(63);
+ FAPI_DBG("slwControlVector=0x%016llx",slwControlVector);
+ rcLoc = sbe_xip_set_scalar( o_imageOut, "slw_control_vector", slwControlVector);
+ if (rcLoc) {
+ FAPI_ERR("sbe_xip_set_scalar() failed w/rc=%i", rcLoc);
+ FAPI_ERR("Probable cause: Key word =slw_control_vector not found in image.");
+ uint32_t &RC_LOCAL=rcLoc;
+ FAPI_SET_HWP_ERROR(rc, RC_PROC_XIPC_KEYWORD_NOT_FOUND_ERROR);
+ return rc;
+ }
+ FAPI_INF("Updated slw_control_vector to trigger iVRM winkle bug fix.\n");
+ }
+ else {
+ FAPI_INF("Did NOT update slw_control_vector to trigger iVRM winkle bug fix.\n");
+ }
+
+
+
} // End of if (i_sysPhase==1)
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_attributes.xml b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_attributes.xml
index c1f333c1d..bcc27b06b 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_attributes.xml
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_attributes.xml
@@ -20,7 +20,7 @@
<!-- Origin: 30 -->
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: p8_xip_customize_attributes.xml,v 1.7 2013/05/07 22:56:16 wenning Exp $ -->
+<!-- $Id: p8_xip_customize_attributes.xml,v 1.11 2013/11/07 21:51:13 dcrowell Exp $ -->
<!-- p8_xip_customize_attributes.xml -->
<attributes>
<!-- ********************************************************************* -->
@@ -95,6 +95,56 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
+ <id>ATTR_PROC_PBA_UNTRUSTED_BAR_BASE_ADDR</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>PBA Untrusted BAR base address (secure mode)
+ creator: platform
+ firmware notes:
+ 64-bit address representing BAR RA
+ </description>
+ <valueType>uint64</valueType>
+ <platInit/>
+ <persistRuntime/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_PROC_PBA_UNTRUSTED_BAR_SIZE</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>PBA Untrusted BAR size (secure mode)
+ creator: platform
+ firmware notes:
+ mask applied to RA 23:43
+ </description>
+ <valueType>uint64</valueType>
+ <enum>
+ 2_TB = 0x000001FFFFF00000,
+ 1_TB = 0x000000FFFFF00000,
+ 512_GB = 0x0000007FFFF00000,
+ 256_GB = 0x0000003FFFF00000,
+ 128_GB = 0x0000001FFFF00000,
+ 64_GB = 0x0000000FFFF00000,
+ 32_GB = 0x00000007FFF00000,
+ 16_GB = 0x00000003FFF00000,
+ 8_GB = 0x00000001FFF00000,
+ 4_GB = 0x00000000FFF00000,
+ 2_GB = 0x000000007FF00000,
+ 1_GB = 0x000000003FF00000,
+ 512_MB = 0x000000001FF00000,
+ 256_MB = 0x000000000FF00000,
+ 128_MB = 0x0000000007F00000,
+ 64_MB = 0x0000000003F00000,
+ 32_MB = 0x0000000001F00000,
+ 16_MB = 0x0000000000F00000,
+ 8_MB = 0x0000000000700000,
+ 4_MB = 0x0000000000300000,
+ 2_MB = 0x0000000000100000,
+ 1_MB = 0x0000000000000000
+ </enum>
+ <platInit/>
+ <persistRuntime/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
<id>ATTR_PROC_ADU_UNTRUSTED_BAR_BASE_ADDR</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>ADU Untrusted BAR base address (secure mode)
@@ -284,4 +334,17 @@
<persistRuntime/>
</attribute>
<!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SBE_IMAGE_MINIMUM_VALID_EXS</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ The minimum number of valid EXs that is required to be used when
+ customizing a SBE image. The customization will fail if it cannot
+ create an image with at least this many EXs.
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <persistRuntime/>
+ </attribute>
+ <!-- ********************************************************************* -->
</attributes>
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_errors.xml b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_errors.xml
index c6c0a411b..01ad91774 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_errors.xml
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build/p8_xip_customize_errors.xml
@@ -20,262 +20,404 @@
<!-- Origin: 30 -->
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: p8_xip_customize_errors.xml,v 1.17 2013/06/13 22:36:37 cmolsen Exp $ -->
-<!-- Error definitions for proc_slw_build procedure -->
+<!-- $Id: p8_xip_customize_errors.xml,v 1.20 2013/11/08 22:36:14 jeshua Exp $ -->
+<!-- Error definitions for p8_xip_customize procedure -->
<hwpErrors>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_IMAGE_WORK_SPACE_MESS</rc>
- <description>Max work space for output image is not equal to FIXED_SEEPROM_WORK_SPACE.</description>
- <ffdc>DATA_IMG_SIZE_MAX</ffdc>
- <ffdc>DATA_IMG_SIZE_WORK_SPACE</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_IMAGE_SIZE_MESS</rc>
- <description>Supplied max image size is smaller than input image.</description>
- <ffdc>DATA_IMG_SIZE</ffdc>
- <ffdc>DATA_IMG_SIZE_MAX</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_INTERNAL_IMAGE_ERR</rc>
- <description>Unable to obtain either image size or to validate image.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_IMAGE_SIZE_MISMATCH</rc>
- <description>Supplied image size differs from size in image header.</description>
- <ffdc>DATA_IMG_SIZE_INP</ffdc>
- <ffdc>DATA_IMG_SIZE</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_MS_INTERNAL_IMAGE_ERR</rc>
- <description>Unable to obtain either image size or to validate image in MS.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_MS_IMAGE_SIZE_MISMATCH</rc>
- <description>Supplied image size differs from size in image header in MS.</description>
- <ffdc>DATA_IMG_SIZE_INP</ffdc>
- <ffdc>DATA_IMG_SIZE</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_BUF_PTR_ERROR</rc>
- <description>Supplied buffer(s) is invalid.</description>
- <ffdc>DATA_BUF1_PTR</ffdc>
- <ffdc>DATA_BUF2_PTR</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_BUF_SIZE_NOT_FIXED</rc>
- <description>Supplied buffer size(s) differs from agreed upon fixed ring buffer size.</description>
- <ffdc>DATA_BUF1_SIZE</ffdc>
- <ffdc>DATA_BUF2_SIZE</ffdc>
- <ffdc>DATA_BUF_SIZE_FIXED</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_IMAGE_UPDATE_ERROR</rc>
- <description>Error associated with updating mainstore image.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_UNEXPECTED_FIELD_SIZE</rc>
- <description>Expected field size of 4 bytes. Got something else from fapiGetMvpdField().</description>
- <ffdc>DATA_SIZE_VPD_FIELD</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_GEN_SCOM_ERROR</rc>
- <description>Updating Scom NC table w/L2 or L3 data failed. Check rc code in p8_delta_scan_rw.h</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_GEN_RAM_ERROR</rc>
- <description>Updating RAM table w/LPCR or HMEER RAM failed. Check rc code in p8_delta_scan_rw.h</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PLL_RING_SIZE_TOO_LARGE</rc>
- <description>PLL ring size returned from attribute is too large.</description>
- <ffdc>DATA_ATTRIBUTE_RING_SIZE</ffdc>
- <ffdc>DATA_MAX_PLL_RING_SIZE</ffdc>
- <ffdc>DATA_SIZE_OF_BUF1</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_IMGBUILD_ERROR</rc>
- <description>Local IMGBUILD_xyz error from non-FAPI routine. Check rc code in p8_delta_scan_rw.h.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_XIP_FIND_ERROR</rc>
- <description>sbe_xip_find() failed w/local rc.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_RS4_COMPRESS_ERROR</rc>
- <description>_rs4_compress() failed w/local rc.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_RS4_COMPRESS_SIZE_MESS</rc>
- <description>Problem with RS4 ring sizes from _rs4_compress().</description>
- <ffdc>DATA_SIZE_RS4_COMPRESS_RETURN</ffdc>
- <ffdc>DATA_SIZE_RS4_COMPRESS_CONTAINER</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_ILLEGAL_RS4_DECOMPRESS_ADDR</rc>
- <description>RS4 decompress address has illegal value.</description>
- <ffdc>DATA_RS4_DECOMPRESS_ADDR</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PORE_INLINE_CTX_CREATE_ERROR</rc>
- <description>pore_inline_context_create failed w/local rc.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PORE_INLINE_RS4_LAUNCH_CREATE_ERROR</rc>
- <description>pore_MR/ADDS/LI/BRAD failed w/local rc.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PLL_RING_BLOCK_TOO_LARGE</rc>
- <description>PLL ring block is too large.</description>
- <ffdc>DATA_RING_BLOCK_SIZEOFTHIS</ffdc>
- <ffdc>DATA_SIZE_OF_BUF1</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_RING_BLOCK_ALIGN_ERROR</rc>
- <description>Problem with RS4 PLL ring block alignment.</description>
- <ffdc>DATA_SIZE_OF_RS4_LAUNCH</ffdc>
- <ffdc>DATA_RING_BLOCK_ENTRYOFFSET</ffdc>
- <ffdc>DATA_RING_BLOCK_SIZEOFTHIS</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_CHIPLET_ID_MESS</rc>
- <description>VPD ring's chipletId differs from 0xFF and doesn't match requested value either.</description>
- <ffdc>DATA_CHIPLET_ID_VPD</ffdc>
- <ffdc>DATA_CHIPLET_ID_REQ</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PG_RING_TOO_LARGE</rc>
- <description>Requested #G ring size exceeds max value.</description>
- <ffdc>DATA_RING_SIZE_REQ</ffdc>
- <ffdc>DATA_RING_SIZE_MAX</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PR_RING_TOO_LARGE</rc>
- <description>Requested #R ring size exceeds max value.</description>
- <ffdc>DATA_RING_SIZE_REQ</ffdc>
- <ffdc>DATA_RING_SIZE_MAX</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_INVALID_VPD_TYPE</rc>
- <description>Invalid VPD type.</description>
- <ffdc>DATA_VPD_TYPE</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_KEYWORD_NOT_FOUND_ERROR</rc>
- <description>A keyword in the XIP image was not found.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_VPD_KEYWORD_RESOLVE_ERROR</rc>
- <description>Unable to resolve local vpd keyword to fapi-level mvpd keyword.</description>
- <ffdc>DATA_RING_LIST_VPD_KEYWORD</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_PERFORM_RING_DATACARE_ERROR</rc>
- <description>Error occured during check_and_perform_ring_datacare()</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_CHECK_REDUNDANT_ERROR</rc>
- <description>Error occured during rs4_redundant()</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW</rc>
- <description>Ran out of space when trying to add a ring to the image
- (write_vpd_ring_to_ipl_image returned SBE_XIP_WOULD_OVERFLOW)</description>
- <ffdc>RC_LOCAL</ffdc>
- <ffdc>CHIPLET_ID</ffdc>
- <ffdc>RING_ID</ffdc>
- <ffdc>RING_SIZE</ffdc>
- <ffdc>IMAGE_SIZE</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_WRITE_VPD_RING_TO_IPL_IMAGE_ERROR</rc>
- <description>Error occured during write_vpd_ring_to_ipl_image()</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_WRITE_VPD_RING_TO_SLW_IMAGE_ERROR</rc>
- <description>Error occured during write_vpd_ring_to_slw_image()</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_XIP_DELETE_SECTION_ERROR</rc>
- <description>sbe_xip_delete_section() failed w/local rc.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_CREATE_FIXED_IMAGE_ERROR</rc>
- <description>Error associated with creating and initializing fixed image and fixed .slw and .ffdc sections.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_MAX_IMAGE_SIZE_EXCEEDED</rc>
- <description>New image size exceeds max allowed size.</description>
- <ffdc>DATA_IMG_SIZE_NEW</ffdc>
- <ffdc>DATA_IMG_SIZE_MAX</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_APPEND_SLW_SECTION_ERROR</rc>
- <description>Error associated with adding empty SLW section for ram and scom tables.</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_BAD_CODE_OR_PARM</rc>
- <description>Shouldn't be in this code section or invalid parm.</description>
-</hwpError>
-<!-- *********************************************************************** -->
-<hwpError>
- <rc>RC_PROC_XIPC_UNKNOWN_ERROR</rc>
- <description>Unknown error. (Shouldn't be in this code section.)</description>
- <ffdc>RC_LOCAL</ffdc>
-</hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_IMAGE_WORK_SPACE_MESS</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Max work space for output image is not equal to FIXED_SEEPROM_WORK_SPACE.
+ </description>
+ <ffdc>DATA_IMG_SIZE_MAX</ffdc>
+ <ffdc>DATA_IMG_SIZE_WORK_SPACE</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_IMAGE_SIZE_MESS</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Supplied max image size is smaller than input image.
+ </description>
+ <ffdc>DATA_IMG_SIZE</ffdc>
+ <ffdc>DATA_IMG_SIZE_MAX</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_INTERNAL_IMAGE_ERR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Unable to obtain either image size or to validate image.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_IMAGE_SIZE_MISMATCH</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Supplied image size differs from size in image header.
+ </description>
+ <ffdc>DATA_IMG_SIZE_INP</ffdc>
+ <ffdc>DATA_IMG_SIZE</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_MS_INTERNAL_IMAGE_ERR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Unable to obtain either image size or to validate image in MS.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_MS_IMAGE_SIZE_MISMATCH</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Supplied image size differs from size in image header in MS.
+ </description>
+ <ffdc>DATA_IMG_SIZE_INP</ffdc>
+ <ffdc>DATA_IMG_SIZE</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_BUF_PTR_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Supplied buffer(s) is invalid.
+ </description>
+ <ffdc>DATA_BUF1_PTR</ffdc>
+ <ffdc>DATA_BUF2_PTR</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_BUF_SIZE_NOT_FIXED</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Supplied buffer size(s) differs from agreed upon fixed ring buffer size.
+ </description>
+ <ffdc>DATA_BUF1_SIZE</ffdc>
+ <ffdc>DATA_BUF2_SIZE</ffdc>
+ <ffdc>DATA_BUF_SIZE_FIXED</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_IMAGE_UPDATE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error associated with updating mainstore image.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_UNEXPECTED_FIELD_SIZE</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Expected field size of 4 bytes. Got something else from fapiGetMvpdField().
+ </description>
+ <ffdc>DATA_SIZE_VPD_FIELD</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_GEN_SCOM_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Updating Scom NC table w/L2 or L3 data failed. Check rc code in p8_delta_scan_rw.h
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_GEN_RAM_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Updating RAM table w/LPCR or HMEER RAM failed. Check rc code in p8_delta_scan_rw.h
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PLL_RING_SIZE_TOO_LARGE</rc>
+ <description>
+ Procedure: p8_xip_customize
+ PLL ring size returned from attribute is too large.
+ </description>
+ <ffdc>DATA_ATTRIBUTE_RING_SIZE</ffdc>
+ <ffdc>DATA_MAX_PLL_RING_SIZE</ffdc>
+ <ffdc>DATA_SIZE_OF_BUF1</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_IMGBUILD_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Local IMGBUILD_xyz error from non-FAPI routine. Check rc code in p8_delta_scan_rw.h.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_XIP_FIND_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ sbe_xip_find() failed w/local rc.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_RS4_COMPRESS_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ _rs4_compress() failed w/local rc.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_RS4_COMPRESS_SIZE_MESS</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Problem with RS4 ring sizes from _rs4_compress().
+ </description>
+ <ffdc>DATA_SIZE_RS4_COMPRESS_RETURN</ffdc>
+ <ffdc>DATA_SIZE_RS4_COMPRESS_CONTAINER</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_ILLEGAL_RS4_DECOMPRESS_ADDR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ RS4 decompress address has illegal value.
+ </description>
+ <ffdc>DATA_RS4_DECOMPRESS_ADDR</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PORE_INLINE_CTX_CREATE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ pore_inline_context_create failed w/local rc.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PORE_INLINE_RS4_LAUNCH_CREATE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ pore_MR/ADDS/LI/BRAD failed w/local rc.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PLL_RING_BLOCK_TOO_LARGE</rc>
+ <description>
+ Procedure: p8_xip_customize
+ PLL ring block is too large.
+ </description>
+ <ffdc>DATA_RING_BLOCK_SIZEOFTHIS</ffdc>
+ <ffdc>DATA_SIZE_OF_BUF1</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_RING_BLOCK_ALIGN_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Problem with RS4 PLL ring block alignment.
+ </description>
+ <ffdc>DATA_SIZE_OF_RS4_LAUNCH</ffdc>
+ <ffdc>DATA_RING_BLOCK_ENTRYOFFSET</ffdc>
+ <ffdc>DATA_RING_BLOCK_SIZEOFTHIS</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_CHIPLET_ID_MESS</rc>
+ <description>
+ Procedure: p8_xip_customize
+ VPD ring's chipletId differs from 0xFF and doesn't match requested value either.
+ </description>
+ <ffdc>DATA_CHIPLET_ID_VPD</ffdc>
+ <ffdc>DATA_CHIPLET_ID_REQ</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PG_RING_TOO_LARGE</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Requested #G ring size exceeds max value.
+ </description>
+ <ffdc>DATA_RING_SIZE_REQ</ffdc>
+ <ffdc>DATA_RING_SIZE_MAX</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PR_RING_TOO_LARGE</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Requested #R ring size exceeds max value.
+ </description>
+ <ffdc>DATA_RING_SIZE_REQ</ffdc>
+ <ffdc>DATA_RING_SIZE_MAX</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_INVALID_VPD_TYPE</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Invalid VPD type.
+ </description>
+ <ffdc>DATA_VPD_TYPE</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_KEYWORD_NOT_FOUND_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ A keyword in the XIP image was not found.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_VPD_KEYWORD_RESOLVE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Unable to resolve local vpd keyword to fapi-level mvpd keyword.
+ </description>
+ <ffdc>DATA_RING_LIST_VPD_KEYWORD</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_PERFORM_RING_DATACARE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error occured during check_and_perform_ring_datacare()
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_CHECK_REDUNDANT_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error occured during rs4_redundant()
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Ran out of space when trying to add a ring to the image
+ (write_vpd_ring_to_ipl_image returned SBE_XIP_WOULD_OVERFLOW)
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ <ffdc>CHIPLET_ID</ffdc>
+ <ffdc>RING_ID</ffdc>
+ <ffdc>RING_SIZE</ffdc>
+ <ffdc>IMAGE_SIZE</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW_ADD_INFO</rc>
+ <description>
+ Procedure: p8_xip_customize
+ More FFDC for the RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW error
+ </description>
+ <ffdc>VALID_COUNT</ffdc>
+ <ffdc>MINIMUM</ffdc>
+ <ffdc>DESIRED_CORES</ffdc>
+ <ffdc>BOOT_CORE_MASK</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_OVERFLOW_BEFORE_REACHING_MINIMUM_EXS</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Hit a RC_PROC_XIPC_RING_WRITE_WOULD_OVERFLOW error before the minimum number
+ of EX chiplets were added to the image.
+ </description>
+ <ffdc>VALID_COUNT</ffdc>
+ <ffdc>MINIMUM</ffdc>
+ <ffdc>DESIRED_CORES</ffdc>
+ <ffdc>BOOT_CORE_MASK</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_WRITE_VPD_RING_TO_IPL_IMAGE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error occured during write_vpd_ring_to_ipl_image()
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_WRITE_VPD_RING_TO_SLW_IMAGE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error occured during write_vpd_ring_to_slw_image()
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_XIP_DELETE_SECTION_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ sbe_xip_delete_section() failed w/local rc.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_CREATE_FIXED_IMAGE_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error associated with creating and initializing fixed image and fixed .slw and .ffdc sections.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_MAX_IMAGE_SIZE_EXCEEDED</rc>
+ <description>
+ Procedure: p8_xip_customize
+ New image size exceeds max allowed size.
+ </description>
+ <ffdc>DATA_IMG_SIZE_NEW</ffdc>
+ <ffdc>DATA_IMG_SIZE_MAX</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_APPEND_SLW_SECTION_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Error associated with adding empty SLW section for ram and scom tables.
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_BAD_CODE_OR_PARM</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Shouldn't be in this code section or invalid parm.
+ </description>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROC_XIPC_UNKNOWN_ERROR</rc>
+ <description>
+ Procedure: p8_xip_customize
+ Unknown error. (Shouldn't be in this code section.)
+ </description>
+ <ffdc>RC_LOCAL</ffdc>
+ </hwpError>
</hwpErrors>
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index 8a6371e6c..dc40f492b 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -5864,9 +5864,9 @@ firmware notes: Used as override attribute for pstate procedure
create an image with at least this many EXs.
</description>
<simpleType>
- <uint8_t>
+ <uint32_t>
<default>3</default>
- </uint8_t>
+ </uint32_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -12728,4 +12728,43 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<writeable/>
</attribute>
+<attribute>
+ <id>PROC_PBA_UNTRUSTED_BAR_BASE_ADDR</id>
+ <description>PBA Untrusted BAR base address (secure mode)
+ creator: platform
+ firmware notes:
+ 64-bit address representing BAR RA
+ </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_PBA_UNTRUSTED_BAR_BASE_ADDR</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PROC_PBA_UNTRUSTED_BAR_SIZE</id>
+ <description>PBA Untrusted BAR size (secure mode)
+ creator: platform
+ firmware notes:
+ mask applied to RA 23:43
+ </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_PBA_UNTRUSTED_BAR_SIZE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+
</attributes>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index 8efea75cb..be0a247e0 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -495,6 +495,8 @@
<attribute><id>PROC_AS_MMIO_BAR_ENABLE</id></attribute>
<attribute><id>PROC_AS_MMIO_BAR_SIZE</id></attribute>
<attribute><id>PROC_BOOT_VOLTAGE_VID</id></attribute>
+ <attribute><id>PROC_PBA_UNTRUSTED_BAR_BASE_ADDR</id></attribute>
+ <attribute><id>PROC_PBA_UNTRUSTED_BAR_SIZE</id></attribute>
</targetType>
<targetType>
OpenPOWER on IntegriCloud