diff options
author | Doug Gilbert <dgilbert@us.ibm.com> | 2017-10-13 12:37:57 -0500 |
---|---|---|
committer | William A. Bryan <wilbryan@us.ibm.com> | 2017-10-19 12:34:58 -0400 |
commit | 619a19c8bfc710697696bda561d20b777696711a (patch) | |
tree | 974368dd07814f3e15f7a599b0b16f31d39831b1 /src/occ_405/sensor | |
parent | 1522d76c9df97e9bb9e994afff455e013b6f56fa (diff) | |
download | talos-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.c | 25 |
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 |