From 805b043a187851173874341ec748b4c305c6b9e0 Mon Sep 17 00:00:00 2001 From: Mike Jones Date: Thu, 6 Feb 2014 10:28:51 -0600 Subject: 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 Reviewed-by: Andrea Y. Ma Reviewed-by: A. Patrick Williams III --- src/usr/targeting/common/genHwsvMrwXml.pl | 5 ---- .../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 @@ 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. - + + + 0x00 + + non-volatile + ATTR_ALL_MCS_IN_INTERLEAVING_GROUP DIRECT @@ -8248,7 +8257,16 @@ firmware notes: Used as override attribute for pstate procedure MSS_INTERLEAVE_ENABLE - 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. + + 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. + 0x07 @@ -8256,6 +8274,7 @@ firmware notes: Used as override attribute for pstate procedure non-volatile + ATTR_MSS_INTERLEAVE_ENABLE DIRECT -- cgit v1.2.1