summaryrefslogtreecommitdiffstats
path: root/src/usr/sbeio
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-07-27 12:39:56 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-08-24 09:08:14 -0500
commita9697e7b95a63efdc2c36dc864be88e1c08cdf46 (patch)
tree4c9ff8cc23ca4ae4d950d041d1600cbc1e975820 /src/usr/sbeio
parentac96eaf6e91893d2ea98a02ad66d43232991cbcc (diff)
downloadtalos-hostboot-a9697e7b95a63efdc2c36dc864be88e1c08cdf46.tar.gz
talos-hostboot-a9697e7b95a63efdc2c36dc864be88e1c08cdf46.zip
Dump interrupt state information if psudd times out
If we timeout on a psudd chip op then we should send a msg to the interrupt resource provider to dump out information about the interrupt complex prior to terminating Hostboot. Change-Id: Iff62909209225bff5337634385c41e3d7c9e7d6e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63480 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/sbeio')
-rw-r--r--src/usr/sbeio/sbe_psudd.C11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/usr/sbeio/sbe_psudd.C b/src/usr/sbeio/sbe_psudd.C
index bd5d59f40..35fd841eb 100644
--- a/src/usr/sbeio/sbe_psudd.C
+++ b/src/usr/sbeio/sbe_psudd.C
@@ -749,6 +749,17 @@ errlHndl_t SbePsu::pollForPsuComplete(TARGETING::Target * i_target,
// time out if wait too long
if (l_elapsed_time_ns > i_timeout )
{
+ l_errl = INTR::printInterruptInfo();
+
+ // If there was an error dumping interrupt state info just commit
+ // errorlog and continue with the failure path.
+ if(l_errl)
+ {
+ l_errl->setSev(ERRORLOG::ERRL_SEV_INFORMATIONAL);
+ l_errl->collectTrace(SBEIO_COMP_NAME);
+ errlCommit(l_errl, SBEIO_COMP_ID);
+ }
+
//read the response registers for FFDC
uint64_t l_respRegs[4];
ERRORLOG::ErrlUserDetailsLogRegister l_respRegsFFDC(i_target);
OpenPOWER on IntegriCloud