diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2019-08-12 18:00:17 -0500 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-08-14 09:35:01 -0500 |
commit | 0f996208dcce6fc23074b15a453fb82768377e3d (patch) | |
tree | d471e5e7f54af4fb83ca91b138c4680f9c725da9 /src/usr/hdat | |
parent | c98af339b789ba503cde31038d449b73f4774b40 (diff) | |
download | talos-hostboot-0f996208dcce6fc23074b15a453fb82768377e3d.tar.gz talos-hostboot-0f996208dcce6fc23074b15a453fb82768377e3d.zip |
Use REL_POS of OMI and not OCMB for calculating hdat DIMM ID's
There is a bug in the code where we are attempting to lookup the
REL_POS of an ocmb target while trying to generate the id hdat will
use to uniquely identify a given dimm target. OCMB targets do not
have the REL_POS attribute and if they did it would always be 0,
or it would match the associated DIMM's REL_POS (for single dimm
ocmbs at least). Instead we will use the OMI's REL_POS which should
work because OMI's are 1-1 with OCMB targets.
Change-Id: Ib22307c7f4c2d97a5368fd507fe7b4965135c76e
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82120
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Jayashankar Padath <jayashankar.padath@in.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G Hoffa <wghoffa@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/hdat')
-rwxr-xr-x | src/usr/hdat/hdatmsvpd.C | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/usr/hdat/hdatmsvpd.C b/src/usr/hdat/hdatmsvpd.C index 711900766..fb86e10bd 100755 --- a/src/usr/hdat/hdatmsvpd.C +++ b/src/usr/hdat/hdatmsvpd.C @@ -2030,11 +2030,11 @@ errlHndl_t HdatMsVpd::hdatLoadMsData(uint32_t &o_size, uint32_t &o_count) uint32_t l_dimmId = 0; l_dimmId |= - 1 << (31 - l_pOcmbTarget->getAttr - <TARGETING::ATTR_REL_POS>()); + 1 << (31 - l_pOmiTarget->getAttr + <TARGETING::ATTR_CHIP_UNIT>()); l_dimmId |= 1 << (31 - (l_pmemPortTarget->getAttr - <TARGETING::ATTR_REL_POS>()+16)); + <TARGETING::ATTR_CHIP_UNIT>()+16)); l_dimmId |= 1 << (31 - (l_pDimmTarget->getAttr <TARGETING::ATTR_REL_POS>()+20)); |