summaryrefslogtreecommitdiffstats
path: root/src/include/usr/runtime
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2017-10-20 15:45:05 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-12-15 16:06:35 -0500
commitfd12b61b55f27a6a9f83e4571b2034e8d6191ba0 (patch)
tree44f36605c2c457c1fe49db1c7b767f6bb6b67244 /src/include/usr/runtime
parent04dca99153cae852c2b7a3e63fc497d7cf0f2dda (diff)
downloadtalos-hostboot-fd12b61b55f27a6a9f83e4571b2034e8d6191ba0.tar.gz
talos-hostboot-fd12b61b55f27a6a9f83e4571b2034e8d6191ba0.zip
Add hbHypCommArea struct to end of Hostboot Data reserved mem section
The Hypervisor needs a way to send down an address to the host so that the host can account for the HRMOR moving and still be able to boot on an MPIPL. To do this we are adding another subsection to the existing reserved memory section which already was holding VPD and attribute info. This subsection will serve as the HB-HYP communication region. For now PHYP is the only hypervisor using this space and they are only using it to store the HRMOR if they decide to move it. In order for the hypervisor to easily find where to write the HRMOR we added an address pointer to HDAT that hostboot will fill in to tell PHYP where to write the HRMOR. This is all setting up for us to be able to read the HRMOR after an MPIPL so that we can load the hypervisor in at the correct address. Change-Id: I5d3687a207296bd87d2a7120dd17505e0022b748 RTC: 180959 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48651 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include/usr/runtime')
-rw-r--r--src/include/usr/runtime/runtime.H18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/include/usr/runtime/runtime.H b/src/include/usr/runtime/runtime.H
index f84cf09fb..25177e465 100644
--- a/src/include/usr/runtime/runtime.H
+++ b/src/include/usr/runtime/runtime.H
@@ -126,8 +126,18 @@ errlHndl_t populate_TpmInfoByNode();
#define HB_RSV_MEM_NUM_PTRS 49
//Note this means the Reserved Mem sub-section is the 6th
-//(0 based) of the MDT section (See HDAT spec)
-#define MDT_RESERVED_HB_MEM_SECTION 5
+//(0 based) of the MDT section (See HDAT spec 11.1.1)
+#define MDT_MAINSTORE_ADDR_SECTION 0
+#define MDT_RESERVED_HB_MEM_SECTION 5
+
+// Defines offset into mainstore address section wher HB writes the address
+// of the HYP/HB comm area
+// (See HDAT spec 11.1.2.1 Mainstore Address Configuration)
+#define MDT_MAINSTORE_ADDR_SECTION_HYP_HB_COMM_ADDR_OFFSET 0x1C
+// Defines amount of bytes set aside for HB to write the address
+// of the HYP/HB communication area address space
+// (See HDAT spec 11.1.2.1 Mainstore Address Configuration)
+#define MDT_MAINSTORE_ADDR_SECTION_HYP_HB_COMM_ADDR_SIZE 0x8
/**
* HDAT Sections
@@ -151,7 +161,9 @@ enum SectionId
IPMI_DATA, //< IPMI Sensor Mapping Data
NODE_TPM_RELATED, //< Node TPM Related Data
RESERVED_MEM, //< Hostboot's Reserved Mainstore Memory
- LAST_SECTION = RESERVED_MEM //< Placeholder for arrays
+ HRMOR_STASH, //< Pointer to address in reserved memory
+ // where PHYP can write HRMOR
+ LAST_SECTION = HRMOR_STASH //< Placeholder for arrays
};
/**
OpenPOWER on IntegriCloud