diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2017-10-20 15:45:05 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-12-15 16:06:35 -0500 |
commit | fd12b61b55f27a6a9f83e4571b2034e8d6191ba0 (patch) | |
tree | 44f36605c2c457c1fe49db1c7b767f6bb6b67244 /src/include/usr/runtime | |
parent | 04dca99153cae852c2b7a3e63fc497d7cf0f2dda (diff) | |
download | talos-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.H | 18 |
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 }; /** |