diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2019-05-10 09:03:35 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-05-13 12:19:31 -0500 |
commit | cb99413cc04a29b9a11c078a1a38f174035d36c2 (patch) | |
tree | 9e8d0b2d169d7fa0278cbb19fcef843f41ebad64 /src/usr | |
parent | f83005325604106a140cfc3f3673165a36b93b7e (diff) | |
download | talos-hostboot-cb99413cc04a29b9a11c078a1a38f174035d36c2.tar.gz talos-hostboot-cb99413cc04a29b9a11c078a1a38f174035d36c2.zip |
Add logic to compute MSS_MRW_NVDIMM_SLOT_POSITION for ZZ
There are a variety of ways to number dimms. For NVDIMMs there
is a system property that defines which positions we are allowed
to install the dimms in (ATTR_MSS_MRW_NVDIMM_PLUG_RULES). Because
of the inconsistent numbering schemes we have explicitly defined
a new attribute on the dimm that corresponds to the system plug
rules.
Change-Id: If935e29eb108a6a922d8c1f7c69fdc12580c5958
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77239
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>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rwxr-xr-x | src/usr/targeting/common/genHwsvMrwXml.pl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl index 1632b1cfc..c6b185426 100755 --- a/src/usr/targeting/common/genHwsvMrwXml.pl +++ b/src/usr/targeting/common/genHwsvMrwXml.pl @@ -6077,6 +6077,14 @@ sub generate_is_dimm my $uidstr = sprintf( "0x%02X03%04X", $node, $dimm_rel_node ); + # Generate the slot position for mvdimm restrictions + # The formula is: + # [processor position with no gaps, i.e. 0,1,2,3]*16 + + # [mca position on this processor * 2] + [dimm location behind this mca] + my $nvdimmslot = ($proc * MAX_MCA_PER_PROC * ARCH_LIMIT_DIMM_PER_MCA) + + ($mca * 2) + ($dimm_rel_mca); + + # add dimm to mcbist array push(@{$mcbist_dimms{$node . $proc."_".$mcb_rel_proc}}, "n${node}:p${pos}"); @@ -6117,6 +6125,10 @@ sub generate_is_dimm <default>$dimm_drop</default> </attribute> <attribute> + <id>MSS_MRW_NVDIMM_SLOT_POSITION</id> + <default>$nvdimmslot</default> + </attribute> + <attribute> <id>POS_ON_MEM_PORT</id> <default>$dimm_rel_mca</default> </attribute>"; |