diff options
author | nagurram-in <nagendra.g@in.ibm.com> | 2017-01-20 14:22:37 -0600 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-01-20 23:25:45 -0500 |
commit | edea301d5c25b3a305b747c14fe30de79d74b788 (patch) | |
tree | f00c1d24ec0d37071e938abb8d011f659f8e2290 /src/usr/hdat | |
parent | 1335057e33390c0ee3d24b537afc9d9c9dbe0a54 (diff) | |
download | talos-hostboot-edea301d5c25b3a305b747c14fe30de79d74b788.tar.gz talos-hostboot-edea301d5c25b3a305b747c14fe30de79d74b788.zip |
PCRD chip info aloghnment issue due to missing capp func unit data
Change-Id: I12608ae15ab4e1411394e8b6fe539de569d78791
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35177
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Norman K. James <njames@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/hdat')
-rw-r--r-- | src/usr/hdat/hdatpcrd.C | 14 | ||||
-rw-r--r-- | src/usr/hdat/hdatpcrd.H | 7 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/usr/hdat/hdatpcrd.C b/src/usr/hdat/hdatpcrd.C index 11d85bf9a..85e81981b 100644 --- a/src/usr/hdat/hdatpcrd.C +++ b/src/usr/hdat/hdatpcrd.C @@ -777,7 +777,8 @@ errlHndl_t HdatPcrd::hdatSetProcessorInfo( l_pNodeTarget->getAttr<TARGETING::ATTR_ORDINAL_ID>(); //set CAPP functional state - iv_spPcrd->hdatChipData.hdatPcrdCappFunctional = 0; + iv_spPcrd->hdatChipData.hdatPcrdCappFunc_unit0 = 0; + iv_spPcrd->hdatChipData.hdatPcrdCappFunc_unit1 = 0; TARGETING::PredicateCTM l_predCapp(TARGETING::CLASS_UNIT, TARGETING::TYPE_CAPP); TARGETING::TargetHandleList l_predCapplist; @@ -785,13 +786,20 @@ errlHndl_t HdatPcrd::hdatSetProcessorInfo( TARGETING::TargetService::CHILD, TARGETING::TargetService::ALL, &l_predCapp); - if (l_predCapplist.size() > 0) + if (l_predCapplist.size() > 0 ) { TARGETING::Target *l_predCappTarget = l_predCapplist[0]; - iv_spPcrd->hdatChipData.hdatPcrdCappFunctional = + iv_spPcrd->hdatChipData.hdatPcrdCappFunc_unit0 = + isFunctional(l_predCappTarget)?1:0; + } + if (l_predCapplist.size() > 1 ) + { + TARGETING::Target *l_predCappTarget = l_predCapplist[1]; + iv_spPcrd->hdatChipData.hdatPcrdCappFunc_unit1 = isFunctional(l_predCappTarget)?1:0; } + //set supported stop level TARGETING::Target *l_pSysTarget = NULL; (void) TARGETING::targetService().getTopLevelTarget(l_pSysTarget); diff --git a/src/usr/hdat/hdatpcrd.H b/src/usr/hdat/hdatpcrd.H index 8aac19105..62d9bff29 100644 --- a/src/usr/hdat/hdatpcrd.H +++ b/src/usr/hdat/hdatpcrd.H @@ -53,7 +53,7 @@ namespace HDAT #define HDAT_NUM_P7_PCRD_ENTRIES 32 #define HDAT_FULL_MVPD_SIZE 0x10000 -const uint16_t HDAT_PCRD_VERSION = 0x0D; +const uint16_t HDAT_PCRD_VERSION = 0x20; const char HDAT_PCRD_STRUCT_NAME[7] = "SPPCRD"; /** @enum hdatDataPtrs @@ -98,8 +98,9 @@ struct hdatPcrdChipInfo_t uint32_t hdatPcrdFabricId; // 0x0030 Internal Drawer Node ID // (Fabric Id) uint32_t hdatPcrdCcmNodeID; // 0x0034 CCM Node ID - uint32_t hdatPcrdCappFunctional; // 0x0038 Capp functional state - uint32_t hdatPcrdStopLevelSupport; // 0x003C Supported Stop Level + uint32_t hdatPcrdCappFunc_unit0; // 0x0038 Capp functional state unit0 + uint32_t hdatPcrdCappFunc_unit1; // 0x003C Capp functional state unit1 + uint32_t hdatPcrdStopLevelSupport; // 0x0040 Supported Stop Level } __attribute__ ((packed)); /* @brief Defines 'chip time-of-day structure in the PCRD */ |