summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/mdia/mdia.C
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@us.ibm.com>2012-03-21 15:56:09 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-04-24 09:44:54 -0500
commitf4e49418fd0743ab0d143f0ab3c505baefe58bfa (patch)
tree9301803411743f6e31bd4617e76ea54376c58f54 /src/usr/diag/mdia/mdia.C
parent5ac7921a5f77d7d33e7cc86f91522de4751f98b0 (diff)
downloadtalos-hostboot-f4e49418fd0743ab0d143f0ab3c505baefe58bfa.tar.gz
talos-hostboot-f4e49418fd0743ab0d143f0ab3c505baefe58bfa.zip
Initial memory diagnostics entry point support.
This is a first take at the memory diagnostics entry point function; the function called by the istep dispatcher. Change-Id: Id99b05e13dd723cea574e993a3cfc6e298f475b8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/784 Tested-by: Jenkins Server Reviewed-by: LARINA M. DSOUZA <larsouza@in.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/mdia/mdia.C')
-rw-r--r--src/usr/diag/mdia/mdia.C89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/usr/diag/mdia/mdia.C b/src/usr/diag/mdia/mdia.C
new file mode 100644
index 000000000..93fc2bcbd
--- /dev/null
+++ b/src/usr/diag/mdia/mdia.C
@@ -0,0 +1,89 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/usr/diag/mdia/mdia.C $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2012
+//
+// p1
+//
+// Object Code Only (OCO) source materials
+// Licensed Internal Code Source Materials
+// IBM HostBoot Licensed Internal Code
+//
+// The source code for this program is not published or other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+/**
+ * @file mdia.C
+ * @brief mdia entry points, utility function implementations
+ */
+
+#include "mdiafwd.H"
+#include "mdiaglobals.H"
+#include "mdiatrace.H"
+
+using namespace TARGETING;
+
+namespace MDIA
+{
+
+errlHndl_t runStep(const TargetHandleList & i_targetList)
+{
+ MDIA_FAST("memory diagnostics entry (runStep)");
+
+ // memory diagnostics ipl step entry point
+
+ errlHndl_t err = 0;
+
+ Globals globals;
+
+ // get the workflow for each target mba passed in.
+ // associate each workflow with the target handle.
+
+ WorkFlowAssocList list;
+
+ TargetHandleList::const_iterator tit;
+ DiagMode mode;
+
+ for(tit = i_targetList.begin(); tit != i_targetList.end(); ++tit)
+ {
+ err = getMbaDiagnosticMode(globals, *tit, mode);
+
+ if(err)
+ {
+ break;
+ }
+
+ err = getMbaWorkFlow(mode, list[*tit]);
+
+ if(err)
+ {
+ break;
+ }
+ }
+
+ if(!err)
+ {
+ // TODO...run the workflow through the state machine
+ }
+
+ // ensure threads and pools are shutdown when finished
+
+ doStepCleanup(globals);
+
+ return err;
+}
+
+void doStepCleanup(const Globals & i_globals)
+{
+ // TODO ... stop the state machine
+ // TODO ... stop the command monitor
+}
+}
OpenPOWER on IntegriCloud