summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorMike Jones <mjjones@us.ibm.com>2011-07-18 13:01:59 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2011-07-19 13:43:56 -0500
commit103f2e58b35ac7218d9960ceb6568ff7ceb332d2 (patch)
treeef4c3bf1e3b8fe380e03d2fc256bdd46d10214fc /src/usr
parentbe301c4ea87c944bd1c51ca2c73ac719cec6b495 (diff)
downloadtalos-hostboot-103f2e58b35ac7218d9960ceb6568ff7ceb332d2.tar.gz
talos-hostboot-103f2e58b35ac7218d9960ceb6568ff7ceb332d2.zip
Shutdown and post status on HostBoot completion
Change-Id: If2ab46af85065b29695a1186ed331fd835944eb4 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/204 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/initservice/extinitsvc/extinitsvc.C17
-rw-r--r--src/usr/initservice/extinitsvc/extinitsvc.H11
2 files changed, 26 insertions, 2 deletions
diff --git a/src/usr/initservice/extinitsvc/extinitsvc.C b/src/usr/initservice/extinitsvc/extinitsvc.C
index 3d9ab6441..916ea31ed 100644
--- a/src/usr/initservice/extinitsvc/extinitsvc.C
+++ b/src/usr/initservice/extinitsvc/extinitsvc.C
@@ -10,6 +10,9 @@
#include <sys/vfs.h>
#include <sys/task.h>
#include <sys/sync.h>
+#include <sys/misc.h>
+#include <sys/time.h>
+#include <usr/cxxtest/TestSuite.H>
#include <trace/interface.H>
#include <errl/errlentry.H>
@@ -190,6 +193,20 @@ void ExtInitSvc::init( void *i_ptr )
TRACDCOMP( g_trac_initsvc,
EXIT_MRK "Unit Tests finished.");
+ // Shutdown all CPUs
+
+ // TODO. Current code does not wait for UTs to finish. Add a delay for now
+ // This will be fixed soon.
+ nanosleep(2, 0);
+
+ uint64_t l_shutdownStatus = SHUTDOWN_STATUS_GOOD;
+
+ if (CxxTest::g_FailedTests)
+ {
+ l_shutdownStatus = SHUTDOWN_STATUS_UT_FAILED;
+ }
+
+ shutdown(l_shutdownStatus);
// return to _start(), which may end the task or die.
return;
diff --git a/src/usr/initservice/extinitsvc/extinitsvc.H b/src/usr/initservice/extinitsvc/extinitsvc.H
index aa4ef6bc6..a50b790ed 100644
--- a/src/usr/initservice/extinitsvc/extinitsvc.H
+++ b/src/usr/initservice/extinitsvc/extinitsvc.H
@@ -33,8 +33,15 @@ namespace INITSERVICE
/******************************************************************************/
// Typedef/Enumerations
/******************************************************************************/
-
-
+/**
+ * @enum ShutdownStatus
+ */
+enum ShutdownStatus
+{
+ SHUTDOWN_STATUS_GOOD = 0x01230000,
+ SHUTDOWN_STATUS_UT_FAILED = 0x01230001,
+ SHUTDOWN_STATUS_ISTEP_FAILED = 0x01230002,
+};
/******************************************************************************/
// ExtInitSvc Class
OpenPOWER on IntegriCloud