diff options
| author | Mike Baiocchi <mbaiocch@us.ibm.com> | 2018-05-18 15:48:24 -0500 |
|---|---|---|
| committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-05-24 09:33:07 -0400 |
| commit | a1e236a422182e81f7877de85f3cb46dff6fc0cd (patch) | |
| tree | 93f5eff5e3a8df10c7ad3cdb137f2afd320f7e43 /src/usr/secureboot/node_comm/node_comm_dd.C | |
| parent | 3ad299af08fd1ed6a14c72a9d3fe4b89a5af5eec (diff) | |
| download | talos-hostboot-a1e236a422182e81f7877de85f3cb46dff6fc0cd.tar.gz talos-hostboot-a1e236a422182e81f7877de85f3cb46dff6fc0cd.zip | |
Improve FFDC for new Node Comm Device Driver
This commit adds a new custom Node Comm Device Driver error log
user details section and its parser code. It also adds a function
to add the target and important HW registers to an error log.
Change-Id: I11893af06b7a097b43106117d648e9a431c4f3ea
RTC:191008
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59079
Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-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>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/secureboot/node_comm/node_comm_dd.C')
| -rw-r--r-- | src/usr/secureboot/node_comm/node_comm_dd.C | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/src/usr/secureboot/node_comm/node_comm_dd.C b/src/usr/secureboot/node_comm/node_comm_dd.C index 5029068fc..f2eac3572 100644 --- a/src/usr/secureboot/node_comm/node_comm_dd.C +++ b/src/usr/secureboot/node_comm/node_comm_dd.C @@ -42,8 +42,10 @@ #include <devicefw/userif.H> #include <devicefw/driverif.H> #include <secureboot/secure_reasoncodes.H> + #include "node_comm_dd.H" #include "node_comm.H" +#include "../common/errlud_secure.H" // ---------------------------------------------- // Globals @@ -197,7 +199,19 @@ errlHndl_t nodeCommPerformOp( DeviceFW::OperationType i_opType, err->collectTrace(SECURE_COMP_NAME); err->collectTrace(NODECOMM_TRACE_NAME); - // @TODO RTC:191008 Add FFDC - call to new UserDetails Section + UdNodeCommInfo(i_opType, + io_buflen, + i_accessType, + node_comm_args) + .addToLog(err); + + if (err->reasonCode() != RC_NCDD_INVALID_ARGS) + { + // Collect FFDC - Target and Registers + getNodeCommFFDC(node_comm_args.mode, + node_comm_args.tgt, + err); + } } TRACFCOMP (g_trac_nc, EXIT_MRK"nodeCommPerformOp: %s: %s: " @@ -531,6 +545,30 @@ errlHndl_t ncddWaitForCmdComp (node_comm_args_t & i_args) } // end ncddWaitForCmdComp + +void ncddHandleError( errlHndl_t & io_err, + node_comm_args_t & i_args ) +{ + TRACFCOMP( g_trac_nc,ENTER_MRK"ncddHandleError: " + TRACE_ERR_FMT, + TRACE_ERR_ARGS(io_err)); + + do + { +// @TODO RTC:191008 Implement simple reset functionality + + } while (0); + + TRACFCOMP( g_trac_nc,EXIT_MRK"ncddHandleError: " + TRACE_ERR_FMT, + TRACE_ERR_ARGS(io_err)); + + return; + +} // end ncddHandleError + + + errlHndl_t ncddRegisterOp ( DeviceFW::OperationType i_opType, uint64_t * io_data_64, uint64_t i_reg, |

