summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/cache
diff options
context:
space:
mode:
authorPeng Fei GOU <shgoupf@cn.ibm.com>2017-01-11 21:40:24 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-05-24 22:35:47 -0400
commit8cb9e23b499f04e65cd71b1d3e78b3f2763c1159 (patch)
treea91328bdfa43df594c4cda7ec1ef03768b966dcb /src/import/chips/p9/procedures/hwp/cache
parentfaa8f92fba576fefb35398b80b5910a0ec145ad1 (diff)
downloadtalos-hostboot-8cb9e23b499f04e65cd71b1d3e78b3f2763c1159.tar.gz
talos-hostboot-8cb9e23b499f04e65cd71b1d3e78b3f2763c1159.zip
p9_l2err_extract -- Fix bugs and tight up output formats
1) when error is not found for an EX, the procedure will continue parse other EXs. 2) tight up the output formats. Change-Id: I33af9dbc1a5ac83b2a09ce06ee757425127ee063 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34774 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Kevin F. Reick <reick@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40874 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/chips/p9/procedures/hwp/cache')
-rw-r--r--src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.C17
-rw-r--r--src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.H15
2 files changed, 18 insertions, 14 deletions
diff --git a/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.C b/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.C
index 65c36ac6c..d3b9ab6d7 100644
--- a/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.C
+++ b/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.C
@@ -71,7 +71,8 @@ extern "C"
fapi2::ReturnCode p9_l2err_extract(const fapi2::Target<fapi2::TARGET_TYPE_EX>& i_target,
const fapi2::variable_buffer& i_ta_data,
p9_l2err_extract_err_type i_err_type,
- p9_l2err_extract_err_data& o_err_data)
+ p9_l2err_extract_err_data& o_err_data,
+ bool& o_error_found)
{
uint32_t rc_ecmd = 0;
// other vars
@@ -231,14 +232,14 @@ extern "C"
FAPI_DBG("Found UE or CE: error_found = %i", error_found);
- //log an error if nothing was found based on what the user was looking for
- FAPI_ASSERT(error_found,
- fapi2::P9_L2ERR_EXTRACT_NO_CEUE_FOUND()
- .set_TARGET(i_target)
- .set_TA_DATA(i_ta_data)
- .set_ERR_REQ_TYPE(i_err_type),
- "No CE or UE found in trace array.");
+ o_error_found = error_found;
+ // Don't panic if error is not found.
+ if (!error_found)
+ {
+ FAPI_DBG("No error is found!");
+ return fapi2::current_err;
+ }
//generate compression indexes, we will use these to look back for data
l_ce_trace_index = trace_index;
diff --git a/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.H b/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.H
index 6449a993d..c40ce6a73 100644
--- a/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.H
+++ b/src/import/chips/p9/procedures/hwp/cache/p9_l2err_extract.H
@@ -85,7 +85,8 @@ typedef fapi2::ReturnCode
(*p9_l2err_extract_FP_t) (const fapi2::Target<fapi2::TARGET_TYPE_EX>&,
const fapi2::variable_buffer&,
p9_l2err_extract_err_type,
- p9_l2err_extract_err_data&);
+ p9_l2err_extract_err_data&,
+ bool&);
extern "C"
{
@@ -97,15 +98,17 @@ extern "C"
// function: FAPI2 p9_l2err_extract HWP entry point
// Parse and extract L2 error information from provided
// L2_T0 trace array that has been stopped on an L2 CE or UE.
-// parameters: i_target => chiplet target for callouts
-// i_ta_data => ecmdDataBufferBase that contains the trace data
-// i_err_type => type of error that is to be extracted (CE,UE,both)
-// o_err_data => failing location information for CE or UE
+// parameters: i_target => chiplet target for callouts
+// i_ta_data => ecmdDataBufferBase that contains the trace data
+// i_err_type => type of error that is to be extracted (CE,UE,both)
+// o_err_data => failing location information for CE or UE
+// o_error_found => error is found
fapi2::ReturnCode p9_l2err_extract(const fapi2::Target<fapi2::TARGET_TYPE_EX>& i_target,
const fapi2::variable_buffer& i_ta_data,
p9_l2err_extract_err_type i_err_type,
- p9_l2err_extract_err_data& o_err_data);
+ p9_l2err_extract_err_data& o_err_data,
+ bool& o_error_found);
} // extern "C"
OpenPOWER on IntegriCloud