summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2018-02-21 11:14:11 +0530
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-19 17:57:04 -0400
commit30cd84febe39134df6d837538e68e25ca9fb8b76 (patch)
treea10b57c9d9a02f99f70b673a249adbacdc8f7c1c /src/include/usr
parent2154ad02364923d5b158825729d6e630ec7cc529 (diff)
downloadtalos-hostboot-30cd84febe39134df6d837538e68e25ca9fb8b76.tar.gz
talos-hostboot-30cd84febe39134df6d837538e68e25ca9fb8b76.zip
Add support to find relocated payload base address
OPAL relocates itself after boot. During MPIPL, hostboot needs to access relocated SPIRAH. Hence lets add support to get relocated payload base address. OPAL will use SBE stash chip-op to send relocated address to SBE. During early IPL SBE sends stashed data to hostboot. And hostboot will use that information to find relocated payload (OPAL) base. SBE stash chip op: key = 0x03 val = <relocated payload base address> Change-Id: I1089bd38f32b01b877d1580ba76313fc250e5c08 Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55190 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> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/runtime/runtime.H7
-rw-r--r--src/include/usr/sbeio/sbeioif.H7
-rw-r--r--src/include/usr/targeting/attrrp.H8
3 files changed, 19 insertions, 3 deletions
diff --git a/src/include/usr/runtime/runtime.H b/src/include/usr/runtime/runtime.H
index c508cc13f..9b8112a2b 100644
--- a/src/include/usr/runtime/runtime.H
+++ b/src/include/usr/runtime/runtime.H
@@ -299,6 +299,13 @@ void saveActualCount( SectionId i_id,
errlHndl_t writeActualCount( SectionId i_id );
/**
+ * @brief Use relocated payload base address
+ *
+ * @param[in] val 'true' for post dump data collection
+ */
+void useRelocatedPayloadAddr(bool val);
+
+/**
* @brief Retrieve and log FFDC data relevant to a given section of
* host data memory
*
diff --git a/src/include/usr/sbeio/sbeioif.H b/src/include/usr/sbeio/sbeioif.H
index 12881c939..3e68599f3 100644
--- a/src/include/usr/sbeio/sbeioif.H
+++ b/src/include/usr/sbeio/sbeioif.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2017 */
+/* Contributors Listed Below - COPYRIGHT 2013,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -31,8 +31,9 @@ namespace SBEIO
{
enum KeyAddrStashKeys
{
- RSV_MEM_ATTR_ADDR = 0x01, //Start at non-zero
- HYPERVISOR_HRMOR = 0x02,
+ RSV_MEM_ATTR_ADDR = 0x01, //Start at non-zero
+ HYPERVISOR_HRMOR = 0x02,
+ RELOC_PAYLOAD_ADDR = 0x03,
//On SBE side struct is defaulted so that
//Keys are 0xFF and Vals are 0xFFFFFFFFFFFFFFFF
//So a key w/ FF means its empty or at its default val
diff --git a/src/include/usr/targeting/attrrp.H b/src/include/usr/targeting/attrrp.H
index cb7e9e35e..0c6f1aa8d 100644
--- a/src/include/usr/targeting/attrrp.H
+++ b/src/include/usr/targeting/attrrp.H
@@ -159,6 +159,14 @@ class AttrRP
#endif
/**
+ * @brief Returns relocated absolute address of payload
+ *
+ * @return phys addr of payload
+ *
+ */
+ static uint64_t getHbDataRelocPayloadAddr();
+
+ /**
* @brief Returns base address of the RO section containing the
* targets
*
OpenPOWER on IntegriCloud