summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/plat
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwpf/plat')
-rw-r--r--src/usr/hwpf/plat/fapiPlatAttributeService.C44
-rw-r--r--src/usr/hwpf/plat/fapiPlatHwAccess.C13
-rw-r--r--src/usr/hwpf/plat/fapiPlatMBvpdAccess.C10
-rw-r--r--src/usr/hwpf/plat/fapiPlatMvpdAccess.C8
-rw-r--r--src/usr/hwpf/plat/fapiPlatSystemConfig.C93
-rw-r--r--src/usr/hwpf/plat/fapiPlatUtil.C28
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
OpenPOWER on IntegriCloud