diff options
author | Terry J. Opie <opiet@us.ibm.com> | 2012-05-17 13:22:48 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-06-12 12:41:41 -0500 |
commit | dec09123e59a74c471ab967cd662a57a53b16800 (patch) | |
tree | 04b78fe1863b4d72f91fdb3acbf12e1b292b4ed0 /src/include/usr | |
parent | c57e10754ce222368b371355509e2f505e724893 (diff) | |
download | talos-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.H | 8 | ||||
-rw-r--r-- | src/include/usr/hwpf/istepreasoncodes.H | 71 | ||||
-rw-r--r-- | src/include/usr/initservice/extinitserviceif.H | 41 | ||||
-rw-r--r-- | src/include/usr/initservice/initserviceif.H | 17 | ||||
-rw-r--r-- | src/include/usr/initservice/istepdispatcherif.H | 54 | ||||
-rw-r--r-- | src/include/usr/mbox/mbox_queues.H | 50 |
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 }; |