summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNorman James <njames@us.ibm.com>2014-10-02 15:55:25 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-11-06 17:14:59 -0600
commit33ab870c6afe56f3bc5a23289b00df5d984a176e (patch)
tree9fc134b1083a40f0099533cf0183e1365e825412 /src
parentc25b22155f5a4bf03b7bd2cba456051f79451b5c (diff)
downloadtalos-hostboot-33ab870c6afe56f3bc5a23289b00df5d984a176e.tar.gz
talos-hostboot-33ab870c6afe56f3bc5a23289b00df5d984a176e.zip
Added processing of optional power management attributes
under open-power tags Change-Id: I3ed36cf37189669978af171b26cb129b879ed1b1 RTC: 116208 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13738 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/targeting/common/genHwsvMrwXml.pl10
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types_hb.xml160
-rw-r--r--src/usr/targeting/common/xmltohb/target_types_hb.xml32
3 files changed, 78 insertions, 124 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
index 25e9f4843..30c2830c4 100644
--- a/src/usr/targeting/common/genHwsvMrwXml.pl
+++ b/src/usr/targeting/common/genHwsvMrwXml.pl
@@ -51,6 +51,8 @@ use strict;
use XML::Simple;
use Data::Dumper;
+
+
################################################################################
# Set PREFERRED_PARSER to XML::Parser. Otherwise it uses XML::SAX which contains
# bugs that result in XML parse errors that can be fixed by adjusting white-
@@ -318,6 +320,14 @@ foreach my $policy ( keys %optTargPolicies )
$optMrwPolicies->{$optTargPolicies{$policy}{MRW_NAME}}];
}
}
+#OpenPOWER policies
+foreach my $policy (keys %{$optMrwPolicies->{"open_power"}})
+{
+ push(@systemAttr,[ uc($policy),
+ $optMrwPolicies->{"open_power"}->{$policy} ] );
+}
+
+
#------------------------------------------------------------------------------
# Process the pm-settings MRW file
diff --git a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
index ab7df54d6..f9520e632 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
@@ -358,238 +358,182 @@
<writeable/>
<hbOnly/>
</attribute>
-
-<!-- TODO RTC 115386
-Final values for the following HTMG attributes will come from the MRW -->
<attribute>
- <id>N_PLUS_ONE_BULK_POWER_LIMIT_WATTS</id>
+ <id>OPEN_POWER_DIMM_THROTTLE_TEMP_DEG_C</id>
<description>
- System power cap with redundant power.
+ DIMM temperature threshold where throttling will
+ occur in degrees C
</description>
<simpleType>
- <uint16_t>
- <default>2400</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>N_PLUS_ONE_MAX_MEM_POWER_WATTS</id>
+ <id>OPEN_POWER_DIMM_ERROR_TEMP_DEG_C</id>
<description>
- The amount of N+1 Bulk Power to allocate to memory. The value will be
- used to calculate memory throttles to cap memory to this value.
+ DIMM temperature where an error will be generated
+ in degrees C
</description>
<simpleType>
- <uint16_t>
- <default>500</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>N_BULK_POWER_LIMIT_WATTS</id>
+ <id>OPEN_POWER_MEMCTRL_THROTTLE_TEMP_DEG_C</id>
<description>
- System power cap in oversubscription.
+ Memory controller temperature threshold
+ where throttling will occur in degrees C
</description>
<simpleType>
- <uint16_t>
- <default>1200</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>N_MAX_MEM_POWER_WATTS</id>
+ <id>OPEN_POWER_PROC_DVFS_TEMP_DEG_C</id>
<description>
- The amount of N bulk power to allocate to memory. This value will be
- used to calculate memory throttles to cap memroy to this value and
- used when system is in oversubscription.
+ Processor temperature where DVFS will occur in degrees C
</description>
<simpleType>
- <uint16_t>
- <default>500</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>REGULATOR_EFFICIENCY_FACTOR</id>
+ <id>OPEN_POWER_MEMCTRL_ERROR_TEMP_DEG_C</id>
<description>
- Percentage to lower N+1 maximum memory power and N maximum memory
- power to account for regulator loss.
+ Memory controller temperature where an error will occur
+ in degrees C
</description>
<simpleType>
- <uint8_t>
- <default>85</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>MIN_POWER_CAP_WATTS</id>
+ <id>OPEN_POWER_N_BULK_POWER_LIMIT_WATTS</id>
<description>
- Lowest power cap that a user may set and the OCC can guarantee to hold
- via processor DVFS under all conditions.
+ N mode bulk power supply limit in Watts
</description>
<simpleType>
- <uint16_t>
- <default>2100</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>MIN_MEM_UTILIZATION_THROTTLING</id>
+ <id>OPEN_POWER_N_MAX_MEM_POWER_WATTS</id>
<description>
- Gives the OCCs a lower limit on how far they throttle
- memory due to a memory over temp condtion.
+ Maximum power allocated to DIMMs in Watts
</description>
<simpleType>
- <uint8_t>
- <default>5</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>PROC_DVFS_TEMP_DEG_C</id>
+ <id>OPEN_POWER_MEMCTRL_READ_TIMEOUT_SEC</id>
<description>
- Processor temperature to invoke DVFS.
+ Memory controller read timeout in seconds
</description>
<simpleType>
- <uint8_t>
- <default>85</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>PROC_ERROR_TEMP_DEG_C</id>
+ <id>OPEN_POWER_DIMM_READ_TIMEOUT_SEC</id>
<description>
- Processor temperature to log on error calling out the processor.
+ DIMM read timeout in seconds
</description>
<simpleType>
- <uint8_t>
- <default>95</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>PROC_READ_TIMEOUT_SEC</id>
+ <id>OPEN_POWER_PROC_ERROR_TEMP_DEG_C</id>
<description>
- Maximum time allowed without having a new processor temperature
- reading before DVFS will occur.
+ Processor temperature error threshold in degrees C
</description>
<simpleType>
- <uint16_t>
- <default>5</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>MEMCTRL_THROTTLE_TEMP_DEG_C</id>
+ <id>OPEN_POWER_MIN_MEM_UTILIZATION_THROTTLING</id>
<description>
- Memory controller temperature to invoke memory throttling.
+ Minimum memory utilization for memory throttling
</description>
<simpleType>
- <uint8_t>
- <default>89</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>MEMCTRL_ERROR_TEMP_DEG_C</id>
+ <id>OPEN_POWER_PROC_READ_TIMEOUT_SEC</id>
<description>
- Memory controller temperature to log an error calling out the memory
- controller.
+ Processor read timeout in seconds
</description>
<simpleType>
- <uint8_t>
- <default>99</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>MEMCTRL_READ_TIMEOUT_SEC</id>
+ <id>OPEN_POWER_REGULATOR_EFFICIENCY_FACTOR</id>
<description>
- Maximum time allowed without having a new temperature reading from the
- memory controller before throttling will occur.
+ Regulator efficiency factor
</description>
<simpleType>
- <uint16_t>
- <default>30</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>DIMM_THROTTLE_TEMP_DEG_C</id>
+ <id>OPEN_POWER_MIN_POWER_CAP_WATTS</id>
<description>
- DIMM temperature to invoke memory throttling.
+ Minimum power cap in Watts
</description>
<simpleType>
- <uint8_t>
- <default>79</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>DIMM_ERROR_TEMP_DEG_C</id>
+ <id>OPEN_POWER_N_PLUS_ONE_BULK_POWER_LIMIT_WATTS</id>
<description>
- DIMM termperature to log na error calling out the DIMM.
+ N+1 bulk power limit in Watts
</description>
<simpleType>
- <uint8_t>
- <default>96</default>
- </uint8_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
<attribute>
- <id>DIMM_READ_TIMEOUT_SEC</id>
+ <id>OPEN_POWER_N_PLUS_ONE_MAX_MEM_POWER_WATTS</id>
<description>
- Maximum time allowed without having a new Temperature reading from a
- DIMM before throttling will occur.
+ N+1 max memory power in Watts
</description>
<simpleType>
- <uint16_t>
- <default>30</default>
- </uint16_t>
+ <uint64_t></uint64_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
diff --git a/src/usr/targeting/common/xmltohb/target_types_hb.xml b/src/usr/targeting/common/xmltohb/target_types_hb.xml
index fd662b5b6..91db89c41 100644
--- a/src/usr/targeting/common/xmltohb/target_types_hb.xml
+++ b/src/usr/targeting/common/xmltohb/target_types_hb.xml
@@ -38,28 +38,28 @@
<attribute><id>IBSCOM_ENABLE_OVERRIDE</id></attribute>
<attribute><id>HB_MUTEX_TEST_LOCK</id></attribute>
<attribute><id>HB_EXISTING_IMAGE</id></attribute>
- <attribute><id>N_PLUS_ONE_BULK_POWER_LIMIT_WATTS</id></attribute>
- <attribute><id>N_PLUS_ONE_MAX_MEM_POWER_WATTS</id></attribute>
- <attribute><id>N_BULK_POWER_LIMIT_WATTS</id></attribute>
- <attribute><id>N_MAX_MEM_POWER_WATTS</id></attribute>
- <attribute><id>REGULATOR_EFFICIENCY_FACTOR</id></attribute>
- <attribute><id>MIN_POWER_CAP_WATTS</id></attribute>
- <attribute><id>MIN_MEM_UTILIZATION_THROTTLING</id></attribute>
- <attribute><id>PROC_DVFS_TEMP_DEG_C</id></attribute>
- <attribute><id>PROC_ERROR_TEMP_DEG_C</id></attribute>
- <attribute><id>PROC_READ_TIMEOUT_SEC</id></attribute>
- <attribute><id>MEMCTRL_THROTTLE_TEMP_DEG_C</id></attribute>
- <attribute><id>MEMCTRL_ERROR_TEMP_DEG_C</id></attribute>
- <attribute><id>MEMCTRL_READ_TIMEOUT_SEC</id></attribute>
- <attribute><id>DIMM_THROTTLE_TEMP_DEG_C</id></attribute>
- <attribute><id>DIMM_ERROR_TEMP_DEG_C</id></attribute>
- <attribute><id>DIMM_READ_TIMEOUT_SEC</id></attribute>
<attribute><id>ADC_CHANNEL_FUNC_IDS</id></attribute>
<attribute><id>ADC_CHANNEL_GNDS</id></attribute>
<attribute><id>ADC_CHANNEL_GAINS</id></attribute>
<attribute><id>ADC_CHANNEL_OFFSETS</id></attribute>
<attribute><id>APSS_GPIO_PORT_MODES</id></attribute>
<attribute><id>APSS_GPIO_PORT_PINS</id></attribute>
+ <attribute><id>OPEN_POWER_DIMM_THROTTLE_TEMP_DEG_C</id></attribute>
+ <attribute><id>OPEN_POWER_DIMM_ERROR_TEMP_DEG_C</id></attribute>
+ <attribute><id>OPEN_POWER_MEMCTRL_THROTTLE_TEMP_DEG_C</id></attribute>
+ <attribute><id>OPEN_POWER_PROC_DVFS_TEMP_DEG_C</id></attribute>
+ <attribute><id>OPEN_POWER_MEMCTRL_ERROR_TEMP_DEG_C</id></attribute>
+ <attribute><id>OPEN_POWER_N_BULK_POWER_LIMIT_WATTS</id></attribute>
+ <attribute><id>OPEN_POWER_N_MAX_MEM_POWER_WATTS</id></attribute>
+ <attribute><id>OPEN_POWER_MEMCTRL_READ_TIMEOUT_SEC</id></attribute>
+ <attribute><id>OPEN_POWER_DIMM_READ_TIMEOUT_SEC</id></attribute>
+ <attribute><id>OPEN_POWER_PROC_ERROR_TEMP_DEG_C</id></attribute>
+ <attribute><id>OPEN_POWER_MIN_MEM_UTILIZATION_THROTTLING</id></attribute>
+ <attribute><id>OPEN_POWER_PROC_READ_TIMEOUT_SEC</id></attribute>
+ <attribute><id>OPEN_POWER_REGULATOR_EFFICIENCY_FACTOR</id></attribute>
+ <attribute><id>OPEN_POWER_MIN_POWER_CAP_WATTS</id></attribute>
+ <attribute><id>OPEN_POWER_N_PLUS_ONE_BULK_POWER_LIMIT_WATTS</id></attribute>
+ <attribute><id>OPEN_POWER_N_PLUS_ONE_MAX_MEM_POWER_WATTS</id></attribute>
</targetTypeExtension>
<targetTypeExtension>
OpenPOWER on IntegriCloud