diff options
author | Benjamin Weisenbeck <bweisenb@us.ibm.com> | 2017-08-15 14:52:29 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2017-08-18 10:33:20 -0400 |
commit | 9ca155feadc24bea65773b348683a4664a7d704c (patch) | |
tree | acddcc119eaf8e887d6ca0954d9add59469e44f6 | |
parent | 8bccd97ff90e06497759e23f33d7c235b97457e7 (diff) | |
download | talos-hostboot-9ca155feadc24bea65773b348683a4664a7d704c.tar.gz talos-hostboot-9ca155feadc24bea65773b348683a4664a7d704c.zip |
PRD: Get bitstring data in 32 bit chunks
Change-Id: Id4c91013bdda38ccb9da944c8da914010d23c19f
CQ: SW398985
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44642
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44682
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
-rwxr-xr-x | src/usr/diag/prdf/common/framework/register/prdfHomRegisterAccess.C | 6 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_rt.C | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/usr/diag/prdf/common/framework/register/prdfHomRegisterAccess.C b/src/usr/diag/prdf/common/framework/register/prdfHomRegisterAccess.C index 345286964..a9d2a615a 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfHomRegisterAccess.C +++ b/src/usr/diag/prdf/common/framework/register/prdfHomRegisterAccess.C @@ -175,11 +175,15 @@ uint32_t ScomAccessor::Access(TargetHandle_t i_target, P9_STOP_SECTION_CORE_SCOM : P9_STOP_SECTION_EQ_SCOM; + uint64_t scomVal = + (((uint64_t)bs.getFieldJustify(0, 32)) << 32) | + ((uint64_t)bs.getFieldJustify(32, 32)); + err = RTPM::hcode_update(sec, P9_STOP_SCOM_OR_APPEND, i_target, registerId, - bs.getFieldJustify(0,64)); + scomVal); if( nullptr != err) { PRDF_ERR("[ScomAccessor::Access()] Error in" diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C index c992ee1e9..a53a361bf 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C @@ -400,9 +400,11 @@ int32_t l3LineDelete(TargetHandle_t i_exTgt, ldData.setFieldJustify(12, 5, i_l3_err_data.member); ldData.setFieldJustify(17, 12, i_l3_err_data.hashed_real_address_45_56); + uint64_t scomVal = (((uint64_t)ldData.getFieldJustify(0, 32)) << 32) | + ((uint64_t)ldData.getFieldJustify(32, 32)); + err = RTPM::hcode_update(P9_STOP_SECTION_L3, P9_STOP_SCOM_APPEND, - i_exTgt, 0x1001180E, - ldData.getFieldJustify(0, 64)); + i_exTgt, 0x1001180E, scomVal); if (nullptr != err) { PRDF_ERR( "[PlatServices::l3LineDelete] HUID: 0x%08x hcode_update " @@ -502,9 +504,11 @@ int32_t l2LineDelete(TargetHandle_t i_exTgt, if (i_l2_err_data.bank) ldData.setBit(28); + uint64_t scomVal = (((uint64_t)ldData.getFieldJustify(0, 32)) << 32) | + ((uint64_t)ldData.getFieldJustify(32, 32)); + err = RTPM::hcode_update(P9_STOP_SECTION_L2, P9_STOP_SCOM_APPEND, - i_exTgt, 0x1001080E, - ldData.getFieldJustify(0, 64)); + i_exTgt, 0x1001080E, scomVal); if (nullptr != err) { PRDF_ERR( "[PlatServices::l2LineDelete] HUID: 0x%08x hcode_update " |