summaryrefslogtreecommitdiffstats
path: root/src/occ_405/sensor
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2017-10-13 12:37:57 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2017-10-19 12:34:58 -0400
commit619a19c8bfc710697696bda561d20b777696711a (patch)
tree974368dd07814f3e15f7a599b0b16f31d39831b1 /src/occ_405/sensor
parent1522d76c9df97e9bb9e994afff455e013b6f56fa (diff)
downloadtalos-occ-619a19c8bfc710697696bda561d20b777696711a.tar.gz
talos-occ-619a19c8bfc710697696bda561d20b777696711a.zip
Timebase overflow issue in gpe0
Change-Id: I555873ef13b5094f3499085f8aafb40ce4cc4320 CQ: SW403677 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48464 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/occ_405/sensor')
-rw-r--r--src/occ_405/sensor/sensor_get_tod_task.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/occ_405/sensor/sensor_get_tod_task.c b/src/occ_405/sensor/sensor_get_tod_task.c
index eb511dc..36fad2f 100644
--- a/src/occ_405/sensor/sensor_get_tod_task.c
+++ b/src/occ_405/sensor/sensor_get_tod_task.c
@@ -87,7 +87,8 @@
typedef enum
{
GET_TOD_ERRL_USR_DTLS_NONE, ///< No data to store
- GET_TOD_ERRL_USR_DTLS_GPE_FFDC ///< ffdc value from GPE0 in G_get_tod_args
+ GET_TOD_ERRL_USR_DTLS_GPE_FFDC, ///< ffdc value from GPE0 in G_get_tod_args
+ GET_TOD_ERRL_USR_DTLS_GPE_TRACE, ///< get GPE0 trace buffer
} GET_TOD_ERRL_USR_DTLS_DATA;
@@ -129,6 +130,10 @@ uint8_t G_get_tod_error_count = 0;
*/
bool G_get_tod_enabled = true;
+/**
+ * GPE shared data area for gpe0 tracebuffer and size
+ */
+extern gpe_shared_data_t G_shared_gpe_data;
//******************************************************************************
// Private Functions
@@ -222,6 +227,16 @@ void get_tod_log_error(uint16_t i_modId, uint8_t i_reasonCode,
ERRL_USR_DTL_BINARY_DATA);
}
+ if (i_usrDtlsData == GET_TOD_ERRL_USR_DTLS_GPE_TRACE)
+ {
+
+ addUsrDtlsToErrl(l_errl,
+ (uint8_t *) G_shared_gpe_data.gpe0_tb_ptr,
+ G_shared_gpe_data.gpe0_tb_sz,
+ ERRL_USR_DTL_STRUCT_VERSION_1,
+ ERRL_USR_DTL_TRACE_DATA);
+ }
+
// Add processor callout
addCalloutToErrl(l_errl,
ERRL_CALLOUT_TYPE_HUID,
@@ -283,8 +298,12 @@ bool get_tod_is_request_idle(void)
* @userdata4 ERC_GENERIC_TIMEOUT
* @devdesc GPE request not finished after waiting repeatedly
*/
- get_tod_log_error(GET_TOD_IS_REQ_IDLE_MOD, GPE_REQUEST_TASK_NOT_IDLE,
- ERC_GENERIC_TIMEOUT, 0, 0, GET_TOD_ERRL_USR_DTLS_NONE);
+ get_tod_log_error(GET_TOD_IS_REQ_IDLE_MOD,
+ GPE_REQUEST_TASK_NOT_IDLE,
+ ERC_GENERIC_TIMEOUT,
+ 0,
+ 0,
+ GET_TOD_ERRL_USR_DTLS_GPE_TRACE);
}
// Return false since request is not idle
OpenPOWER on IntegriCloud