diff options
author | Mike Jones <mjjones@us.ibm.com> | 2014-02-06 10:28:51 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-02-11 16:39:43 -0600 |
commit | 805b043a187851173874341ec748b4c305c6b9e0 (patch) | |
tree | 2ac17ec5b677f096e0664ee61157e65e3a002c4a | |
parent | 728296de7f666195fcbae3d35a7ed2add85ad3f5 (diff) | |
download | talos-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>
-rwxr-xr-x | src/usr/targeting/common/genHwsvMrwXml.pl | 5 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 27 |
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> |