summaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--src/usr/errl/runtime/rt_errlmanager.C10
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/attribute_types.xml3
2 files changed, 12 insertions, 1 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() );
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index a176b01f8..f70ab92bc 100755
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -2162,7 +2162,8 @@
<attribute>
<description>
- Value of the next PLID that host service should send
+ Value of the next EID that host service should send.
+ (Note - EID is more accurate, PLID being kept to handle legacy code.)
</description>
<id>HOSTSVC_PLID</id>
<persistency>non-volatile</persistency>
OpenPOWER on IntegriCloud