summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2018-02-12 12:11:10 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-02-21 16:28:18 -0500
commit80819cf5302b79274276097b59f17e3254ae0099 (patch)
treebe9cad0874c5ee28e9c36eb6b869f7b542502821 /src/include
parent1275d064b04f96e767bfbf7b6777b73adf038ed6 (diff)
downloadtalos-hostboot-80819cf5302b79274276097b59f17e3254ae0099.tar.gz
talos-hostboot-80819cf5302b79274276097b59f17e3254ae0099.zip
Fix rollover of PLID numbers
Need to avoid incrementing into the processor node field of the PLID. Decided to use the highest bit in the last 3 bytes as a dividing bit. [0x##800000 - 0x##FFFFFF] -- for pre-boot setup errors. [0x##000000 - 0x##7FFFFF] -- for post setup errors When setting up from PNOR, we will look for the max EID in the post-setup range. If no max is found, restart at 0. Change-Id: I4a8811d9c93039090504ca9cf8c0eebc6812a4ca CQ:SW416592 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54362 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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/errl/errlmanager.H21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/include/usr/errl/errlmanager.H b/src/include/usr/errl/errlmanager.H
index 93165a821..f7407d8c4 100644
--- a/src/include/usr/errl/errlmanager.H
+++ b/src/include/usr/errl/errlmanager.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2017 */
+/* Contributors Listed Below - COPYRIGHT 2011,2018 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -276,7 +276,9 @@ private:
#endif
ERRLOG_PLID_NODE_SHIFT = 24, // shift to put node number 0x9#
ERRLOG_PLID_MASK = 0x00FFFFFF,// mask to find log number
- ERRLOG_PLID_INITIAL = 0x00FF0000,// initial big id number
+ ERRLOG_PLID_INITIAL = 0x00800000,// min number for pre-boot
+ ERRLOG_PLID_PRE_MAX = 0x00FFFFFF,// max number during pre-boot
+ ERRLOG_PLID_POST_MAX = 0x007FFFFF,// max number after pre-boot
};
/**
@@ -311,7 +313,7 @@ private:
/**
* @brief Access PNOR and get the address and size of the HBEL section in
* PNOR; sets the iv_pnorAddr, iv_maxErrlInPnor, iv_pnorOpenSlot variables;
- * parsers the error logs in PNOR and determines the new iv_currLogId.
+ * parses the error logs in PNOR and determines the new iv_currLogId.
*
* @param[in/out] NONE
* @return NONE.
@@ -409,6 +411,19 @@ private:
uint32_t iv_currLogId;
/**
+ * @brief Base & Node part of log ID.
+ * This value will be used as a common ID among this node's error logs
+ */
+ uint32_t iv_baseNodeId;
+
+ /**
+ * @brief Indicates if PNOR is ready for handling error logs
+ * Will cause a switch of MIN/MAX values used in calculating the
+ * next iv_currLogId.
+ */
+ bool iv_pnorReadyForErrorLogs;
+
+ /**
* @brief
* Pointer to the header that precedes the error log storage buffer
* in L3 RAM. This may go away when we adopt PNOR, or else become
OpenPOWER on IntegriCloud