summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2017-01-05 16:34:08 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-01-13 14:52:49 -0500
commit9b7aad9ea276eda21ae35e2bfa69f6dffed5133b (patch)
tree661b17c0a983932483fd5af776790c6e521b8619 /src/import
parente1d3218159515f947ee959985a1d754a01999a1d (diff)
downloadtalos-hostboot-9b7aad9ea276eda21ae35e2bfa69f6dffed5133b.tar.gz
talos-hostboot-9b7aad9ea276eda21ae35e2bfa69f6dffed5133b.zip
More improvements to memory vpd error handling
Noticed that the error we really end up seeing is not the one I expected. I combined the two redundant error paths and included additional FFDC. Change-Id: Ic2ae2850fc9ff8f76f9889c7af565c3308c57b3a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34458 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34497 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import')
-rw-r--r--src/import/chips/p9/procedures/hwp/accessors/p9_get_mem_vpd_keyword.C49
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_get_mem_vpd_keyword.xml19
2 files changed, 19 insertions, 49 deletions
diff --git a/src/import/chips/p9/procedures/hwp/accessors/p9_get_mem_vpd_keyword.C b/src/import/chips/p9/procedures/hwp/accessors/p9_get_mem_vpd_keyword.C
index 8a7e7f6ce..bd8be32fb 100644
--- a/src/import/chips/p9/procedures/hwp/accessors/p9_get_mem_vpd_keyword.C
+++ b/src/import/chips/p9/procedures/hwp/accessors/p9_get_mem_vpd_keyword.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -423,43 +423,28 @@ extern "C"
}
//Was a matching row found?
- FAPI_ASSERT(0 != l_second,
- fapi2::GET_MEM_VPD_NO_MATCH_FOUND().
- set_MCS(fapi2::ATTR_MEMVPD_POS_Type(l_mcsPos)).
- set_FREQ(uint32_t(i_vpd_info.iv_freq_mhz)).
- set_DIMM0RANK(uint64_t(i_vpd_info.iv_rank_count_dimm_0)).
- set_DIMM1RANK(uint64_t(i_vpd_info.iv_rank_count_dimm_1)).
- set_HEADER(mappingHeader_t(*l_mappingHeader)).
- set_TARGET(i_target).
- set_VPDTYPE(i_vpd_info.iv_vpd_type).
- set_MAPROW0(l_ffdc_MAPROW[0]).
- set_MAPROW1(l_ffdc_MAPROW[1]).
- set_MAPROW2(l_ffdc_MAPROW[2]).
- set_MAPROW3(l_ffdc_MAPROW[3]).
- set_MAPROW4(l_ffdc_MAPROW[4]).
- set_MAPROW5(l_ffdc_MAPROW[5]).
- set_MAPROW6(l_ffdc_MAPROW[6]).
- set_MAPROW7(l_ffdc_MAPROW[7]).
- set_MAPROW8(l_ffdc_MAPROW[8]).
- set_MAPROW9(l_ffdc_MAPROW[9]),
- "No match in mapping table");
-
//Was a valid keyword name found?
- // Cast needed due to implicit int of enums
- FAPI_ASSERT( static_cast<char>(MAPPING_LAYOUT_INVALID) != l_second,
- fapi2::GET_MEM_VPD_UNSUPPORTED_CONFIGURATION().
+ FAPI_ASSERT( (0 != l_second) &&
+ (static_cast<char>(MAPPING_LAYOUT_INVALID) != l_second),
+ fapi2::GET_MEM_VPD_UNSUPPORTED_CONFIG().
set_MCS(fapi2::ATTR_MEMVPD_POS_Type(l_mcsPos)).
set_FREQ(uint32_t(i_vpd_info.iv_freq_mhz)).
set_DIMM0RANK(uint64_t(i_vpd_info.iv_rank_count_dimm_0)).
set_DIMM1RANK(uint64_t(i_vpd_info.iv_rank_count_dimm_1)).
- set_VPDMCSMASK(uint16_t(((l_mapping[l_index].mcsMaskMSB) << 8) |
- l_mapping[l_index].mcsMaskLSB)).
- set_VPDFREQMASK(uint8_t(l_mapping[l_index].freqMask)).
- set_VPDRANKMASK(uint8_t(((l_mapping[l_index].rankMaskMSB) << 8) |
- l_mapping[l_index].rankMaskLSB)).
+ set_HEADER(mappingHeader_t(*l_mappingHeader)).
set_TARGET(i_target).
- set_VPDTYPE(i_vpd_info.iv_vpd_type),
- "Unsupported configuration");
+ set_VPDTYPE(i_vpd_info.iv_vpd_type).
+ set_MAPROW0(l_ffdc_MAPROW[0]).
+ set_MAPROW1(l_ffdc_MAPROW[1]).
+ set_MAPROW2(l_ffdc_MAPROW[2]).
+ set_MAPROW3(l_ffdc_MAPROW[3]).
+ set_MAPROW4(l_ffdc_MAPROW[4]).
+ set_MAPROW5(l_ffdc_MAPROW[5]).
+ set_MAPROW6(l_ffdc_MAPROW[6]).
+ set_MAPROW7(l_ffdc_MAPROW[7]).
+ set_MAPROW8(l_ffdc_MAPROW[8]).
+ set_MAPROW9(l_ffdc_MAPROW[9]),
+ "Unsupported configuration, no match in memory vpd mapping table");
// build the keyword name
o_keywordInfo.kwName[0] = l_first;
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_get_mem_vpd_keyword.xml b/src/import/chips/p9/procedures/xml/error_info/p9_get_mem_vpd_keyword.xml
index ecd8e3ecc..278c690c5 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_get_mem_vpd_keyword.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_get_mem_vpd_keyword.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2016 -->
+<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -71,7 +71,7 @@
</hwpError>
<!-- ********************************************************************* -->
<hwpError>
- <rc>RC_GET_MEM_VPD_NO_MATCH_FOUND</rc>
+ <rc>RC_GET_MEM_VPD_UNSUPPORTED_CONFIG</rc>
<description>
No keyword specified for MCS, Ranks, and frequency
</description>
@@ -97,21 +97,6 @@
</hwpError>
<!-- ********************************************************************* -->
<hwpError>
- <rc>RC_GET_MEM_VPD_UNSUPPORTED_CONFIGURATION</rc>
- <description>Unsupported MCS, Ranks, and frequency</description>
- <ffdc>TYPE</ffdc>
- <ffdc>MCS</ffdc>
- <ffdc>FREQ</ffdc>
- <ffdc>DIMM0RANK</ffdc>
- <ffdc>DIMM1RANK</ffdc>
- <ffdc>VPDMCSMASK</ffdc>
- <ffdc>VPDFREQMASK</ffdc>
- <ffdc>VPDRANKMASK</ffdc>
- <ffdc>TARGET</ffdc>
- <ffdc>VPDTYPE</ffdc>
- </hwpError>
- <!-- ********************************************************************* -->
- <hwpError>
<rc>RC_GET_MEM_VPD_ENTRY_NOT_FOUND</rc>
<description>Entry outside of possible entries</description>
<ffdc>ENTRY</ffdc>
OpenPOWER on IntegriCloud