summaryrefslogtreecommitdiffstats
path: root/src/occ_405/errl/errl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/occ_405/errl/errl.h')
-rwxr-xr-xsrc/occ_405/errl/errl.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/occ_405/errl/errl.h b/src/occ_405/errl/errl.h
index 217dde2..fcfb83b 100755
--- a/src/occ_405/errl/errl.h
+++ b/src/occ_405/errl/errl.h
@@ -110,6 +110,7 @@ typedef enum
ERRL_USR_DTL_TRACE_DATA = 0x01,
ERRL_USR_DTL_CALLHOME_DATA = 0x02,
ERRL_USR_DTL_BINARY_DATA = 0x03,
+ ERRL_USR_DTL_HISTORY_DATA = 0x04,
} ERRL_USR_DETAIL_TYPE;
// These are the possible OCC States.
@@ -265,6 +266,23 @@ extern uint8_t G_occErrIdCounter;
extern errlHndl_t G_occErrSlots[ERRL_MAX_SLOTS];
+// Array of error counters that are only cleared on OCC reset
+#define ERR_HISTORY_SIZE 32
+extern uint8_t G_error_history[ERR_HISTORY_SIZE];
+typedef enum {
+ ERR_AVSBUS_VDD_CURRENT = 1,
+ ERR_AVSBUS_VDD_VOLTAGE = 2,
+ ERR_AVSBUS_VDN_CURRENT = 3,
+ ERR_AVSBUS_VDN_VOLTAGE = 4,
+ ERR_DIMM_I2C_PORT0 = 5,
+ ERR_DIMM_I2C_PORT1 = 6
+} ERR_HISTORY_INDEX;
+#define INCREMENT_ERR_HISTORY(errorIndex) { \
+ if ((errorIndex < ERR_HISTORY_SIZE) && (G_error_history[errorIndex] < 255)) { \
+ ++G_error_history[errorIndex]; \
+ } \
+}
+
// Globals used by testcases
extern uint8_t G_errslot1[MAX_ERRL_ENTRY_SZ];
extern uint8_t G_errslot2[MAX_ERRL_ENTRY_SZ];
@@ -296,6 +314,9 @@ void addTraceToErrl(
errlHndl_t io_errl
);
+// Add Error history data to the Error Log
+void addErrHistory(errlHndl_t io_err);
+
/* Commit the Error Log */
void commitErrl( errlHndl_t * io_err );
OpenPOWER on IntegriCloud