summaryrefslogtreecommitdiffstats
path: root/src/usr/secureboot/node_comm/node_comm_dd.C
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2018-05-18 15:48:24 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-05-24 09:33:07 -0400
commita1e236a422182e81f7877de85f3cb46dff6fc0cd (patch)
tree93f5eff5e3a8df10c7ad3cdb137f2afd320f7e43 /src/usr/secureboot/node_comm/node_comm_dd.C
parent3ad299af08fd1ed6a14c72a9d3fe4b89a5af5eec (diff)
downloadtalos-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.C40
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,
OpenPOWER on IntegriCloud