diff options
author | Thi Tran <thi@us.ibm.com> | 2013-11-27 08:59:33 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-12-04 14:41:52 -0600 |
commit | e1edb9d4508e642ea341c8a7d301a783f80d70bd (patch) | |
tree | a5bfbb8213266cb5bd4d7c525b0c409aee33fc20 /src/usr | |
parent | e7f0a7104c2ef9d825aeabcb740ba203eb0ef190 (diff) | |
download | talos-hostboot-e1edb9d4508e642ea341c8a7d301a783f80d70bd.tar.gz talos-hostboot-e1edb9d4508e642ea341c8a7d301a783f80d70bd.zip |
INITPROC: Hostboot - SW234239 Untrusted BAR config update
Change-Id: Ibb2ae2e4ed9f05ed99b1554bd196f247ebb56660
CMVC-Coreq:907961
CQ:SW234239
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7451
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr')
7 files changed, 696 insertions, 311 deletions
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> |