diff --git a/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H b/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H
index d67b7289b..a6b382e5f 100644
--- a/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H
+++ b/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H
@@ -104,6 +104,9 @@ enum conversions
NIBBLES_PER_BYTE = 2,
BITS_PER_NIBBLE = 4,
BITS_PER_BYTE = 8,
+
+ // Used by exp_decoder.C for dA to cA
+ DECI_TO_CENTI = 10,
};
enum generic_sizes
@@ -200,6 +203,11 @@ enum generic_ffdc_codes
SET_PRIM_BUS_WIDTH = 0x1069,
SET_PRIM_DIE_COUNT = 0x1070,
SET_DRAM_DENSITY = 0x1071,
+
+ // Power thermal functions
+ POWER_LIMIT = 0x1072,
+ SLOPE = 1073,
+ INTERCEPT = 1074,
};
///
diff --git a/src/import/generic/procedures/xml/error_info/generic_error.xml b/src/import/generic/procedures/xml/error_info/generic_error.xml
index e2e06481e..ffaacb72d 100644
--- a/src/import/generic/procedures/xml/error_info/generic_error.xml
+++ b/src/import/generic/procedures/xml/error_info/generic_error.xml
@@ -440,4 +440,233 @@
+
+ RC_MSS_POWER_INTERCEPT_NOT_SET
+
+ The attribute ATTR_MSS_TOTAL_POWER_INTERCEPT was not set and equals 0
+
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_POWER_SLOPE_NOT_SET
+
+ The attribute ATTR_MSS_TOTAL_POWER_INTERCEPT was not set and equals 0
+
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_NO_DATABUS_UTILIZATION
+
+ There are 2 DIMMS on the port but both have 0 databus utilization
+
+ PORT_DATABUS_UTIL
+ DIMM_COUNT
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_CALC_POWER_CURVE_DIVIDE_BY_ZERO
+
+ Denominator equals 0
+
+ PORT_DATABUS_UTIL
+ UTIL_CONVERSION
+ IDLE_UTIL
+ RESULT
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_NO_PORT_POWER_LIMIT
+
+ Got 0 when calculating port power limit.
+ Either no dimms or attribute MEM_WATT_TARGET wasn't set
+
+ COUNT_DIMMS
+ PORT_POWER_LIMIT
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_NO_PORT_POWER
+
+ Got 0 when calculating port power limits using the DIMMs databus utilization
+
+ COUNT_DIMMS
+ MAX_UTILIZATION_DIMM_0
+ MAX_UTILIZATION_DIMM_1
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_M_DRAM_CLOCKS_EQUALS_ZERO
+
+ ATTR_MSS_MRW_MEM_M_DRAM_CLOCKS was not set and equals zero
+
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_CALC_PORT_POWER_EXCEEDS_MAX
+
+ The calculated port power from equalizing throttles exceeds the maximum allowed power
+
+ CALCULATED_PORT_POWER
+ MAX_POWER_ALLOWED
+ PORT_POS
+
+ CODE
+ HIGH
+
+
+
+ PORT_TARGET
+ TARGET_TYPE_DIMM
+
+ MEDIUM
+
+
+
+ PORT_TARGET
+ TARGET_TYPE_DIMM
+
+
+
+
+
+ RC_MSS_SLOT_UTIL_EXCEEDS_PORT
+
+ The memory throttle per slot (DIMM) exceeds the allowed throttle for the port
+
+ SLOT_UTIL
+ PORT_UTIL
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_OUTPUT_OVERFLOW_CALC_UTIL
+
+ Type of output variable is not large enough for the calculations
+
+ RESULT
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_POWER_THERMAL_DECODE_ERROR
+
+ There was no match or value found in decoding the power thermal attributes
+
+ DIMM_TARGET
+ ATTR
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_MRW_SAFEMODE_UTIL_THROTTLE_NOT_SUPPORTED
+
+ The MRW safemode utilization that is less than the minimum utilization supported. Check ATTR_MSS_MRW_SAFEMODE_DRAM_DATABUS_UTIL.
+
+ MRW_SAFEMODE_UTIL
+ MIN_UTIL_VALUE
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_NO_POWER_THERMAL_ATTR_FOUND
+
+ There was no match or value found in decoding the power thermal attributes
+
+ GENERATED_KEY
+ FUNCTION
+ DIMM_TARGET
+ SIZE
+ DRAM_GEN
+ DIMM_TYPE
+ DRAM_WIDTH
+ DRAM_DENSITY
+ STACK_TYPE
+ MFGID
+ MODULE_HEIGHT
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_POWER_THERMAL_ENCODE_ERROR
+
+ There was no match or value found in encoding the power thermal attributes
+
+ DIMM_TARGET
+ ATTR
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_POWER_THERMAL_ATTR_VECTORS_INCORRECT
+
+ The attributes vectors size is incorrect for find_xxx functions
+
+ FUNCTION
+ INPUT_SIZE
+ EXPECTED_SIZE
+
+ CODE
+ HIGH
+
+
+
+
+ RC_MSS_POWER_THERMAL_DIMM_INDEX_OUT_OF_BOUND
+
+ The dimm index is out of bound for the port
+
+ INPUT_SIZE
+ MAX_SIZE
+
+ CODE
+ HIGH
+
+
+