summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Jones <mjjones@us.ibm.com>2014-02-06 10:28:51 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-02-11 16:39:43 -0600
commit805b043a187851173874341ec748b4c305c6b9e0 (patch)
tree2ac17ec5b677f096e0664ee61157e65e3a002c4a /src
parent728296de7f666195fcbae3d35a7ed2add85ad3f5 (diff)
downloadtalos-hostboot-805b043a187851173874341ec748b4c305c6b9e0.tar.gz
talos-hostboot-805b043a187851173874341ec748b4c305c6b9e0.zip
FSP should set up MCS interleaving based on MRW and MTM
Two attributes are involved with MCS interleaving, ATTR_MSS_INTERLEAVE_ENABLE and ALL_MCS_IN_INTERLEAVING_GROUP. These values come from the MRW, but are dependent on Machine-Type-Model (MTM), therefore the FSP will setup these attributes, this change allows the FSP to write the attribute and removes the workaround of setting of ALL_MCS_IN_INTERLEAVING_GROUP to zero in the MRW parsing script Change-Id: I53421048ef4a72a00ffd9e1988395df9761ed8b0 RTC: 66365 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8619 Tested-by: Jenkins Server Reviewed-by: MATTHEW A. PLOETZ <maploetz@us.ibm.com> Reviewed-by: Andrea Y. Ma <ayma@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl5
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml27
2 files changed, 23 insertions, 9 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
index 6aeebfd0a..b101b4bbd 100755
--- a/src/usr/targeting/common/genHwsvMrwXml.pl
+++ b/src/usr/targeting/common/genHwsvMrwXml.pl
@@ -118,10 +118,6 @@ my $reqPol = $sysPolicy->{"required-policy-settings"};
my @systemAttr; # Repeated {ATTR, VAL, ATTR, VAL, ATTR, VAL...}
-#@TODO RTC: 66365
-# Setting ALL_MCS_IN_INTERLEAVING_GROUP to zero. Need to replace with:
-# $reqPol->{'all_mcs_in_interleaving_group"}
-
#No mirroring supported yet so the policy is just based on multi-node or not
my $placement = 0x0; #NORMAL
if ($sysname eq "brazos")
@@ -136,7 +132,6 @@ push @systemAttr,
"FREQ_PROC_REFCLOCK_KHZ",
$reqPol->{'processor-refclock-frequency-khz'}->{content},
"FREQ_MEM_REFCLOCK", $reqPol->{'memory-refclock-frequency'}->{content},
- "ALL_MCS_IN_INTERLEAVING_GROUP", "0",
"BOOT_FREQ_MHZ", $reqPol->{'boot-frequency'}->{content},
"FREQ_A", $reqPol->{'proc_a_frequency'}->{content},
"FREQ_PB", $reqPol->{'proc_pb_frequency'}->{content},
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index c0bbe00db..1537292d4 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -1693,13 +1693,22 @@
<description>
System attribute.
If all MCS chiplets are in an interleaving group (1=true, 0=false).
- If true the SMP fabric is setup in normal mode.
- If false the SMP fabric is setup in checkerboard mode.
+ - If true the SMP fabric is setup in normal mode and multiple MCSs
+ are grouped (disallowing systems with memory only under 1 MCS
+ (i.e. systems with a single C-DIMM))
+ - If false the SMP fabric is setup in checkerboard mode.
Provided by the Machine Readable Workbook.
+ This attribute is based on Machine-Type-Model (MTM) and is setup by
+ the service processor.
</description>
- <simpleType><uint8_t></uint8_t></simpleType>
+ <simpleType>
+ <uint8_t>
+ <default>0x00</default>
+ </uint8_t>
+ </simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_ALL_MCS_IN_INTERLEAVING_GROUP</id>
<macro>DIRECT</macro>
@@ -8248,7 +8257,16 @@ firmware notes: Used as override attribute for pstate procedure
<attribute>
<id>MSS_INTERLEAVE_ENABLE</id>
- <description>Used in the setting of groups. It is a bit vector. If the value BITWISE_AND 1 = 1 then groups of 1 are enabled with special checkerboard modes needed, if the value BITWISE_AND 2 = 2, then groups of 2 are possible; if value BITWISE_AND 4, the groups of 4 are possible; if value BITWISE_AND 8, the groups of 8 are possible. If no groups can formed according to this input, then an error will be thrown.</description>
+ <description>
+ Used in the setting of MCS groups. It is a bitfield.
+ - If 0x01 is set then groups of 1 are enabled and the SMP fabric must
+ be set in checkerboard mode (see ALL_MCS_IN_INTERLEAVING_GROUP).
+ - If 0x02 is set then groups of 2 are possible.
+ - If 0x04 is set then groups of 4 are possible.
+ - If 0x08 is set then groups of 8 are possible.
+ This attribute is based on Machine-Type-Model (MTM) and is setup by
+ the service processor.
+ </description>
<simpleType>
<uint8_t>
<default>0x07</default>
@@ -8256,6 +8274,7 @@ firmware notes: Used as override attribute for pstate procedure
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_MSS_INTERLEAVE_ENABLE</id>
<macro>DIRECT</macro>
OpenPOWER on IntegriCloud