summaryrefslogtreecommitdiffstats
path: root/src/include/usr/isteps/pm
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2017-07-11 11:39:08 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-22 10:04:10 -0400
commit818acb95a2dc8ff8e94c652e0964f013c1bf34cb (patch)
tree58beb81f944d85df9a62a3e3efca278d890c0ab2 /src/include/usr/isteps/pm
parent8344a11d2ff2a23a83f2e78d139f5067544850d5 (diff)
downloadtalos-hostboot-818acb95a2dc8ff8e94c652e0964f013c1bf34cb.tar.gz
talos-hostboot-818acb95a2dc8ff8e94c652e0964f013c1bf34cb.zip
IPL Time Checkstop Analysis Part 1: Load OCC
First part of the IPL Time Checkstop Analysis story. The OCC image gets loaded from the PNOR directly into SRAM in istep 6.11. The OCC is reset in step 21.1 and the image is reloaded to HOMER. Change-Id: I73ce96b81b311d7ae54356c64aeec816d52fafbb RTC:155065 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43574 Tested-by: Jenkins Server <pfd-jenkins+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> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/isteps/pm')
-rw-r--r--src/include/usr/isteps/pm/occCheckstop.H32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/include/usr/isteps/pm/occCheckstop.H b/src/include/usr/isteps/pm/occCheckstop.H
index 4fa55bfd4..10efd4897 100644
--- a/src/include/usr/isteps/pm/occCheckstop.H
+++ b/src/include/usr/isteps/pm/occCheckstop.H
@@ -47,17 +47,21 @@ namespace HBOCC
NOT_FIR_MASTER = 0x00000000,
IS_FIR_MASTER = 0x00000001,
- // SRAM Address for OCC Main App
- OCC_SRAM_ADDRESS = 0xFFF80000,
+ // SRAM Addresses for OCC Main App and GPE0 app
+ OCC_405_SRAM_ADDRESS = 0xFFF40000,
+ OCC_GPE0_SRAM_ADDRESS = 0xFFF01000,
+ OCC_GPE1_SRAM_ADDRESS = 0xFFF10000,
// SRAM Address and length for FIR HOMER data
- OCC_SRAM_FIR_DATA = 0xFFFF5000,
- OCC_SRAM_FIR_LENGTH = 0x1000,
+ OCC_SRAM_FIR_DATA = 0xFFFBA000,
+ OCC_SRAM_FIR_LENGTH = 0x3000,
// offsets for OCC loading during IPL
- OCC_OFFSET_LENGTH = 0x48,
- OCC_OFFSET_IPL_FLAG = 0x82,
- OCC_OFFSET_FREQ = 0x84,
+ OCC_OFFSET_LENGTH = 0x48,
+ OCC_OFFSET_GPE0_LENGTH = 0x64,
+ OCC_OFFSET_GPE1_LENGTH = 0x68,
+ OCC_OFFSET_IPL_FLAG = 0x92,
+ OCC_OFFSET_FREQ = 0x94,
};
@@ -92,6 +96,20 @@ namespace HBOCC
const PRDF::HwInitialized_t i_curHw = PRDF::ALL_HARDWARE);
#endif
+#ifdef CONFIG_IPLTIME_CHECKSTOP_ANALYSIS
+ /**
+ * @brief Loads the OCC image from PNOR to SRAM
+ *
+ * @param[in] i_target: the proc we're operating on (should be masterproc)
+ * @param[in] i_occVirtAddr: the address of the page allocated for OCC
+ * bootloader.
+ *
+ * @return errlHndl_t Error log if load fails
+ */
+ errlHndl_t loadOCCImageDuringIpl(TARGETING::Target* i_target,
+ void* i_occVirtAddr);
+#endif
+
/**
* @brief Execute procedures and steps required to load
* OCC data in a specified processor
OpenPOWER on IntegriCloud