summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/usr/isteps/istep06/call_host_voltage_config.C10
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml6
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml2
3 files changed, 10 insertions, 8 deletions
diff --git a/src/usr/isteps/istep06/call_host_voltage_config.C b/src/usr/isteps/istep06/call_host_voltage_config.C
index 0a3149a16..a939eee85 100644
--- a/src/usr/isteps/istep06/call_host_voltage_config.C
+++ b/src/usr/isteps/istep06/call_host_voltage_config.C
@@ -415,13 +415,15 @@ void* call_host_voltage_config( void *io_pArgs )
l_sys->setAttr<ATTR_NOMINAL_FREQ_MHZ>( l_nominalFreq );
// raise the min freq if there is a system policy for it
- uint32_t l_dpoPercent = l_sys->getAttr<ATTR_DPO_MIN_FREQ_PERCENT>();
+ int32_t l_dpoPercent = l_sys->getAttr<ATTR_DPO_MIN_FREQ_PERCENT>();
uint32_t l_dpoFreq = l_nominalFreq;
- if( (l_dpoPercent != 0) && (l_dpoPercent < 100) )
+ if( (l_dpoPercent != 0) && (l_dpoPercent > -100) )
{
- l_dpoFreq = (l_nominalFreq*l_dpoPercent)/100;
+ uint32_t l_multiplierPercent =
+ static_cast<uint32_t>(100 + l_dpoPercent);
+ l_dpoFreq = (l_nominalFreq*l_multiplierPercent)/100;
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "Computed floor=%d, DPO=%d (percent=-%d)",
+ "Computed floor=%d, DPO=%d (percent=%d)",
l_floorFreq, l_dpoFreq, l_dpoPercent );
l_floorFreq = std::max( l_floorFreq, l_dpoFreq );
}
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index ac779bba6..6f764c6e2 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -2657,13 +2657,13 @@
is used to explicitly raise the value of MIN_FREQ_MHZ above
what is specified by MVPD #V data. On FSP systems this
is sourced from the power_management def file.
- Value must be between 0 and 100.
+ Value must be between 0 and -100.
A value of zero indicates no override.
</description>
<simpleType>
- <uint32_t>
+ <int32_t>
<default>0</default>
- </uint32_t>
+ </int32_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
index 962aaf29d..37befea8e 100644
--- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
@@ -99,7 +99,7 @@
</attribute>
<attribute>
<id>DPO_MIN_FREQ_PERCENT</id>
- <default>98</default>
+ <default>-2</default>
</attribute>
<attribute>
<id>REQUIRED_SYNCH_MODE</id>
OpenPOWER on IntegriCloud