summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2017-08-04 13:39:14 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-20 20:35:52 -0400
commit8790540c7945c13ce75872f5a664fcd64397899b (patch)
tree90f89e05c1230b6ad05fc1a937152a4da38f3636 /src/import/chips/p9/procedures/hwp/pm/p9_pm_occ_control.H
parentc413dc9d1954e35d571a8b218c340829ecc2822b (diff)
downloadtalos-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.H11
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_
OpenPOWER on IntegriCloud