diff options
Diffstat (limited to 'src/usr/hwpf/plat')
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatAttributeService.C | 44 | ||||
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatHwAccess.C | 13 | ||||
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatMBvpdAccess.C | 10 | ||||
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatMvpdAccess.C | 8 | ||||
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatSystemConfig.C | 93 | ||||
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatUtil.C | 28 |
6 files changed, 131 insertions, 65 deletions
diff --git a/src/usr/hwpf/plat/fapiPlatAttributeService.C b/src/usr/hwpf/plat/fapiPlatAttributeService.C index 7c90557d8..ef6c493d6 100644 --- a/src/usr/hwpf/plat/fapiPlatAttributeService.C +++ b/src/usr/hwpf/plat/fapiPlatAttributeService.C @@ -102,10 +102,12 @@ fapi::ReturnCode getTargetingTarget( * @reasoncode RC_EMBEDDED_NULL_TARGET_PTR * @devdesc NULL TARG Target passed to attribute access macro */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_INFORMATIONAL, MOD_ATTR_GET_TARGETING_TARGET, - RC_EMBEDDED_NULL_TARGET_PTR); + RC_EMBEDDED_NULL_TARGET_PTR, + 0, 0, hbSwError); l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); } else if (i_expectedType != TARGETING::TYPE_NA) @@ -126,11 +128,12 @@ fapi::ReturnCode getTargetingTarget( * @devdesc Unexpected Target Type passed to attribute access * macro */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_INFORMATIONAL, MOD_ATTR_GET_TARGETING_TARGET, RC_UNEXPECTED_TARGET_TYPE, - l_type, i_expectedType); + l_type, i_expectedType, hbSwError); l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); } } @@ -178,13 +181,14 @@ fapi::ReturnCode getTargetingAttr(const fapi::Target * i_pFapiTarget, * attribute not present on given target, target service * not initialized */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_INFORMATIONAL, MOD_PLAT_ATTR_SVC_GET_TARG_ATTR, RC_FAILED_TO_ACCESS_ATTRIBUTE, i_targAttrId, - i_pFapiTarget ? i_pFapiTarget->getType(): NULL); - + i_pFapiTarget ? i_pFapiTarget->getType(): NULL, + hbSwError); l_rc.setPlatError(reinterpret_cast<void *>(l_pError)); } } @@ -232,13 +236,14 @@ fapi::ReturnCode setTargetingAttr(const fapi::Target * i_pFapiTarget, * attribute not present on given target, target service * not initialized */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_INFORMATIONAL, MOD_PLAT_ATTR_SVC_SET_TARG_ATTR, RC_FAILED_TO_ACCESS_ATTRIBUTE, i_targAttrId, - i_pFapiTarget ? i_pFapiTarget->getType(): NULL); - + i_pFapiTarget ? i_pFapiTarget->getType(): NULL, + hbSwError); l_rc.setPlatError(reinterpret_cast<void *>(l_pError)); } } @@ -417,13 +422,16 @@ fapi::ReturnCode fapiPlatGetTargetName(const fapi::Target * i_pFapiTarget, * @errortype * @moduleid MOD_ATTR_GET_TARGET_NAME * @reasoncode RC_ATTR_BAD_TARGET_PARAM - * @devdesc Failed to get the Target name due to bad target - * parameter. + * @devdesc Failed to get the FAPI Target name due to + * unrecognized TARGETING Target model + * @userdata1 TARGETING Target model */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_INFORMATIONAL, MOD_ATTR_GET_TARGET_NAME, - RC_ATTR_BAD_TARGET_PARAM); + RC_ATTR_BAD_TARGET_PARAM, + l_model, 0, hbSwError); l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); } } @@ -1065,14 +1073,18 @@ fapi::ReturnCode fapiPlatGetVpdVersion ( * @moduleid fapi::MOD_PLAT_ATTR_SVC_GET_VPD_VERSION * @reasoncode fapi::RC_NO_SINGLE_MBA * @userdata1 Number of MBAs + * @userdata2 DIMM HUID * @devdesc fapiPlatGetVpdVersion could not find the * expected 1 mba from the passed dimm target */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_PLAT_ATTR_SVC_GET_VPD_VERSION, fapi::RC_NO_SINGLE_MBA, - l_mbaList.size()); + l_mbaList.size(), + TARGETING::get_huid(l_pTarget), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -1229,14 +1241,18 @@ fapi::ReturnCode fapiPlatDimmGetBadDqBitmap ( * @moduleid fapi::MOD_PLAT_ATTR_SVC_GET_BADDQ_DATA * @reasoncode fapi::RC_NO_SINGLE_MBA * @userdata1 Number of MBAs + * @userdata2 DIMM HUID * @devdesc fapiPlatDimmGetBadDqBitmap could not find the * expected 1 mba from the passed dimm target */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_PLAT_ATTR_SVC_GET_BADDQ_DATA, fapi::RC_NO_SINGLE_MBA, - l_mbaList.size()); + l_mbaList.size(), + TARGETING::get_huid(l_pTarget), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -1305,14 +1321,18 @@ fapi::ReturnCode fapiPlatDimmSetBadDqBitmap ( * @moduleid fapi::MOD_PLAT_ATTR_SVC_SET_BADDQ_DATA * @reasoncode fapi::RC_NO_SINGLE_MBA * @userdata1 Number of MBAs + * @userdata2 DIMM HUID * @devdesc fapiPlatDimmSetBadDqBitmap could not find the * expected 1 mba from the passed dimm target */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_PLAT_ATTR_SVC_SET_BADDQ_DATA, fapi::RC_NO_SINGLE_MBA, - l_mbaList.size()); + l_mbaList.size(), + TARGETING::get_huid(l_pTarget), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); diff --git a/src/usr/hwpf/plat/fapiPlatHwAccess.C b/src/usr/hwpf/plat/fapiPlatHwAccess.C index eac1049a2..ad4f61423 100644 --- a/src/usr/hwpf/plat/fapiPlatHwAccess.C +++ b/src/usr/hwpf/plat/fapiPlatHwAccess.C @@ -221,8 +221,8 @@ static errlHndl_t verifyCfamAccessTarget(const fapi::Target& i_target, if( l_pMasterProcChip == l_pTarget ) { - // Add the error log pointer as data to the ReturnCode - FAPI_ERR("verifyCfamAccessTarget: Attempt to access CFAM register %.8X on the master processor chip", i_address); + FAPI_ERR("verifyCfamAccessTarget: Attempt to access CFAM register %.8X on the master processor chip", + i_address); /*@ * @errortype @@ -233,12 +233,13 @@ static errlHndl_t verifyCfamAccessTarget(const fapi::Target& i_target, * @devdesc Attempt to access CFAM register on * the master processor chip */ + const bool hbSwError = true; l_err = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_VERIFY_CFAM_ACCESS_TARGET, fapi::RC_CFAM_ACCESS_ON_PROC_ERR, TARGETING::get_huid(l_pMasterProcChip), - i_address); + i_address, hbSwError); } } @@ -290,13 +291,17 @@ static errlHndl_t getCfamChipTarget(const TARGETING::Target* i_target, * @moduleid fapi::MOD_GET_CFAM_CHIP_TARGET * @reasoncode fapi::RC_INVALID_NUM_PARENT_CHIP * @userdata1 Number of parent chip found + * @userdata2 Chiplet HUID * @devdesc Invalid num of parent chip found for input CFAM target chiplet */ + const bool hbSwError = true; l_err = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_GET_CFAM_CHIP_TARGET, fapi::RC_INVALID_NUM_PARENT_CHIP, - l_list.size()); + l_list.size(), + TARGETING::get_huid(i_target), + hbSwError); } } return l_err; diff --git a/src/usr/hwpf/plat/fapiPlatMBvpdAccess.C b/src/usr/hwpf/plat/fapiPlatMBvpdAccess.C index aaff96d6d..8cc55228a 100644 --- a/src/usr/hwpf/plat/fapiPlatMBvpdAccess.C +++ b/src/usr/hwpf/plat/fapiPlatMBvpdAccess.C @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/usr/hwpf/plat/fapiPlatMBvpdAccess.C $ */ +/* $Source: src/usr/hwpf/plat/fapiPlatMBvpdAccess.C $ */ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -78,11 +78,12 @@ fapi::ReturnCode MBvpdRecordXlate(const fapi::MBvpdRecord i_fapiRecord, * @userdata1 Record enumerator * @devdesc Attempt to read an MVPD field using an invalid record */ + const bool hbSwError = true; errlHndl_t l_errl = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, MOD_MBVPD_ACCESS, RC_INVALID_RECORD, - i_fapiRecord); + i_fapiRecord, 0, hbSwError); // Add the error log pointer as data to the ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_errl)); @@ -141,11 +142,12 @@ fapi::ReturnCode MBvpdKeywordXlate(const fapi::MBvpdKeyword i_fapiKeyword, * @userdata1 Keyword enumerator * @devdesc Attempt to read an MVPD field using an invalid keyword */ + const bool hbSwError = true; errlHndl_t l_errl = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, MOD_MBVPD_ACCESS, RC_INVALID_KEYWORD, - i_fapiKeyword); + i_fapiKeyword, 0, hbSwError); // Add the error log pointer as data to the ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_errl)); diff --git a/src/usr/hwpf/plat/fapiPlatMvpdAccess.C b/src/usr/hwpf/plat/fapiPlatMvpdAccess.C index 79a641b8a..5365b3a2a 100644 --- a/src/usr/hwpf/plat/fapiPlatMvpdAccess.C +++ b/src/usr/hwpf/plat/fapiPlatMvpdAccess.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -107,11 +107,12 @@ fapi::ReturnCode MvpdRecordXlate(const fapi::MvpdRecord i_fapiRecord, * @userdata1 Record enumerator * @devdesc Attempt to read an MVPD field using an invalid record */ + const bool hbSwError = true; errlHndl_t l_errl = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_MVPD_ACCESS, fapi::RC_INVALID_RECORD, - i_fapiRecord); + i_fapiRecord, 0, hbSwError); // Add the error log pointer as data to the ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_errl)); @@ -191,11 +192,12 @@ fapi::ReturnCode MvpdKeywordXlate(const fapi::MvpdKeyword i_fapiKeyword, * @userdata1 Keyword enumerator * @devdesc Attempt to read an MVPD field using an invalid keyword */ + const bool hbSwError = true; errlHndl_t l_errl = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_MVPD_ACCESS, fapi::RC_INVALID_KEYWORD, - i_fapiKeyword); + i_fapiKeyword, 0, hbSwError); // Add the error log pointer as data to the ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_errl)); diff --git a/src/usr/hwpf/plat/fapiPlatSystemConfig.C b/src/usr/hwpf/plat/fapiPlatSystemConfig.C index c5b101fc6..e00da578c 100644 --- a/src/usr/hwpf/plat/fapiPlatSystemConfig.C +++ b/src/usr/hwpf/plat/fapiPlatSystemConfig.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* COPYRIGHT International Business Machines Corp. 2011,2014 */ /* */ /* p1 */ /* */ @@ -67,10 +67,12 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc Target has embedded null target pointer */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL, - fapi::RC_EMBEDDED_NULL_TARGET_PTR); + fapi::RC_EMBEDDED_NULL_TARGET_PTR, + 0, 0, hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -90,14 +92,18 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( * @moduleid fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL * @reasoncode fapi::RC_NO_SINGLE_MEMBUFF * @userdata1 Number of Memory Buffers + * @userdata2 MCS HUID * @devdesc fapiGetOtherSideOfMemChannel could not find exactly * one target on the other side of the correct state */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL, fapi::RC_NO_SINGLE_MEMBUFF, - l_targetList.size()); + l_targetList.size(), + TARGETING::get_huid(l_target), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -109,7 +115,8 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( o_target.set(reinterpret_cast<void *>(l_targetList[0])); } - } else if (i_target.getType() == fapi::TARGET_TYPE_MEMBUF_CHIP) + } + else if (i_target.getType() == fapi::TARGET_TYPE_MEMBUF_CHIP) { // find the MCS that is associated with this Centaur getParentAffinityTargets (l_targetList, l_target, @@ -124,18 +131,21 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( * @moduleid fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL * @reasoncode fapi::RC_NO_SINGLE_MCS * @userdata1 Number of MCSs + * @userdata2 Membuf HUID * @devdesc fapiGetOtherSideOfMemChannel could not find exactly * one target on the other side of the correct state */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL, fapi::RC_NO_SINGLE_MCS, - l_targetList.size()); + l_targetList.size(), + TARGETING::get_huid(l_target), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); - } else { @@ -143,8 +153,9 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( o_target.set(reinterpret_cast<void *>(l_targetList[0])); } - } else { - + } + else + { FAPI_ERR("fapiGetOtherSideOfMemChannel. target 0x%08x not supported", i_target.getType()); /*@ @@ -152,14 +163,18 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( * @moduleid fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL * @reasoncode fapi::RC_UNSUPPORTED_REQUEST * @userdata1 Requested type + * @userdata2 Unsupported Target HUID * @devdesc fapiGetOtherSideOfMemChannel request for unsupported * or invalid target type */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL, fapi::RC_UNSUPPORTED_REQUEST, - i_target.getType()); + i_target.getType(), + TARGETING::get_huid(l_target), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -179,14 +194,18 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( * @moduleid fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL * @reasoncode fapi::RC_STATE_MISMATCH * @userdata1 Requested state + * @userdata2 Other Target HUID * @devdesc fapiGetOtherSideOfMemChannel target not present or * functional as requested */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL, fapi::RC_STATE_MISMATCH, - i_state); + i_state, + TARGETING::get_huid(l_targetList[0]), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -215,6 +234,10 @@ fapi::ReturnCode fapiGetChildChiplets( fapi::ReturnCode l_rc; o_chiplets.clear(); + // Extract the HostBoot Target pointer for the input chip + TARGETING::Target * l_pChip = + reinterpret_cast<TARGETING::Target*>(i_chip.get()); + // Check that the input target is a chip if (!i_chip.isChip()) { @@ -225,13 +248,17 @@ fapi::ReturnCode fapiGetChildChiplets( * @moduleid fapi::MOD_FAPI_GET_CHILD_CHIPLETS * @reasoncode fapi::RC_INVALID_REQUEST * @userdata1 Type of input target + * @userdata2 Input Target HUID * @devdesc fapiGetChildChiplets request for non-chip */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_CHILD_CHIPLETS, fapi::RC_INVALID_REQUEST, - i_chip.getType()); + i_chip.getType(), + TARGETING::get_huid(l_pChip), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -264,7 +291,6 @@ fapi::ReturnCode fapiGetChildChiplets( { l_type = TARGETING::TYPE_L4; } - else { FAPI_ERR("fapiGetChildChiplets. Chiplet type 0x%08x not supported", @@ -274,24 +300,24 @@ fapi::ReturnCode fapiGetChildChiplets( * @moduleid fapi::MOD_FAPI_GET_CHILD_CHIPLETS * @reasoncode fapi::RC_UNSUPPORTED_REQUEST * @userdata1 Type of requested chiplet + * @userdata2 Input Chip Target HUID * @devdesc fapiGetChildChiplets request for unsupported * or invalid chiplet type */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_CHILD_CHIPLETS, fapi::RC_UNSUPPORTED_REQUEST, - i_chipletType); + i_chipletType, + TARGETING::get_huid(l_pChip), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); } if (!l_rc) { - // Extract the HostBoot Target pointer for the input chip - TARGETING::Target * l_pChip = - reinterpret_cast<TARGETING::Target*>(i_chip.get()); - if (l_pChip == NULL) { FAPI_ERR("fapiGetChildChiplets. Embedded NULL target pointer"); @@ -301,10 +327,12 @@ fapi::ReturnCode fapiGetChildChiplets( * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc Target has embedded null target pointer */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_CHILD_CHIPLETS, - fapi::RC_EMBEDDED_NULL_TARGET_PTR); + fapi::RC_EMBEDDED_NULL_TARGET_PTR, + 0, 0, hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -372,10 +400,12 @@ fapi::ReturnCode fapiGetAssociatedDimms( * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc Target has embedded null target pointer */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_ASSOCIATE_DIMMS, - fapi::RC_EMBEDDED_NULL_TARGET_PTR); + fapi::RC_EMBEDDED_NULL_TARGET_PTR, + 0, 0, hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -432,6 +462,10 @@ fapi::ReturnCode fapiGetParentChip( fapi::ReturnCode l_rc; + // Extract the HostBoot Target pointer for the input chiplet + TARGETING::Target * l_pChiplet = + reinterpret_cast<TARGETING::Target*>(i_chiplet.get()); + // Check that the input target is a chiplet if (!i_chiplet.isChiplet()) { @@ -443,23 +477,23 @@ fapi::ReturnCode fapiGetParentChip( * @moduleid fapi::MOD_FAPI_GET_PARENT_CHIP * @reasoncode fapi::RC_INVALID_REQUEST * @userdata1 Type of input target + * @userdata2 Input Target HUID * @devdesc fapiGetParentChip request for non-chiplet */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_PARENT_CHIP, fapi::RC_INVALID_REQUEST, - i_chiplet.getType()); + i_chiplet.getType(), + TARGETING::get_huid(l_pChiplet), + hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); } else { - // Extract the HostBoot Target pointer for the input chiplet - TARGETING::Target * l_pChiplet = - reinterpret_cast<TARGETING::Target*>(i_chiplet.get()); - if (l_pChiplet == NULL) { /*@ @@ -468,10 +502,12 @@ fapi::ReturnCode fapiGetParentChip( * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc Target has embedded null target pointer */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_PARENT_CHIP, - fapi::RC_EMBEDDED_NULL_TARGET_PTR); + fapi::RC_EMBEDDED_NULL_TARGET_PTR, + 0, 0, hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); @@ -483,18 +519,21 @@ fapi::ReturnCode fapiGetParentChip( if (l_pChip == NULL) { - // One parent chip was not found FAPI_ERR("fapiGetParentChip. Parent not found"); /*@ * @errortype * @moduleid fapi::MOD_FAPI_GET_PARENT_CHIP * @reasoncode fapi::RC_NO_SINGLE_PARENT + * @userdata1 Input Chiplet Target HUID * @devdesc fapiGetParentChip did not find one parent */ + const bool hbSwError = true; errlHndl_t l_pError = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi::MOD_FAPI_GET_PARENT_CHIP, - fapi::RC_NO_SINGLE_PARENT); + fapi::RC_NO_SINGLE_PARENT, + TARGETING::get_huid(l_pChiplet), + 0, hbSwError); // Attach the error log to the fapi::ReturnCode l_rc.setPlatError(reinterpret_cast<void *> (l_pError)); diff --git a/src/usr/hwpf/plat/fapiPlatUtil.C b/src/usr/hwpf/plat/fapiPlatUtil.C index 0aad15fbf..ddff20d94 100644 --- a/src/usr/hwpf/plat/fapiPlatUtil.C +++ b/src/usr/hwpf/plat/fapiPlatUtil.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* COPYRIGHT International Business Machines Corp. 2011,2014 */ /* */ /* p1 */ /* */ @@ -135,25 +135,23 @@ void fapiLogError(fapi::ReturnCode & io_rc, } } -//**************************************************************************** -// platform-level implementation - +//****************************************************************************** +// platIsScanTraceEnabled +//****************************************************************************** bool platIsScanTraceEnabled() { - // TODO: Get the answer from g_fapiScanTd conditional trace buffer. Camvan - // has not pushed the code yet. + // SCAN trace can be dynamically turned on/off, always return true here return 1; } -//**************************************************************************** -// platform-level implementation - -void platSetScanTrace(bool i_enable) -{ - // TODO: enable or disable scan trace via the SCAN trace buffer. Camvan - // has not pushed the code yet. - return; -} +//****************************************************************************** +// platSetScanTrace +// Implementation to be added if needed +//****************************************************************************** +//void platSetScanTrace(bool i_enable) +//{ +// +//} //****************************************************************************** // fapiLoadInitFile |