diff options
| author | Mark Wenning <wenning@us.ibm.com> | 2012-04-02 17:27:57 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-04-17 11:34:02 -0500 |
| commit | b97e806c5c044abd0cc12cbca41c8358c67eade1 (patch) | |
| tree | 6f16776b8247eec8c6be8465e1ffd1daad65534b /src/include | |
| parent | b3c9d1540732ead1232098cf3c5c1ebcbc89e573 (diff) | |
| download | blackbird-hostboot-b97e806c5c044abd0cc12cbca41c8358c67eade1.tar.gz blackbird-hostboot-b97e806c5c044abd0cc12cbca41c8358c67eade1.zip | |
Add IStep Stubs for all ISteps in IPL Flow Document
Add stubs for all remaining ISteps, based on
HostBoot_IPL_Flow_v1.01.odt document. Task 39253
1 -5 Not applicable, performed by SBE
6 - Save SBE (HWAS) ALL, Brian is moving some of them from 4
7 - Start Clocks on Nest Chiplets ALL
8 - EDI, EI init ALL
9 - Activate PowerBus ALL
10 - Centaur Init already implemented
11 - DMI Training already implemented
12 - MC Init already Implemented
13 - Dram Training already Implemented
14 - Dram Initialization ALL
15 - Build Winkle Images ALL
16 - Core Activate ALL
17 - Init PSI marked FSP, not implemented
18 - Establish System SMP 18.8, 9, 10 only, the rest are marked FSP
19 - Build and Load Host Image marked FSP, not implemented
20 - Load Payload ALL
21 - Start Payload ALL
RTC: 38196
Change-Id: I4e853f58caafe7dd472d57b42883724eaaa2e8a3
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/826
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/usr/isteps/istep06list.H | 68 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep07list.H | 123 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep08list.H | 147 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep09list.H | 87 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep10list.H | 47 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep11list.H | 26 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep12list.H | 35 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep13list.H | 78 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep14list.H | 171 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep15list.H | 99 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep16list.H | 111 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep18list.H | 175 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep20list.H | 87 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep21list.H | 87 | ||||
| -rw-r--r-- | src/include/usr/isteps/istepmasterlist.H | 45 |
15 files changed, 1269 insertions, 117 deletions
diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H index cdcb8b8dc..b2cfe7328 100644 --- a/src/include/usr/isteps/istep06list.H +++ b/src/include/usr/isteps/istep06list.H @@ -57,33 +57,79 @@ namespace INITSERVICE * */ const TaskInfo g_istep06[] = { + { + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + { + ISTEPNAME(06,01,"host_setup"), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + { + ISTEPNAME(06,02,"host_istep_enable"), + NULL, + { + NONE, + EXT_IMAGE, + } + }, - // @ todo isteps are numbered wrong to match up with hb-istep - - // need to add stubs for the other substeps { - ISTEPNAME(06,00,"host_init_fsi"), // substep name - HWAS::host_init_fsi, // pointer to fn + ISTEPNAME(06,03,"host_init_fsi"), // substep name + HWAS::host_init_fsi, // pointer to fn { - START_FN, // task type - EXT_IMAGE, // Extended Module + START_FN, // task type + EXT_IMAGE, // Extended Module } }, { - ISTEPNAME(06,01,"host_discover_targets"), // substep name - HWAS::host_discover_targets, // pointer to fn + ISTEPNAME(06,04,"set_ipl_parms"), + NULL, { - START_FN, // task type - EXT_IMAGE, // Extended Module + NONE, + EXT_IMAGE, } }, { - ISTEPNAME(06,02, "host_gard"), // substep name + ISTEPNAME(06,05,"host_discover_targets"), // substep name + HWAS::host_discover_targets, // pointer to fn + { + START_FN, // task type + EXT_IMAGE, // Extended Module + } + }, + { + ISTEPNAME(06,06, "host_gard"), // substep name HWAS::host_gard, // pointer to fn { START_FN, // task type EXT_IMAGE, // Extended Module } }, + { + ISTEPNAME(06,07,"host_cancontinue_clear"), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + { + ISTEPNAME(06,08,"proc_check_slave_sbe_seeprom_complete"), + NULL, + { + NONE, + EXT_IMAGE, + } + }, // END OF LIST! }; diff --git a/src/include/usr/isteps/istep07list.H b/src/include/usr/isteps/istep07list.H new file mode 100644 index 000000000..02e54670e --- /dev/null +++ b/src/include/usr/isteps/istep07list.H @@ -0,0 +1,123 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep07list.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 __ISTEPS_ISTEP07LIST_H +#define __ISTEPS_ISTEP07LIST_H + +/** + * @file istep07list.H + * + * IStep 07 Start Clocks On Nest Chiplets + * IPL FLow Doc v1.01 (03/26/12) + * + * 07.1 proc_a_x_pci_dmi_pll_setup + * : Setup PLL for A, X, PCIe, DMI + * 07.2 proc_startclock_chiplets + * : Start clocks on A, X, PCIe chiplets + * 07.3 proc_chiplet_scominit + * : Apply scom inits to chiplets + * 07.4 proc_scomoverride_chiplets + * : Apply sequenced scom inits + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1605 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/start_clocks_on_nest_chiplets/start_clocks_on_nest_chiplets.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep07[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(07,01,"proc_a_x_pci_dmi_pll_setup"), + START_CLOCKS_ON_NEST_CHIPLETS::call_proc_a_x_pci_dmi_pll_setup, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(07,02,"proc_startclock_chiplets"), + START_CLOCKS_ON_NEST_CHIPLETS::call_proc_startclock_chiplets, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(07,03,"proc_chiplet_scominit"), + START_CLOCKS_ON_NEST_CHIPLETS::call_proc_chiplet_scominit, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(07,04,"proc_scomoverride_chiplets"), + START_CLOCKS_ON_NEST_CHIPLETS::call_proc_scomoverride_chiplets, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep07TaskList = { + &(g_istep07[0]), + ( sizeof(g_istep07)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep08list.H b/src/include/usr/isteps/istep08list.H new file mode 100644 index 000000000..efe8104d9 --- /dev/null +++ b/src/include/usr/isteps/istep08list.H @@ -0,0 +1,147 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep08list.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 __ISTEPS_ISTEP08LIST_H +#define __ISTEPS_ISTEP08LIST_H + +/** + * @file istep08list.H + * + * IStep 08 EDI, EI Initialization + * IPL FLow Doc v1.01 (03/26/12) + * + * 08.1 fabric_erepair + * : Restore Fabric/EDI Bus eRepair data + * 08.2 fabric_io_dccal + * : Calibrate Fabric/EDI interfaces + * 08.3 fabric_io_run_training + * : Run training on internal buses + * 08.4 host_startPRD_pbus + * : Load PRD for powerbus domain + * 08.5 host_attnlisten_proc + * : Start listening for attentions + * 08.6 proc_fab_iovalid + * : Lower functional fences on local SMP + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1606 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep08[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(08,01,"fabric_erepair"), + EDI_EI_INITIALIZATION::call_fabric_erepair, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(08,02,"fabric_io_dccal"), + EDI_EI_INITIALIZATION::call_fabric_io_dccal, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(08,03,"fabric_io_run_training"), + EDI_EI_INITIALIZATION::call_fabric_io_run_training, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(08,04,"host_startPRD_pbus"), + EDI_EI_INITIALIZATION::call_host_startPRD_pbus, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(08,05,"host_attnlisten_proc"), + EDI_EI_INITIALIZATION::call_host_attnlisten_proc, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(08,06,"proc_fab_iovalid"), + EDI_EI_INITIALIZATION::call_proc_fab_iovalid, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep08TaskList = { + &(g_istep08[0]), + ( sizeof(g_istep08)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep09list.H b/src/include/usr/isteps/istep09list.H new file mode 100644 index 000000000..37b7190e2 --- /dev/null +++ b/src/include/usr/isteps/istep09list.H @@ -0,0 +1,87 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep09list.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 __ISTEPS_ISTEP09LIST_H +#define __ISTEPS_ISTEP09LIST_H + +/** + * @file istep09list.H + * + * IStep 09 Activate PowerBus + * IPL FLow Doc v1.01 (03/26/12) + * + * 09.1 proc_build_smp + * : Integrate PgP Islands into SMP + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1607 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/activate_powerbus/activate_powerbus.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep09[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(09,01,"proc_build_smp"), + ACTIVATE_POWERBUS::call_proc_build_smp, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep09TaskList = { + &(g_istep09[0]), + ( sizeof(g_istep09)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep10list.H b/src/include/usr/isteps/istep10list.H index fb3e9cb19..3c1a79e8c 100644 --- a/src/include/usr/isteps/istep10list.H +++ b/src/include/usr/isteps/istep10list.H @@ -29,7 +29,7 @@ * @file istep10list.H * * Step 10 Hostboot SBE Centaur Init - * IPL FLow Doc v0.99 (02/10/12) + * IPL FLow Doc v1.01 (03/26/12) * * Please see the note in initsvcstructs.H for description of * the ISTEPNAME macro. @@ -50,7 +50,15 @@ namespace INITSERVICE const TaskInfo g_istep10[] = { { - ISTEPNAME(10,00,"cen_sbe_tp_chiplet_init1"), + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + { + ISTEPNAME(10,01,"cen_sbe_tp_chiplet_init1"), SBE_CENTAUR_INIT::call_cen_sbe_tp_chiplet_init1, { START_FN, @@ -58,15 +66,15 @@ const TaskInfo g_istep10[] = { } }, { - ISTEPNAME( 10, 01, "cen_sbe_tp_arrayinit"), - SBE_CENTAUR_INIT::call_cen_sbe_tp_arrayinit, + ISTEPNAME( 10,02, "cen_sbe_npll_initf"), + SBE_CENTAUR_INIT::call_cen_sbe_npll_initf, { START_FN, EXT_IMAGE, } }, { - ISTEPNAME(10,02,"cen_sbe_tp_chiplet_init2"), + ISTEPNAME(10,03,"cen_sbe_tp_chiplet_init2"), SBE_CENTAUR_INIT::call_cen_sbe_tp_chiplet_init2, { START_FN, @@ -74,39 +82,40 @@ const TaskInfo g_istep10[] = { } }, { - ISTEPNAME(10,03,"cen_sbe_tp_chiplet_init3"), - SBE_CENTAUR_INIT::call_cen_sbe_tp_chiplet_init3, + ISTEPNAME(10,04,"cen_sbe_tp_arrayinit"), + SBE_CENTAUR_INIT::call_cen_sbe_tp_arrayinit, { START_FN, EXT_IMAGE, } }, { - ISTEPNAME(10,04,"cen_sbe_chiplet_init"), - SBE_CENTAUR_INIT::call_cen_sbe_chiplet_init, + ISTEPNAME(10,05,"cen_sbe_tp_chiplet_init3"), + SBE_CENTAUR_INIT::call_cen_sbe_tp_chiplet_init3, { START_FN, EXT_IMAGE, } }, { - ISTEPNAME(10,05,"cen_sbe_arrayinit"), - SBE_CENTAUR_INIT::call_cen_sbe_arrayinit, + ISTEPNAME(10,06,"cen_sbe_chiplet_init"), + SBE_CENTAUR_INIT::call_cen_sbe_chiplet_init, { START_FN, EXT_IMAGE, } }, + { - ISTEPNAME(10,06,"cen_sbe_pll_initf"), - SBE_CENTAUR_INIT::call_cen_sbe_pll_initf, + ISTEPNAME(10,07,"cen_sbe_arrayinit"), + SBE_CENTAUR_INIT::call_cen_sbe_arrayinit, { START_FN, EXT_IMAGE, } }, { - ISTEPNAME(10,07,"cen_sbe_dts_init"), + ISTEPNAME(10,08,"cen_sbe_dts_init"), SBE_CENTAUR_INIT::call_cen_sbe_dts_init, { START_FN, @@ -114,7 +123,7 @@ const TaskInfo g_istep10[] = { } }, { - ISTEPNAME(10,08,"cen_sbe_initf"), + ISTEPNAME(10,09,"cen_sbe_initf"), SBE_CENTAUR_INIT::call_cen_sbe_initf, { START_FN, @@ -122,7 +131,7 @@ const TaskInfo g_istep10[] = { } }, { - ISTEPNAME(10,09,"cen_sbe_do_manual_inits"), + ISTEPNAME(10,10,"cen_sbe_do_manual_inits"), SBE_CENTAUR_INIT::call_cen_sbe_do_manual_inits, { START_FN, @@ -130,15 +139,15 @@ const TaskInfo g_istep10[] = { } }, { - ISTEPNAME(10,10,"cen_sbe_startclocks"), - SBE_CENTAUR_INIT::call_cen_sbe_startclocks, + ISTEPNAME(10,11,"cen_sbe_nest_startclocks"), + SBE_CENTAUR_INIT::call_cen_sbe_nest_startclocks, { START_FN, EXT_IMAGE, } }, { - ISTEPNAME(10,11,"cen_sbe_scominits"), + ISTEPNAME(10,12,"cen_sbe_scominits"), SBE_CENTAUR_INIT::call_cen_sbe_scominits, { START_FN, diff --git a/src/include/usr/isteps/istep11list.H b/src/include/usr/isteps/istep11list.H index 9b57c3681..50e3b0f3d 100644 --- a/src/include/usr/isteps/istep11list.H +++ b/src/include/usr/isteps/istep11list.H @@ -67,7 +67,15 @@ namespace INITSERVICE const TaskInfo g_istep11[] = { { - ISTEPNAME(11,00,"dmi_scominit"), // substep name + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + { + ISTEPNAME(11,01,"dmi_scominit"), // substep name DMI_TRAINING::call_dmi_scominit, // pointer to fn { START_FN, // task type @@ -75,7 +83,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,01,"dmi_erepair"), // substep name + ISTEPNAME(11,02,"dmi_erepair"), // substep name DMI_TRAINING::call_dmi_erepair, // pointer to fn { START_FN, // task type @@ -83,7 +91,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,02,"dmi_io_dccal"), // substep name + ISTEPNAME(11,03,"dmi_io_dccal"), // substep name DMI_TRAINING::call_dmi_io_dccal, // pointer to fn { START_FN, // task type @@ -91,7 +99,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,03,"dmi_io_run_training"), // substep name + ISTEPNAME(11,04,"dmi_io_run_training"), // substep name DMI_TRAINING::call_dmi_io_run_training, // pointer to fn { START_FN, // task type @@ -99,7 +107,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,04,"host_startPRD_dmi"), // substep name + ISTEPNAME(11,05,"host_startPRD_dmi"), // substep name DMI_TRAINING::call_host_startPRD_dmi, // pointer to fn { START_FN, // task type @@ -107,17 +115,15 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,05,"host_attnlisten_cen"), // substep name + ISTEPNAME(11,06,"host_attnlisten_cen"), // substep name DMI_TRAINING::call_host_attnlisten_cen, // pointer to fn { START_FN, // task type EXT_IMAGE, // Extended Module } }, - - { - ISTEPNAME(11,06,"proc_cen_framelock"), // substep name + ISTEPNAME(11,07,"proc_cen_framelock"), // substep name DMI_TRAINING::call_proc_cen_framelock, // pointer to fn { START_FN, // task type @@ -125,7 +131,7 @@ const TaskInfo g_istep11[] = { } }, { - ISTEPNAME(11,07,"cen_set_inband_addr"), // substep name + ISTEPNAME(11,08,"cen_set_inband_addr"), // substep name DMI_TRAINING::call_cen_set_inband_addr, // pointer to fn { START_FN, // task type diff --git a/src/include/usr/isteps/istep12list.H b/src/include/usr/isteps/istep12list.H index 357722be4..cd24350dc 100644 --- a/src/include/usr/isteps/istep12list.H +++ b/src/include/usr/isteps/istep12list.H @@ -56,49 +56,50 @@ namespace INITSERVICE { - const TaskInfo g_istep12[] = { - // NOTE: IStep indexes start with 0 +const TaskInfo g_istep12[] = { { - ISTEPNAME(12,0,"host_collect_dimm_spd"), + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(12,01,"host_collect_dimm_spd"), MC_INIT::call_host_collect_dimm_spd, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(12,1,"mss_volt"), + ISTEPNAME(12,02,"mss_volt"), MC_INIT::call_mss_volt, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(12,2,"mss_freq"), + ISTEPNAME(12,03,"mss_freq"), MC_INIT::call_mss_freq, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(12,3,"mss_eff_config"), + ISTEPNAME(12,4,"mss_eff_config"), MC_INIT::call_mss_eff_config, { START_FN, EXT_IMAGE, } - }, + }, - // END OF LIST! }; diff --git a/src/include/usr/isteps/istep13list.H b/src/include/usr/isteps/istep13list.H index 8014c1904..54cb27f29 100644 --- a/src/include/usr/isteps/istep13list.H +++ b/src/include/usr/isteps/istep13list.H @@ -70,119 +70,107 @@ namespace INITSERVICE { - const TaskInfo g_istep13[] = { - // NOTE: IStep indexes start with 0 +const TaskInfo g_istep13[] = { { - ISTEPNAME(13,0,"host_disable_vddr"), + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(13,01,"host_disable_vddr"), DRAM_TRAINING::call_host_disable_vddr, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,1,"mc_pll_setup"), + ISTEPNAME(13,02,"mc_pll_setup"), DRAM_TRAINING::call_mc_pll_setup, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,2,"mba_startclocks"), + ISTEPNAME(13,03,"mba_startclocks"), DRAM_TRAINING::call_mba_startclocks, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,3,"host_enable_vddr"), + ISTEPNAME(13,04,"host_enable_vddr"), DRAM_TRAINING::call_host_enable_vddr, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,4,"mss_initf"), + ISTEPNAME(13,05,"mss_initf"), DRAM_TRAINING::call_mss_initf, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,5,"mss_ddr_phy_reset"), + ISTEPNAME(13,06,"mss_ddr_phy_reset"), DRAM_TRAINING::call_mss_ddr_phy_reset, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,6,"mss_draminit"), + ISTEPNAME(13,07,"mss_draminit"), DRAM_TRAINING::call_mss_draminit, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,7,"mss_restore_dram_repair"), + ISTEPNAME(13,08,"mss_restore_dram_repair"), DRAM_TRAINING::call_mss_restore_dram_repair, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,8,"mss_draminit_training"), + ISTEPNAME(13,09,"mss_draminit_training"), DRAM_TRAINING::call_mss_draminit_training, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,9,"mss_draminit_trainadv"), + ISTEPNAME(13,10,"mss_draminit_trainadv"), DRAM_TRAINING::call_mss_draminit_trainadv, { START_FN, EXT_IMAGE, } - }, - - + }, { - ISTEPNAME(13,10,"mss_draminit_mc"), + ISTEPNAME(13,11,"mss_draminit_mc"), DRAM_TRAINING::call_mss_draminit_mc, { START_FN, EXT_IMAGE, } - }, + }, + - // END OF LIST! }; diff --git a/src/include/usr/isteps/istep14list.H b/src/include/usr/isteps/istep14list.H new file mode 100644 index 000000000..715b13ee8 --- /dev/null +++ b/src/include/usr/isteps/istep14list.H @@ -0,0 +1,171 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep14list.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 __ISTEPS_ISTEP14LIST_H +#define __ISTEPS_ISTEP14LIST_H + +/** + * @file istep14list.H + * + * IStep 14 Dram Initialization + * IPL FLow Doc v1.01 (03/26/12) + * + * 14.1 host_startPRD_dram + * : Load PRD for DRAM domain + * 14.2 mss_extent_setup + * MSS Extent Setup + * 14.3 mss_memdiag + * Mainstore Pattern Testing + * 14.4 mss_scrub + * : Start background scrub + * 14.5 mss_thermal_init + * : Initialize the thermal sensor + * 14.6 proc_setup_bars + * : Setup Memory BARs + * 14.7 proc_pbus_epsilon + * : Set runtime epsilons + * 14.8 proc_exit_cache_contained + * : Allow execution from memory + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1608 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/dram_initialization/dram_initialization.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep14[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(14,01,"host_startPRD_dram"), + DRAM_INITIALIZATION::call_host_startPRD_dram, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,02,"mss_extent_setup"), + DRAM_INITIALIZATION::call_mss_extent_setup, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,03,"mss_memdiag"), + DRAM_INITIALIZATION::call_mss_memdiag, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,04,"mss_scrub"), + DRAM_INITIALIZATION::call_mss_scrub, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,05,"mss_thermal_init"), + DRAM_INITIALIZATION::call_mss_thermal_init, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,06,"proc_setup_bars"), + DRAM_INITIALIZATION::call_proc_setup_bars, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,07,"proc_pbus_epsilon"), + DRAM_INITIALIZATION::call_proc_pbus_epsilon, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(14,08,"proc_exit_cache_contained"), + DRAM_INITIALIZATION::call_proc_exit_cache_contained, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep14TaskList = { + &(g_istep14[0]), + ( sizeof(g_istep14)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep15list.H b/src/include/usr/isteps/istep15list.H new file mode 100644 index 000000000..8ff4d474b --- /dev/null +++ b/src/include/usr/isteps/istep15list.H @@ -0,0 +1,99 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep15list.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 __ISTEPS_ISTEP15LIST_H +#define __ISTEPS_ISTEP15LIST_H + +/** + * @file istep15list.H + * + * IStep 15 Build Winkle Images + * IPL FLow Doc v1.01 (03/26/12) + * + * 15.1 host_build_winkle + * : Build runtime winkle images + * 15.2 proc_set_pore_bar + * : Place winkle images in memory + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1608 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/build_winkle_images/build_winkle_images.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep15[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(15,01,"host_build_winkle"), + BUILD_WINKLE_IMAGES::call_host_build_winkle, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(15,02,"proc_set_pore_bar"), + BUILD_WINKLE_IMAGES::call_proc_set_pore_bar, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep15TaskList = { + &(g_istep15[0]), + ( sizeof(g_istep15)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep16list.H b/src/include/usr/isteps/istep16list.H new file mode 100644 index 000000000..28a1d8de5 --- /dev/null +++ b/src/include/usr/isteps/istep16list.H @@ -0,0 +1,111 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep16list.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 __ISTEPS_ISTEP16LIST_H +#define __ISTEPS_ISTEP16LIST_H + +/** + * @file istep16list.H + * + * IStep 16 Core Activate + * IPL FLow Doc v1.01 (03/26/12) + * + * 16.1 host_activate_master + * : Activate master core + * 16.2 host_activate_slave_cores + * : Activate slave cores + * 16.3 host_ipl_complete + * : Notify FSP drawer ipl complete + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1609 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/core_activate/core_activate.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep16[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(16,01,"host_activate_master"), + CORE_ACTIVATE::call_host_activate_master, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(16,02,"host_activate_slave_cores"), + CORE_ACTIVATE::call_host_activate_slave_cores, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(16,03,"host_ipl_complete"), + CORE_ACTIVATE::call_host_ipl_complete, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep16TaskList = { + &(g_istep16[0]), + ( sizeof(g_istep16)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep18list.H b/src/include/usr/isteps/istep18list.H new file mode 100644 index 000000000..1ef4428bd --- /dev/null +++ b/src/include/usr/isteps/istep18list.H @@ -0,0 +1,175 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep18list.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 __ISTEPS_ISTEP18LIST_H +#define __ISTEPS_ISTEP18LIST_H + +/** + * @file istep18list.H + * + * IStep 18 Establish System SMP + * IPL FLow Doc v1.01 (03/26/12) + * + * 18.8 host_coalesce_host + * : Create single host image + * 18.9 proc_tod_setup + * : Setup TOD + * 18.10 proc_tod_init + * : Init TOD + * + * ***************************************************************** + * THIS FILE WAS PARTIALLY GENERATED ON 2012-04-11:1611 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/establish_system_smp/establish_system_smp.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep18[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,01,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,02,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,03,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + + ISTEPNAME(18,04,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,05,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,06,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,07,""), + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(18,08,"host_coalesce_host"), + ESTABLISH_SYSTEM_SMP::call_host_coalesce_host, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(18,09,"proc_tod_setup"), + ESTABLISH_SYSTEM_SMP::call_proc_tod_setup, + { + START_FN, + EXT_IMAGE, + } + }, + + + { + ISTEPNAME(18,10,"proc_tod_init"), + ESTABLISH_SYSTEM_SMP::call_proc_tod_init, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep18TaskList = { + &(g_istep18[0]), + ( sizeof(g_istep18)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep20list.H b/src/include/usr/isteps/istep20list.H new file mode 100644 index 000000000..d7a86d57b --- /dev/null +++ b/src/include/usr/isteps/istep20list.H @@ -0,0 +1,87 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep20list.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 __ISTEPS_ISTEP20LIST_H +#define __ISTEPS_ISTEP20LIST_H + +/** + * @file istep20list.H + * + * IStep 20 Load Payload + * IPL FLow Doc v1.01 (03/26/12) + * + * 20.1 host_load_payload + * : Load payload + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1612 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/load_payload/load_payload.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep20[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(20,01,"host_load_payload"), + LOAD_PAYLOAD::call_host_load_payload, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep20TaskList = { + &(g_istep20[0]), + ( sizeof(g_istep20)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istep21list.H b/src/include/usr/isteps/istep21list.H new file mode 100644 index 000000000..e3418ddb8 --- /dev/null +++ b/src/include/usr/isteps/istep21list.H @@ -0,0 +1,87 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/isteps/istep21list.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 __ISTEPS_ISTEP21LIST_H +#define __ISTEPS_ISTEP21LIST_H + +/** + * @file istep21list.H + * + * IStep 21 Start Payload + * IPL FLow Doc v1.01 (03/26/12) + * + * 21.1 host_start_payload + * : Start Payload + * + * ***************************************************************** + * THIS FILE WAS GENERATED ON 2012-04-11:1613 + * ***************************************************************** + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. + * + */ + +#include <initservice/initsvcstructs.H> +#include <initservice/initsvcreasoncodes.H> + +// include prototypes file +#include "../../../usr/hwpf/hwp/start_payload/start_payload.H" + +namespace INITSERVICE +{ + const TaskInfo g_istep21[] = { + + { + + "", // dummy, index 0 + NULL, + { + NONE, + EXT_IMAGE, + } + }, + + { + ISTEPNAME(21,01,"host_start_payload"), + START_PAYLOAD::call_host_start_payload, + { + START_FN, + EXT_IMAGE, + } + }, + + + // END OF LIST! +}; + +// make a struct from the above with the number of items included +const ExtTaskInfo g_istep21TaskList = { + &(g_istep21[0]), + ( sizeof(g_istep21)/sizeof(TaskInfo) ), + NULL // later, depModules struct +}; + +}; // end namespace + +#endif diff --git a/src/include/usr/isteps/istepmasterlist.H b/src/include/usr/isteps/istepmasterlist.H index 2ce020c08..4d01074cb 100644 --- a/src/include/usr/isteps/istepmasterlist.H +++ b/src/include/usr/isteps/istepmasterlist.H @@ -56,13 +56,25 @@ #include <initservice/initsvcstructs.H> // ----- istep include files ----- -#include "istep06list.H" +// isteps 1-5 run before hostboot + +#include "istep06list.H" +#include "istep07list.H" +#include "istep08list.H" +#include "istep09list.H" #include "istep10list.H" #include "istep11list.H" #include "istep12list.H" #include "istep13list.H" - +#include "istep14list.H" +#include "istep15list.H" +#include "istep16list.H" +// istep 17, FSP only +#include "istep18list.H" +// istep 19, FSP only +#include "istep20list.H" +#include "istep21list.H" namespace INITSERVICE { @@ -76,26 +88,29 @@ const ExtTaskInfo g_isteps[] = { { NULL, 0, NULL }, // dummy IStep 4 { NULL, 0, NULL }, // dummy IStep 5 INITSERVICE::g_istep06TaskList, // HWAS IStep 6 - { NULL, 0, NULL }, // dummy IStep 7 - { NULL, 0, NULL }, // dummy IStep 8 - { NULL, 0, NULL }, // dummy IStep 9 - INITSERVICE::g_istep10TaskList, // SBE_CENTAUR_INIT - INITSERVICE::g_istep11TaskList, // DMI_TRAINING - INITSERVICE::g_istep12TaskList, // MC_INIT - INITSERVICE::g_istep13TaskList, // DRAM_TRAINING - { NULL, 0, NULL }, // dummy IStep 14 - { NULL, 0, NULL }, // dummy IStep 15 - { NULL, 0, NULL }, // dummy IStep 16 - + INITSERVICE::g_istep07TaskList, // IStep 7 + INITSERVICE::g_istep08TaskList, // IStep 8 + INITSERVICE::g_istep09TaskList, // IStep 9 + INITSERVICE::g_istep10TaskList, // IStep 10 + INITSERVICE::g_istep11TaskList, // IStep 11 + INITSERVICE::g_istep12TaskList, // IStep 12 + INITSERVICE::g_istep13TaskList, // IStep 13 + INITSERVICE::g_istep14TaskList, // IStep 14 + INITSERVICE::g_istep15TaskList, // IStep 15 + INITSERVICE::g_istep16TaskList, // IStep 16 + { NULL, 0, NULL}, // FSP IStep 17 + INITSERVICE::g_istep18TaskList, // IStep 18 + { NULL, 0, NULL }, // FSP IStep 19 + INITSERVICE::g_istep20TaskList, // IStep 20 + INITSERVICE::g_istep21TaskList // IStep 21 // // add further istep lists at the end. }; - const uint64_t MAX_SUBSTEPS = 25; // publish the size of the g_isteps array -const uint64_t MAX_ISTEPS = sizeof(g_isteps)/sizeof(ExtTaskInfo) ; +const uint64_t MaxISteps = sizeof(g_isteps)/sizeof(ExtTaskInfo) ; }; // namespace |

