summaryrefslogtreecommitdiffstats
path: root/src/usr/sbeio
diff options
context:
space:
mode:
authorElizabeth Liner <eliner@us.ibm.com>2017-12-14 12:22:19 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-12-22 15:31:03 -0500
commit2e5deae5db69e175c2e4eb06f2afa4a48d00c66a (patch)
tree51489e53c521557d65f7353eec00c77882f96e36 /src/usr/sbeio
parent536ae2496674e50bb9ca0b152ded65c25c7467d6 (diff)
downloadtalos-hostboot-2e5deae5db69e175c2e4eb06f2afa4a48d00c66a.tar.gz
talos-hostboot-2e5deae5db69e175c2e4eb06f2afa4a48d00c66a.zip
Add call to get the SBE RC and commit it to an error log
Change-Id: I9cb9a03a8c8530cf1476a0ddd4923fff43ca88ae RTC:180241 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50952 Tested-by: Jenkins Server <pfd-jenkins+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: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/sbeio')
-rw-r--r--src/usr/sbeio/sbe_attn.C41
1 files changed, 39 insertions, 2 deletions
diff --git a/src/usr/sbeio/sbe_attn.C b/src/usr/sbeio/sbe_attn.C
index 7a315e67b..502f8d0d9 100644
--- a/src/usr/sbeio/sbe_attn.C
+++ b/src/usr/sbeio/sbe_attn.C
@@ -28,6 +28,13 @@
*/
#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <sbeio/sbe_attn.H>
+#include <fapi2/target.H>
+#include <fapi2/plat_hwp_invoker.H>
+#include <p9_extract_sbe_rc.H>
+#include <sbeio/sbeioreasoncodes.H>
extern trace_desc_t* g_trac_sbeio;
@@ -44,8 +51,11 @@ namespace SBEIO
TARGETING::get_huid(i_procTarg) );
errlHndl_t l_errhdl = nullptr;
- TRACFCOMP( g_trac_sbeio, "NOOP for now" );
- // @todo - RTC:180241 - Implement basic error handling
+ uint32_t l_sbePlid = getSbeRC(i_procTarg);
+
+ TRACFCOMP( g_trac_sbeio, "handleVitalAttn> Returned SBE PLID=0x%x",
+ l_sbePlid);
+
// @todo - RTC:180242 - Restart SBE
// @todo - RTC:180243 - Advanced error handling
// @todo - RTC:180244 - Disable the OCC
@@ -56,4 +66,31 @@ namespace SBEIO
return l_errhdl;
}
+ uint32_t getSbeRC(TARGETING::Target* i_target)
+ {
+ TRACFCOMP( g_trac_sbeio, ENTER_MRK "getSbeRC()");
+
+ errlHndl_t l_errl = nullptr;
+
+ uint32_t l_errlPlid = NULL;
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_fapi2ProcTarget(
+ const_cast<TARGETING::Target*> (i_target));
+
+ P9_EXTRACT_SBE_RC::RETURN_ACTION l_ret =
+ P9_EXTRACT_SBE_RC::REIPL_UPD_SEEPROM;
+ FAPI_INVOKE_HWP(l_errl, p9_extract_sbe_rc,
+ l_fapi2ProcTarget, l_ret);
+
+ if(l_errl)
+ {
+ TRACFCOMP(g_trac_sbeio, "ERROR: p9_extract_sbe_rc HWP returning "
+ "errorlog PLID: 0x%x", l_errl->plid());
+
+ ERRORLOG::ErrlUserDetailsTarget(i_target).addToLog(l_errl);
+ l_errlPlid = l_errl->plid();
+ }
+
+ return l_errlPlid;
+ }
+
};
OpenPOWER on IntegriCloud