diff options
Diffstat (limited to 'src/import/chips')
11 files changed, 255 insertions, 175 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C b/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C index eb1cb3661..7ef64d723 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -30,7 +30,7 @@ // *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> // *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: HB:FSP #include <vector> @@ -169,8 +169,10 @@ bool deconfigure(const fapi2::Target<TARGET_TYPE_MCBIST>& i_target, .set_MSS_FREQ(i_dimm_speed) .set_NEST_FREQ(i_nest_freq) .set_MCS_TARGET(l_mcs), - "Deconfiguring %s", - mss::c_str(l_mcs) ); + "Deconfiguring %s due to unequal frequencies: mss: %d, nest: %d", + mss::c_str(l_mcs), + i_dimm_speed, + i_nest_freq ); }// end for }// end if @@ -280,8 +282,11 @@ fapi2::ReturnCode select_sync_mode(const std::map< fapi2::Target<TARGET_TYPE_MCB break; default: + // Switches on an enum class + // The only valid speed_equality values are NOT_EQUAL and EQUAL. + // If it's something else ,I think it's a code error and really shouldn't be possible, thus fapi2::Assert below FAPI_ERR("Invalid speed_equality parameter!"); - return fapi2::FAPI2_RC_INVALID_PARAMETER; + fapi2::Assert(false); break; }// end switch @@ -362,7 +367,7 @@ fapi2::ReturnCode supported_freqs_helper(const fapi2::Target<TARGET_TYPE_MCS>& i io_freqs.clear(); // This magic number isn't the number of frequencies supported by the hardware, it's the number - // of frequencies in the attribute or VPD. They may be different (see *1 below) + // of frequencies in the attribute or VPD. They may be different if (i_freqs.size() != NUM_VPD_FREQS) { FAPI_ERR("incorrect number of frequencies for %s (%d)", mss::c_str(i_target), i_freqs.size()); @@ -372,7 +377,7 @@ fapi2::ReturnCode supported_freqs_helper(const fapi2::Target<TARGET_TYPE_MCS>& i FAPI_INF("unsorted supported freqs %d %d %d %d", i_freqs[0], i_freqs[1], i_freqs[2], i_freqs[3]); - // (*1) This is the number of elelments in the max_allowed_dimm_freq attribute, not the frequencies of + // This is the number of elements in the max_allowed_dimm_freq attribute, not the frequencies of // the system. Hence the magic number. if (i_max_freqs.size() != NUM_MAX_FREQS) { @@ -389,12 +394,13 @@ fapi2::ReturnCode supported_freqs_helper(const fapi2::Target<TARGET_TYPE_MCS>& i const auto l_dimms = mss::find_targets<TARGET_TYPE_DIMM>(p); uint64_t l_dimms_on_port = l_dimms.size(); - // Just a quick check but we're in deep yogurt if this triggers - if (l_dimms_on_port > MAX_DIMM_PER_PORT) - { - FAPI_ERR("seeing %d DIMM on port %s", l_dimms_on_port, mss::c_str(p)); - fapi2::Assert(false); - } + FAPI_ASSERT( (l_dimms_on_port <= MAX_DIMM_PER_PORT), + fapi2::MSS_TOO_MANY_DIMMS_ON_PORT() + .set_DIMM_COUNT(l_dimms_on_port) + .set_MCA_TARGET(p), + "Seeing %d DIMM on port %s", + l_dimms_on_port, + mss::c_str(p)); for (const auto& d : l_dimms) { @@ -404,11 +410,13 @@ fapi2::ReturnCode supported_freqs_helper(const fapi2::Target<TARGET_TYPE_MCS>& i FAPI_TRY( mss::eff_num_master_ranks_per_dimm(d, l_num_master_ranks) ); // Just a quick check but we're in deep yogurt if this triggers - if (l_num_master_ranks > MAX_PRIMARY_RANKS_PER_PORT) - { - FAPI_ERR("seeing %d primary ranks on DIMM %s", l_num_master_ranks, mss::c_str(d)); - fapi2::Assert(false); - } + FAPI_ASSERT( (l_num_master_ranks <= MAX_RANK_PER_DIMM), + fapi2::MSS_TOO_MANY_PRIMARY_RANKS_ON_DIMM() + .set_RANK_COUNT(l_num_master_ranks) + .set_DIMM_TARGET(p), + "seeing %d primary ranks on DIMM %s", + l_dimms_on_port, + mss::c_str(d)); FAPI_INF("%s rank config %d drop %d yields max freq attribute index of %d (%d)", mss::c_str(d), l_num_master_ranks, l_dimms_on_port, @@ -417,13 +425,15 @@ fapi2::ReturnCode supported_freqs_helper(const fapi2::Target<TARGET_TYPE_MCS>& i l_index = l_indexes[l_dimms_on_port - 1][l_num_master_ranks - 1]; - // Just a quick check but we're in deep yogurt if this triggers - if (l_index > NUM_MAX_FREQS) - { - FAPI_ERR("seeing %d index for %d DIMM and %d ranks on DIMM %s", - l_index, l_dimms_on_port, l_num_master_ranks, mss::c_str(d)); - fapi2::Assert(false); - } + FAPI_ASSERT( (l_index < NUM_MAX_FREQS), + fapi2::MSS_FREQ_INDEX_TOO_LARGE() + .set_INDEX(l_index) + .set_NUM_MAX_FREQS(NUM_MAX_FREQS), + "seeing %d index for %d DIMM and %d ranks on DIMM %s", + l_index, + l_dimms_on_port, + l_num_master_ranks, + mss::c_str(d)); l_our_max_freq = std::min(l_our_max_freq, i_max_freqs[l_index]); } @@ -460,7 +470,7 @@ fapi2::ReturnCode supported_freqs_helper(const fapi2::Target<TARGET_TYPE_MCS>& i // Sort it so we know supported min is io_freq.begin and supported max is io_freq.end - 1 std::sort(io_freqs.begin(), io_freqs.end()); - // If we have an empty set, we have a pro'lem + // If we have an empty set, we have a problem FAPI_ASSERT(io_freqs.size() != 0, fapi2::MSS_VPD_FREQ_MAX_FREQ_EMPTY_SET() .set_MSS_VPD_FREQ_0(i_freqs[0]) @@ -487,7 +497,7 @@ fapi_try_exit: /// @param[in] reference to a std::vector<uint32_t> of freqs /// @return bool, true iff input freq is supported /// -fapi2::ReturnCode is_freq_supported(const uint32_t i_freq, const std::vector<uint32_t>& i_freqs) +bool is_freq_supported(const uint32_t i_freq, const std::vector<uint32_t>& i_freqs) { return std::binary_search(i_freqs.begin(), i_freqs.end(), i_freq); } diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.H b/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.H index beae6c17a..15f926c1b 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/freq/sync.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -29,7 +29,7 @@ // *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> // *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: HB:FSP #ifndef _MSS_SYNC_H_ @@ -124,7 +124,7 @@ fapi2::ReturnCode supported_freqs(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i /// @param[in] reference to a std::vector<uint32_t> of freqs /// @return bool, true iff input freq is supported /// -fapi2::ReturnCode is_freq_supported(const uint32_t i_freq, const std::vector<uint32_t>& i_freqs); +bool is_freq_supported(const uint32_t i_freq, const std::vector<uint32_t>& i_freqs); }// mss diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H index 62651ccf5..35e145c54 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -30,7 +30,7 @@ // *HWP HWP Owner: Brian Silver <bsilver@us.ibm.com> // *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: HB:FSP #ifndef _MSS_COUNT_DIMM_H_ diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.C index 713dff705..9342a9d1c 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -30,7 +30,7 @@ // *HWP HWP Owner: Andre A. Marin <aamarin@us.ibm.com> // *HWP FW Owner: Brian Silver <bsilver@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: FSP:HB #include <vector> #include <map> @@ -64,12 +64,12 @@ extern "C" // attributes for the PHY, etc. If there is even one DIMM on any of this list of MCBIST, // we do the right thing. uint64_t l_dimm_count = 0; - std::for_each( i_targets.begin(), i_targets.end(), + std::for_each( i_targets.begin(), + i_targets.end(), [&l_dimm_count](const fapi2::Target<TARGET_TYPE_MCBIST>& i_target) { l_dimm_count += mss::count_dimm(i_target); - } - ); + } ); if (l_dimm_count == 0) { diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.H b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.H index 2ffa262c9..da847e7ff 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.H +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq_system.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -30,7 +30,7 @@ // *HWP HWP Owner: Andre A. Marin <aamarin@us.ibm.com> // *HWP FW Owner: Brian Silver <bsilver@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: FSP:HB #ifndef FREQ_SYSTEM_H_ diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C index 4673896ef..fcaa3f305 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -31,7 +31,7 @@ // *HWP HWP Backup: Andre A. Marin <aamarin@us.ibm.com> // *HWP FW Owner: Brian Silver <bsilver@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: FSP:HB #include <p9_mss_volt.H> @@ -61,12 +61,11 @@ using fapi2::FAPI2_RC_SUCCESS; extern "C" { - -/// -/// @brief Calculate and save off rail voltages -/// @param[in] i_targets vector of controllers (e.g., MCS) -/// @return FAPI2_RC_SUCCESS iff ok -/// + /// + /// @brief Calculate and save off rail voltages + /// @param[in] i_targets vector of controllers (e.g., MCS) + /// @return FAPI2_RC_SUCCESS iff ok + /// fapi2::ReturnCode p9_mss_volt( const std::vector< fapi2::Target<TARGET_TYPE_MCS> >& i_targets ) { // Loop through MCS @@ -82,7 +81,7 @@ extern "C" // Get dimms for each MCS for ( const auto& l_dimm : mss::find_targets<TARGET_TYPE_DIMM> (l_mcs)) { - const auto& l_dimm_pos = mss::pos(l_dimm); + const auto l_dimm_pos = mss::pos(l_dimm); // Find decoder factory for this dimm position auto l_it = l_factory_caches.find(l_dimm_pos); @@ -117,8 +116,8 @@ extern "C" // Set the attributes for this MCS, values are in mss_const.H // TK : will need to change attribute target according to voltage rails in the future FAPI_TRY (mss::set_voltage_attributes (l_mcs, - uint64_t(mss::DDR4_NOMINAL_VOLTAGE), - uint64_t(mss::DDR4_VPP_VOLTAGE)), + mss::DDR4_NOMINAL_VOLTAGE, + mss::DDR4_VPP_VOLTAGE), "Failed to set volt attributes"); } // mcs diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.H b/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.H index 15a75a1a6..dd3257d22 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.H +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -31,7 +31,7 @@ // *HWP HWP Backup: Andre A. Marin <aamarin@us.ibm.com> // *HWP FW Owner: Brian Silver <bsilver@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: FSP:HB #ifndef MSS_VOLT_H_ diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml index 51d7a8e8c..fe18b55a2 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config.xml @@ -24,13 +24,13 @@ <!-- IBM_PROLOG_END_TAG --> <!-- --> -<!-- @file memory_mss_timing.xml --> +<!-- @file memory_mss_eff_config.xml --> <!-- @brief Error xml for timing.H --> <!-- --> <!-- *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> --> <!-- *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> --> <!-- *HWP Team: Memory --> -<!-- *HWP Level: 1 --> +<!-- *HWP Level: 2 --> <!-- *HWP Consumed by: HB:FSP --> <!-- --> @@ -131,115 +131,6 @@ </hwpError> <hwpError> - <rc>RC_MSS_NO_POWER_THERMAL_ATTR_FOUND</rc> - <description> - There was no match or value found in decoding the power thermal attributes - </description> - <ffdc>GENERATED_KEY</ffdc> - <callout> - <target>DIMM_TARGET</target> - <priority>HIGH</priority> - </callout> - <deconfigure> - <target>DIMM_TARGET</target> - </deconfigure> - </hwpError> - - <hwpError> - <rc>RC_MSS_NO_DATABUS_UTILIZATION</rc> - <description> - There are 2 DIMMS on the port but both have 0 databus utilization - </description> - <ffdc>PORT_DATABUS_UTIL</ffdc> - <callout> - <target>MCA_TARGET</target> - <priority>HIGH</priority> - </callout> - <deconfigure> - <target>MCA_TARGET</target> - </deconfigure> - </hwpError> - - <hwpError> - <rc>RC_MSS_CALC_POWER_CURVE_DIVIDE_BY_ZERO</rc> - <description> - Denominator equals 0 - </description> - <ffdc>PORT_DATABUS_UTIL</ffdc> - <ffdc>UTIL_CONVERSION</ffdc> - <ffdc>IDLE_UTIL</ffdc> - <callout> - <target>MCA_TARGET</target> - <priority>HIGH</priority> - </callout> - <deconfigure> - <target>MCA_TARGET</target> - </deconfigure> - </hwpError> - - <hwpError> - <rc>RC_MSS_CALC_PORT_POWER_EXCEEDS_MAX</rc> - <description> - The calculated port power from equalizing throttles exceeds the maximum allowed power - </description> - <ffdc>CALCULATED_PORT_POWER</ffdc> - <ffdc>MAX_POWER_ALLOWED</ffdc> - <ffdc>PORT_POS</ffdc> - <callout> - <procedure>CODE</procedure> - <priority>HIGH</priority> - </callout> - <callout> - <childTargets> - <parent>MCA_TARGET</parent> - <childType>TARGET_TYPE_DIMM</childType> - <childNumber>EX_NUMBER_IN_ERROR</childNumber> - </childTargets> - <priority>MEDIUM</priority> - </callout> - <deconfigure> - <childTargets> - <parent>MCA_TARGET</parent> - <childType>TARGET_TYPE_DIMM</childType> - <childNumber>EX_NUMBER_IN_ERROR</childNumber> - </childTargets> - </deconfigure> - </hwpError> - <hwpError> - <rc>RC_MSS_SLOT_UTIL_EXCEEDS_PORT</rc> - <description> - The memory throttle per slot (DIMM) exceeds the allowed throttle for the port - </description> - <ffdc>SLOT_UTIL</ffdc> - <ffdc>PORT_UTIL</ffdc> - <callout> - <procedure>CODE</procedure> - <priority>HIGH</priority> - </callout> - <deconfigure> - <target>MCA_TARGET</target> - </deconfigure> - </hwpError> - - <hwpError> - <rc>RC_MSS_SPLIT_UTIL_CALC_ERROR</rc> - <description> - Error when splitting up the memory port's utilization - </description> - <ffdc>MAX_TOTAL_UTIL</ffdc> - <ffdc>DIMM_COUNT</ffdc> - <ffdc>SLOT_UTIL</ffdc> - <ffdc>PORT_UTIL</ffdc> - <callout> - <procedure>CODE</procedure> - <priority>HIGH</priority> - </callout> - <deconfigure> - <target>MCA_TARGET</target> - </deconfigure> - </hwpError> - - <hwpError> <rc>RC_MSS_INVALID_LRDIMM_DB</rc> <description> Error with the LRDIMM databuffer type @@ -300,7 +191,7 @@ <deconfigure> <target>DIMM_TARGET</target> </deconfigure> - </hwpError> + </hwpError> <hwpError> <rc>RC_MSS_ERROR_CREATING_EFF_CONFIG_DIMM_OBJECT</rc> @@ -318,10 +209,4 @@ <target>DIMM_TARGET</target> </deconfigure> </hwpError> - - - - - - </hwpErrors> diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml new file mode 100644 index 000000000..c8dec633a --- /dev/null +++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml @@ -0,0 +1,155 @@ +<!-- IBM_PROLOG_BEGIN_TAG --> +<!-- This is an automatically generated prolog. --> +<!-- --> +<!-- $Source: src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_eff_config_thermal.xml $ --> +<!-- --> +<!-- OpenPOWER HostBoot Project --> +<!-- --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> +<!-- --> +<!-- Licensed under the Apache License, Version 2.0 (the "License"); --> +<!-- you may not use this file except in compliance with the License. --> +<!-- You may obtain a copy of the License at --> +<!-- --> +<!-- http://www.apache.org/licenses/LICENSE-2.0 --> +<!-- --> +<!-- Unless required by applicable law or agreed to in writing, software --> +<!-- distributed under the License is distributed on an "AS IS" BASIS, --> +<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or --> +<!-- implied. See the License for the specific language governing --> +<!-- permissions and limitations under the License. --> +<!-- --> +<!-- IBM_PROLOG_END_TAG --> + +<!-- --> +<!-- @file memory_mss_timing.xml --> +<!-- @brief Error xml for timing.H --> +<!-- --> +<!-- *HWP HWP Owner: Jacob Harvey <jlharvey@us.ibm.com> --> +<!-- *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> --> +<!-- *HWP Team: Memory --> +<!-- *HWP Level: 2 --> +<!-- *HWP Consumed by: HB:FSP --> +<!-- --> + +<hwpErrors> + + <hwpError> + <rc>RC_MSS_NO_POWER_THERMAL_ATTR_FOUND</rc> + <description> + There was no match or value found in decoding the power thermal attributes + </description> + <ffdc>GENERATED_KEY</ffdc> + <callout> + <target>DIMM_TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>DIMM_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_NO_DATABUS_UTILIZATION</rc> + <description> + There are 2 DIMMS on the port but both have 0 databus utilization + </description> + <ffdc>PORT_DATABUS_UTIL</ffdc> + <callout> + <target>MCA_TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>MCA_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_CALC_POWER_CURVE_DIVIDE_BY_ZERO</rc> + <description> + Denominator equals 0 + </description> + <ffdc>PORT_DATABUS_UTIL</ffdc> + <ffdc>UTIL_CONVERSION</ffdc> + <ffdc>IDLE_UTIL</ffdc> + <callout> + <target>MCA_TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>MCA_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_CALC_PORT_POWER_EXCEEDS_MAX</rc> + <description> + The calculated port power from equalizing throttles exceeds the maximum allowed power + </description> + <ffdc>CALCULATED_PORT_POWER</ffdc> + <ffdc>MAX_POWER_ALLOWED</ffdc> + <ffdc>PORT_POS</ffdc> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + <callout> + <childTargets> + <parent>MCA_TARGET</parent> + <childType>TARGET_TYPE_DIMM</childType> + <childNumber>EX_NUMBER_IN_ERROR</childNumber> + </childTargets> + <priority>MEDIUM</priority> + </callout> + <deconfigure> + <childTargets> + <parent>MCA_TARGET</parent> + <childType>TARGET_TYPE_DIMM</childType> + <childNumber>EX_NUMBER_IN_ERROR</childNumber> + </childTargets> + </deconfigure> +</hwpError> + +<hwpError> + <rc>RC_MSS_SLOT_UTIL_EXCEEDS_PORT</rc> + <description> + The memory throttle per slot (DIMM) exceeds the allowed throttle for the port + </description> + <ffdc>SLOT_UTIL</ffdc> + <ffdc>PORT_UTIL</ffdc> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>MCA_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_SPLIT_UTIL_CALC_ERROR</rc> + <description> + Error when splitting up the memory port's utilization + </description> + <ffdc>MAX_TOTAL_UTIL</ffdc> + <ffdc>DIMM_COUNT</ffdc> + <ffdc>SLOT_UTIL</ffdc> + <ffdc>PORT_UTIL</ffdc> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>MCA_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_MAX_DIMMS_ON_VMEM_REGULATOR_NOT_SET</rc> + <description> + MRW attribute mrw_max_number_dimms_possible_per_vmem_regulator equals 0 + </description> + </hwpError> +</hwpErrors> diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml index 7fd0c2d47..967fb11d1 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_freq.xml @@ -5,7 +5,7 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- Contributors Listed Below - COPYRIGHT 2015,2016 --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -30,7 +30,7 @@ <!-- *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> --> <!-- *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> --> <!-- *HWP Team: Memory --> -<!-- *HWP Level: 1 --> +<!-- *HWP Level: 3 --> <!-- *HWP Consumed by: HB:FSP --> <!-- --> @@ -115,7 +115,6 @@ <ffdc>NEST_FREQ</ffdc> </hwpError> - <!-- TK - Should this be FFDC or just return FAPI2_RC_FALSE? - AAM --> <hwpError> <rc>RC_MSS_UNSUPPORTED_FREQ_CALCULATED</rc> <description>The frequency calculated with spd data is not supported by the jedec standards.</description> @@ -163,4 +162,36 @@ </deconfigure> </hwpError> + <hwpError> + <rc>RC_MSS_TOO_MANY_DIMMS_ON_PORT</rc> + <description>There seem to be too many dimms on the port</description> + <ffdc>DIMM_COUNT</ffdc> + <callout> + <target>MCA_TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>MCA_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_TOO_MANY_PRIMARY_RANKS_ON_DIMM</rc> + <description>There seem to be too many primary ranks seen on the dimm</description> + <ffdc>RANK_COUNT</ffdc> + <callout> + <target>DIMM_TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>DIMM_TARGET</target> + </deconfigure> + </hwpError> + + <hwpError> + <rc>RC_MSS_FREQ_INDEX_TOO_LARGE</rc> + <description>Error calculating the index into max_freq array</description> + <ffdc>INDEX</ffdc> + <ffdc>NUM_MAX_FREQS</ffdc> + </hwpError> </hwpErrors> diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_volt.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_volt.xml index 333faa46e..d7ab24885 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_volt.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_volt.xml @@ -5,7 +5,7 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- Contributors Listed Below - COPYRIGHT 2015,2016 --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -30,7 +30,7 @@ <!-- *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> --> <!-- *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> --> <!-- *HWP Team: Memory --> -<!-- *HWP Level: 1 --> +<!-- *HWP Level: 2 --> <!-- *HWP Consumed by: HB:FSP --> <!-- --> |