summaryrefslogtreecommitdiffstats
path: root/src/usr/errl/runtime
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2018-09-24 10:40:03 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-09-28 08:28:28 -0500
commit2cfc8b1e8aa68b4bb305e58aee89196007ffc63e (patch)
tree60ee9af8699f92d158099ff0d39ed7660b1ec5b6 /src/usr/errl/runtime
parente82eda284f016036b5e2192dd234db12da7559f2 (diff)
downloadtalos-hostboot-2cfc8b1e8aa68b4bb305e58aee89196007ffc63e.tar.gz
talos-hostboot-2cfc8b1e8aa68b4bb305e58aee89196007ffc63e.zip
Increment HBRT EID on every commit
When HBRT first boots we read ATTR_HOSTSVC_PLID to set our starting PLID/EID number. However, we never increment that attribute as we create new logs. This will result in HBRT reusing PLIDs if it ever reboots (e.g. after a crash or as part of a code update) and also when it restarts after a mpipl. Change-Id: I9f3b83f2be793908b62f3fb959fbbe590a4a1464 CQ: SW446539 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66611 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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Disable-CI: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/errl/runtime')
-rw-r--r--src/usr/errl/runtime/rt_errlmanager.C10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/usr/errl/runtime/rt_errlmanager.C b/src/usr/errl/runtime/rt_errlmanager.C
index 1435401d6..9fb624608 100644
--- a/src/usr/errl/runtime/rt_errlmanager.C
+++ b/src/usr/errl/runtime/rt_errlmanager.C
@@ -101,6 +101,7 @@ ErrlManager::ErrlManager() :
if(sys)
{
iv_currLogId = sys->getAttr<TARGETING::ATTR_HOSTSVC_PLID>();
+ TRACFCOMP( g_trac_errl,"Initial Error Log ID = %.8X", iv_currLogId );
// set whether we want to skip certain error logs or not.
iv_hiddenErrLogsEnable =
@@ -304,6 +305,15 @@ void ErrlManager::commitErrLog(errlHndl_t& io_err, compId_t i_committerComp )
break;
}
+ // Increment our persistent counter so we don't reuse EIDs
+ // after reboots or mpipl
+ TARGETING::Target * sys = NULL;
+ if( TARGETING::targetService().isInitialized() )
+ {
+ TARGETING::targetService().getTopLevelTarget( sys );
+ sys->setAttr<TARGETING::ATTR_HOSTSVC_PLID>(io_err->eid()+1);
+ }
+
TRACFCOMP(g_trac_errl, "commitErrLog() called by %.4X for plid=0x%X,"
"Reasoncode=%.4X", i_committerComp,
io_err->plid(), io_err->reasonCode() );
OpenPOWER on IntegriCloud