summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/initservice/initsvcstructs.H48
-rw-r--r--src/include/usr/ipmi/ipmisensor.H20
-rw-r--r--src/include/usr/isteps/istep06list.H5
-rw-r--r--src/include/usr/isteps/istep10list.H5
-rw-r--r--src/include/usr/isteps/istep15list.H5
-rw-r--r--src/include/usr/isteps/istep18list.H5
6 files changed, 51 insertions, 37 deletions
diff --git a/src/include/usr/initservice/initsvcstructs.H b/src/include/usr/initservice/initsvcstructs.H
index d9e412973..a6cc270af 100644
--- a/src/include/usr/initservice/initsvcstructs.H
+++ b/src/include/usr/initservice/initsvcstructs.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -38,6 +38,7 @@
#include <sys/vfs.h> // VFS_MODULE_NAME_MAX
#include <initservice/initsvcreasoncodes.H>
+#include <initservice/initsvcstructs.H>
// This constant has a corresponding entry in src/build/tools/listdeps.pl.
#define MAX_DEPENDENT_MODULES 9
@@ -119,7 +120,28 @@ enum IplOpType
NORMAL_IPL_OP = 0x01,
MPIPL_OP = 0x02,
};
-
+/**
+ * @enum FirmwareProgressType
+ * - PHASE_NA -> No FW progress update. (All other isteps)
+ * - BASE_INITIALIZATION -> 6.3
+ * - MEMORY_INIT -> 10.1
+ * - SEC_PROCESSOR_INIT -> 15.1
+ * - STARTING_OS -> 18.13
+ *
+ * See Dean's BMC Function Requirements (R3.2-3.16)
+ * NOTE: The spec says we should update the progress code at the beginning
+ * of each of the step ranges. Here we are updating at specific
+ * substeps since the previous substeps are functionally HB no-ops.
+ * If these become functional, we will need to change this.
+ */
+enum firmwareProgressPhase
+{
+ PHASE_NA = 0x0, // Not applicable
+ MEMORY_INIT = 0x01, //< isteps 10->14
+ SEC_PROCESSOR_INIT = 0x03, //< isteps 15->16
+ STARTING_OS = 0x13, //< isteps 17->21
+ BASE_INITIALIZATION = 0x14, //< isteps 6-> 9
+};
/**
* @struct TaskFlags
*
@@ -130,16 +152,18 @@ enum IplOpType
*/
struct TaskFlags
{
- TaskType task_type; // task execution flags
- ModuleType module_type; // BASE_IMAGE or EXT_IMAGE
- uint8_t ipl_op; // bitmap of IplOpType enum
- // indicating whether task
- // is an op in certain IPL modes.
- bool check_attn; // flag indicating whether to check
- // for attentions and invoke PRD
- // for analysis after executing
- // the istep substep
- // true = check for attentions
+ TaskType task_type; // -- Task execution flags
+ ModuleType module_type; // -- BASE_IMAGE or EXT_IMAGE
+ uint8_t ipl_op; // -- Bitmap of IplOpType enum
+ // indicating whether task
+ // is an op in certain IPL modes.
+ bool check_attn; // -- Flag indicating whether to check
+ // for attentions and invoke PRD
+ // for analysis after executing
+ // the istep substep
+ // true = check for attentions
+ firmwareProgressPhase fwprogtype; // -- Flag indicating current IPMI
+ // Boot Progress code
};
diff --git a/src/include/usr/ipmi/ipmisensor.H b/src/include/usr/ipmi/ipmisensor.H
index 4b266e1b5..7575024a9 100644
--- a/src/include/usr/ipmi/ipmisensor.H
+++ b/src/include/usr/ipmi/ipmisensor.H
@@ -31,6 +31,7 @@
* is used to handle setting the virtual sensors maintained by the BMC.
*/
+#include <initservice/initsvcstructs.H>
#include <attributeenums.H>
#include <targeting/common/target.H>
#include <errl/errlentry.H>
@@ -323,22 +324,6 @@ namespace SENSOR
public:
/**
- * @enum firmwareProgressPhase
- *
- * Current firmware progress phase
- *
- */
- enum firmwareProgressPhase
- {
- MEMORY_INIT = 0x01, //< isteps 10->14
- SEC_PROCESSOR_INIT = 0x03, //< isteps 15->16
- STARTING_OS = 0x13, //< isteps 17->21
- BASE_INITIALIZATION = 0x14, //< isteps 6-> 9
- PHASE_NA = 0xFF, // Not applicable
-
- };
-
- /**
* @brief Constructor for the FirmwareProgressSensor
*
* The firmware progress sensor is used to update the BMC
@@ -368,7 +353,8 @@ namespace SENSOR
* @return Errorlog handle
*
*/
- errlHndl_t setBootProgressPhase(firmwareProgressPhase i_phase);
+ errlHndl_t setBootProgressPhase(
+ INITSERVICE::firmwareProgressPhase i_phase);
private:
// @enum firmwareProgressOfsets
diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H
index 98ec2fd70..c77eb56fc 100644
--- a/src/include/usr/isteps/istep06list.H
+++ b/src/include/usr/isteps/istep06list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -98,7 +98,8 @@ const TaskInfo g_istep06[] = {
{
ISTEPNAME(06,03,"host_init_fsi"),
HWAS::host_init_fsi,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false }
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false,
+ BASE_INITIALIZATION }
},
{
ISTEPNAME(06,04,"host_set_ipl_parms"),
diff --git a/src/include/usr/isteps/istep10list.H b/src/include/usr/isteps/istep10list.H
index cd40eea4f..1e365499c 100644
--- a/src/include/usr/isteps/istep10list.H
+++ b/src/include/usr/isteps/istep10list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -88,7 +88,8 @@ const TaskInfo g_istep10[] = {
{
ISTEPNAME(10,01,"host_prd_hwreconfig"),
HWAS::host_prd_hwreconfig,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true,
+ MEMORY_INIT }
},
{
ISTEPNAME(10,02,"cen_sbe_tp_chiplet_init1"),
diff --git a/src/include/usr/isteps/istep15list.H b/src/include/usr/isteps/istep15list.H
index 9c0bc2e86..b982e2a64 100644
--- a/src/include/usr/isteps/istep15list.H
+++ b/src/include/usr/isteps/istep15list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -65,7 +65,8 @@ namespace INITSERVICE
{
ISTEPNAME(15,01,"host_build_winkle"),
BUILD_WINKLE_IMAGES::call_host_build_winkle,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, true }
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, true,
+ SEC_PROCESSOR_INIT }
},
{
ISTEPNAME(15,02,"proc_set_pore_bar"),
diff --git a/src/include/usr/isteps/istep18list.H b/src/include/usr/isteps/istep18list.H
index 3ce23445b..cd6745102 100644
--- a/src/include/usr/isteps/istep18list.H
+++ b/src/include/usr/isteps/istep18list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -127,7 +127,8 @@ namespace INITSERVICE
{
ISTEPNAME(18,13,"proc_tod_setup"),
TOD::call_tod_setup,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false,
+ STARTING_OS }
},
{
ISTEPNAME(18,14,"proc_tod_init"),
OpenPOWER on IntegriCloud