summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorTerry J. Opie <opiet@us.ibm.com>2012-05-17 13:22:48 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-06-12 12:41:41 -0500
commitdec09123e59a74c471ab967cd662a57a53b16800 (patch)
tree04b78fe1863b4d72f91fdb3acbf12e1b292b4ed0 /src/include/usr
parentc57e10754ce222368b371355509e2f505e724893 (diff)
downloadtalos-hostboot-dec09123e59a74c471ab967cd662a57a53b16800.tar.gz
talos-hostboot-dec09123e59a74c471ab967cd662a57a53b16800.zip
Host Start Payload
- Start Payload - System attributes for payload base/entry - Execute Cxx Unit tests before starting payload - Send mailbox messages to signal Fsp Change-Id: I314920c64d4c9deaa781696e02231ff8dc8de678 RTC: 39892 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1075 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/hbotcompid.H8
-rw-r--r--src/include/usr/hwpf/istepreasoncodes.H71
-rw-r--r--src/include/usr/initservice/extinitserviceif.H41
-rw-r--r--src/include/usr/initservice/initserviceif.H17
-rw-r--r--src/include/usr/initservice/istepdispatcherif.H54
-rw-r--r--src/include/usr/mbox/mbox_queues.H50
6 files changed, 216 insertions, 25 deletions
diff --git a/src/include/usr/hbotcompid.H b/src/include/usr/hbotcompid.H
index 0e15cb6ba..8f9f8daff 100644
--- a/src/include/usr/hbotcompid.H
+++ b/src/include/usr/hbotcompid.H
@@ -226,6 +226,14 @@ const compId_t UTIL_COMP_ID = 0x1600;
const char UTIL_COMP_NAME[] = "util";
//@}
+/** @name ISTEP
+ * Istep component
+ */
+//@{
+const compId_t ISTEP_COMP_ID = 0x1700;
+const char ISTEP_COMP_NAME[] = "istep";
+//@}
+
/** @name RESERVED
* Reserved component ID. x3100 is the component ID
* of FipS ERRL component. Due to our use of
diff --git a/src/include/usr/hwpf/istepreasoncodes.H b/src/include/usr/hwpf/istepreasoncodes.H
new file mode 100644
index 000000000..fc44b2c87
--- /dev/null
+++ b/src/include/usr/hwpf/istepreasoncodes.H
@@ -0,0 +1,71 @@
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/include/usr/hwpf/istepreasoncodes.H $
+ *
+ * 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_TAG
+ */
+/**
+ * @file istepreasoncodes.H
+ *
+ * @brief Reason codes and module ids for the isteps
+ *
+ */
+#ifndef __ISTEPREASONCODES_H
+#define __ISTEPREASONCODES_H
+// -----------------------------------------------
+// Includes
+// -----------------------------------------------
+#include <hbotcompid.H>
+
+namespace ISTEP
+{
+
+/**
+* @enum istepModuleid
+*
+* @brief Module Ids used in created errorlogs. Indicates which
+* functions an error log was created in.
+*
+*/
+enum istepModuleId
+{
+ ISTEP_INVALID_MODULE = 0x00,
+ ISTEP_STARTPAYLOAD_EXECUTE_UNIT_TESTS = 0x01,
+ ISTEP_START_PAYLOAD_CALL_SHUTDOWN = 0x02,
+ ISTEP_START_PAYLOAD_NOTIFY_FSP = 0x03,
+};
+
+/**
+ * @enum istepReasonCode
+ *
+ * @brief Reasoncodes used to describe what errors are being indicated.
+ *
+ */
+enum istepReasonCode
+{
+ ISTEP_INVALID_REASONCODE = ISTEP_COMP_ID | 0x00,
+ ISTEP_CXXTEST_FAILED_TEST = ISTEP_COMP_ID | 0x01,
+ ISTEP_TARGET_NULL = ISTEP_COMP_ID | 0x02,
+ ISTEP_MBOX_MSG_NULL = ISTEP_COMP_ID | 0x03,
+};
+
+}; // end ISTEP
+
+#endif
diff --git a/src/include/usr/initservice/extinitserviceif.H b/src/include/usr/initservice/extinitserviceif.H
new file mode 100644
index 000000000..b8ba61980
--- /dev/null
+++ b/src/include/usr/initservice/extinitserviceif.H
@@ -0,0 +1,41 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/include/usr/initservice/extinitserviceif.H $
+//
+// 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
+#ifndef __INITSERVICE_EXTINITSERVICEIF_H
+#define __INITSERVICE_EXTINITSERVICEIF_H
+
+namespace INITSERVICE
+{
+
+/**
+ * @brief This function will execute the Cxx Unit tests for Hostboot. It is
+ * to be done here, instead of in Initservice, because when this istep
+ * completes the Payload will be started.
+ *
+ * @return errlHndl_t - NULL if successfule, otherwise a pointer to the error
+ * log.
+ */
+errlHndl_t executeUnitTests ( void );
+
+}
+
+#endif
diff --git a/src/include/usr/initservice/initserviceif.H b/src/include/usr/initservice/initserviceif.H
index 44a9c8961..aac8885aa 100644
--- a/src/include/usr/initservice/initserviceif.H
+++ b/src/include/usr/initservice/initserviceif.H
@@ -68,7 +68,7 @@ bool registerShutdownEvent(msg_q_t i_msgQ,
/**
* @brief Un register a service for a Shutdown event
- *
+ *
* @param[in] i_msgQ, The message queue to be removed.
*
* @return true - i_msgQ was removed from the event notification list. |
@@ -76,6 +76,21 @@ bool registerShutdownEvent(msg_q_t i_msgQ,
*/
bool unregisterShutdownEvent(msg_q_t i_msgQ);
+/**
+ * @brief Perform necessary steps, such as FLUSHing, to registered blocks.
+ *
+ * @param[in] i_status - Shutdown status to be passed along on shutdown
+ * @param[in] i_payload_base - The base address (target HRMOR) of the
+ * payload.
+ * @param[in] i_payload_entry - The offset from base address of the
+ * payload entry-point.
+ *
+ * @return Nothing
+ */
+void doShutdown ( uint64_t i_status,
+ uint64_t i_payload_base = 0,
+ uint64_t i_payload_entry = 0 );
+
}
#endif
diff --git a/src/include/usr/initservice/istepdispatcherif.H b/src/include/usr/initservice/istepdispatcherif.H
new file mode 100644
index 000000000..77705086b
--- /dev/null
+++ b/src/include/usr/initservice/istepdispatcherif.H
@@ -0,0 +1,54 @@
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/include/usr/initservice/istepdispatcherif.H $
+ *
+ * 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_TAG
+ */
+#ifndef __INITSERVICE_ISTEPDISPATCHERIF_H
+#define __INITSERVICE_ISTEPDISPATCHERIF_H
+
+#include <sys/msg.h>
+
+namespace INITSERVICE
+{
+
+/**
+* @brief This function returns the MBOX Message Queue used by the istep
+* dispatcher.
+*
+* @param[out] o_msgQ - The message queue.
+*
+* @return NONE.
+*/
+void getIstepMsgQ ( msg_q_t & o_msgQ );
+
+/**
+ * @brief This function returns the current MBOX Message used by the istep
+ * dispatcher.
+ *
+ * @param[out] o_msg - The message.
+ *
+ * @return NONE.
+ */
+void getIstepMsg ( msg_t * o_msg );
+
+}
+
+#endif
diff --git a/src/include/usr/mbox/mbox_queues.H b/src/include/usr/mbox/mbox_queues.H
index dbe1369b0..bd11f09a0 100644
--- a/src/include/usr/mbox/mbox_queues.H
+++ b/src/include/usr/mbox/mbox_queues.H
@@ -1,38 +1,39 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/usr/mbox/mbox_queues.H $
-//
-// 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
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/include/usr/mbox/mbox_queues.H $
+ *
+ * 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_TAG
+ */
#ifndef __MBOX_QUEUES_H
#define __MBOX_QUEUES_H
/**
* @file mbox_queues.H
- * @brief Mailbox queue identifiers. This file is shared between
+ * @brief Mailbox queue identifiers. This file is shared between
* Hostboot and FSP.
*/
namespace MBOX
{
/**
- * message queue IDs
+ * message queue IDs
* FSP msg_queue range 0x80000000 - 0xFFFFFFFF
* Hostboot msg_queue range 0x00000001 - 0x7FFFFFFF
*/
@@ -51,6 +52,7 @@ namespace MBOX
FSP_PROGRESS_CODES_MSGQ,
FSP_TRACE_MSGQ,
FSP_ERRL_MSGQ,
+ IPL_SERVICE_QUEUE = 0x80000008, // Defined by Fsp team
// Add FSP services here:
FSP_ECHO_MSGQ = 0xFFFFFFFF, // Fake FSP for test
};
OpenPOWER on IntegriCloud