diff options
author | Ilya Smirnov <ismirno@us.ibm.com> | 2017-08-04 13:39:14 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-20 20:35:52 -0400 |
commit | 8790540c7945c13ce75872f5a664fcd64397899b (patch) | |
tree | 90f89e05c1230b6ad05fc1a937152a4da38f3636 /src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H | |
parent | c413dc9d1954e35d571a8b218c340829ecc2822b (diff) | |
download | talos-hostboot-8790540c7945c13ce75872f5a664fcd64397899b.tar.gz talos-hostboot-8790540c7945c13ce75872f5a664fcd64397899b.zip |
IPL Time Checkstop Analysis: Bypass OCC Bootloader
Give p9_pm_occ_control HWP an option to execute a jump instruction
that bypasses OCC bootloader. This is used in istep 6.11 to start
the OCC early in the IPL.
Change-Id: I404ae400e28bf7a81f467786c9d3af4171e8ff3e
RTC:155065
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44715
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44720
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H index 7b0f93c1c..a9fe4a7b3 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H @@ -94,7 +94,8 @@ enum PPC_BOOT_CONTROL PPC405_BOOT_NULL, ///< Do nothing PPC405_BOOT_SRAM, ///< Boot from OCC SRAM PPC405_BOOT_MEM, ///< Boot from memory - PPC405_BOOT_OLD ///< Deprecated + PPC405_BOOT_OLD, ///< Deprecated + PPC405_BOOT_WITHOUT_BL ///< Bypass OCC bootloader and execute main }; } @@ -102,7 +103,8 @@ enum PPC_BOOT_CONTROL typedef fapi2::ReturnCode (*p9_pm_occ_control_FP_t) (const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&, const p9occ_ctrl::PPC_CONTROL, - const p9occ_ctrl::PPC_BOOT_CONTROL); + const p9occ_ctrl::PPC_BOOT_CONTROL, + const uint64_t i_ppc405_jump_to_main_instr); extern "C" { @@ -114,12 +116,15 @@ extern "C" { /// @param [in] i_target Chip Target /// @param [in] i_ppc405_reset_ctrl Actionto be taken on PPC405 /// @param [in] i_ppc405_boot_ctrl Location of boot instruction +/// @param [in] i_ppc405_jump_to_main_instr The instruction to jump to PPC405 +/// main. Used to bypass the OCC bootloader. Default = 0 /// /// @return FAPI_RC_SUCCESS on success or error return code fapi2::ReturnCode p9_pm_occ_control( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, const p9occ_ctrl::PPC_CONTROL i_ppc405_reset_ctrl, - const p9occ_ctrl::PPC_BOOT_CONTROL i_ppc405_boot_ctrl); + const p9occ_ctrl::PPC_BOOT_CONTROL i_ppc405_boot_ctrl, + const uint64_t i_ppc405_jump_to_main_instr = 0); } // extern "C" #endif // _P9_OCC_CONTROL_H_ |