summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornagurram-in <nagendra.g@in.ibm.com>2017-01-20 14:22:37 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-01-20 23:25:45 -0500
commitedea301d5c25b3a305b747c14fe30de79d74b788 (patch)
treef00c1d24ec0d37071e938abb8d011f659f8e2290
parent1335057e33390c0ee3d24b537afc9d9c9dbe0a54 (diff)
downloadtalos-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>
-rw-r--r--src/usr/hdat/hdatpcrd.C14
-rw-r--r--src/usr/hdat/hdatpcrd.H7
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 */
OpenPOWER on IntegriCloud