summaryrefslogtreecommitdiffstats
path: root/src/usr/hdat/hdatmsvpd.C
diff options
context:
space:
mode:
authornagurram-in <nagendra.g@in.ibm.com>2017-07-25 05:46:42 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-22 10:14:53 -0400
commit149582234aedac180b3ec210e773bdfb0867bad7 (patch)
treee5eeecf3312bd85b2bb541bc5904e1f8b2a5bb12 /src/usr/hdat/hdatmsvpd.C
parent6a8caef78b3bd678fa9412c9734f23bc523ad37e (diff)
downloadtalos-hostboot-149582234aedac180b3ec210e773bdfb0867bad7.tar.gz
talos-hostboot-149582234aedac180b3ec210e773bdfb0867bad7.zip
Memory Controller ID addition in HDAT MSAREA structure
Change-Id: I007e3fe76b90d3ca714200cae246fb103bba5d25 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43590 Tested-by: Jenkins Server <pfd-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> Reviewed-by: VENKATESH SAINATH <venkatesh.sainath@in.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/hdat/hdatmsvpd.C')
-rwxr-xr-xsrc/usr/hdat/hdatmsvpd.C21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/usr/hdat/hdatmsvpd.C b/src/usr/hdat/hdatmsvpd.C
index 9b1fd453d..9a488351c 100755
--- a/src/usr/hdat/hdatmsvpd.C
+++ b/src/usr/hdat/hdatmsvpd.C
@@ -604,7 +604,8 @@ errlHndl_t HdatMsVpd::addMsAreaAddr(uint16_t i_msAreaId,
uint32_t i_procChipId,
bool i_rangeIsMirrorable,
uint8_t i_mirroringAlgorithm,
- uint64_t i_startMirrAddr)
+ uint64_t i_startMirrAddr,
+ uint32_t i_hdatMemCntrlID)
{
errlHndl_t l_errlHndl = NULL;
HdatMsArea *l_obj;
@@ -616,7 +617,7 @@ errlHndl_t HdatMsVpd::addMsAreaAddr(uint16_t i_msAreaId,
{
l_obj = HDAT_MS_AREA(i_msAreaId);
l_errlHndl = l_obj->addAddrRange(i_start, i_end, i_procChipId,
- i_rangeIsMirrorable, i_mirroringAlgorithm, l_startMirrAddr);
+ i_rangeIsMirrorable, i_mirroringAlgorithm, l_startMirrAddr, i_hdatMemCntrlID);
}
else
{
@@ -1463,6 +1464,7 @@ errlHndl_t HdatMsVpd::hdatLoadMsData(uint32_t &o_size, uint32_t &o_count)
uint64_t l_hdatMirrorAddr_x = 0x0ull;
uint64_t l_hdatMirrorAddr = 0x0ull;
+ uint32_t l_hdatMemcntrlID = 0x0 ;
uint8_t l_hdatMirrorAlogrithm = 0xFF;
bool l_rangeIsMirrorable = false;
@@ -1515,13 +1517,26 @@ errlHndl_t HdatMsVpd::hdatLoadMsData(uint32_t &o_size, uint32_t &o_count)
}
}
}
+ if(l_pProcTarget->getAttr<TARGETING::ATTR_MODEL>() == TARGETING::MODEL_NIMBUS)
+ {
+ // Set the memory controller ID
+ l_hdatMemcntrlID |= 1 << (31 - l_pMcbistTarget->getAttr<TARGETING::ATTR_CHIP_UNIT>());
+ l_hdatMemcntrlID |= 1 << (31 - (l_pMcsTarget->getAttr<TARGETING::ATTR_CHIP_UNIT>() + 4));
+ l_hdatMemcntrlID |= 1 << (31 - (l_pMcaTarget->getAttr<TARGETING::ATTR_CHIP_UNIT>() + 8));
+ }
+ else if(l_pProcTarget->getAttr<TARGETING::ATTR_MODEL>() == TARGETING::MODEL_CUMULUS)
+ {
+ //TODO : MEmory controller ID for cumulus need to be defined.
+ HDAT_INF("Memory controller ID : 0 since this is Cumulus proc");
+ }
l_err = addMsAreaAddr(l_index,
l_addr_range,
l_end,
l_procChipId,
l_rangeIsMirrorable,
l_hdatMirrorAlogrithm,
- l_hdatMirrorAddr);
+ l_hdatMirrorAddr,
+ l_hdatMemcntrlID);
if(NULL != l_err)
{
HDAT_ERR("Error in adding addMsAreaAddr"
OpenPOWER on IntegriCloud