summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2017-02-07 22:20:56 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-03-08 17:27:25 -0500
commit8c15e0972e877d13fe79432e7ee7c97f550b2889 (patch)
tree9a0346a8af6c10f12c1719746725ae191f4ba8f9 /src/include/usr
parentea41fffce4f08b98d0197bbdaa7877d36f6d8f79 (diff)
downloadblackbird-hostboot-8c15e0972e877d13fe79432e7ee7c97f550b2889.tar.gz
blackbird-hostboot-8c15e0972e877d13fe79432e7ee7c97f550b2889.zip
Set up HDAT HB Reserved Memory and load reserved memory data
Change-Id: Ie8460ecdf67cd99ab422fe52c4ec936f4c0aa8f1 RTC:165514 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36117 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@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.H13
-rw-r--r--src/include/usr/runtime/runtime_reasoncodes.H2
-rw-r--r--src/include/usr/vmmconst.h51
3 files changed, 37 insertions, 29 deletions
diff --git a/src/include/usr/runtime/runtime.H b/src/include/usr/runtime/runtime.H
index 3b9dfefe1..0ece1744a 100644
--- a/src/include/usr/runtime/runtime.H
+++ b/src/include/usr/runtime/runtime.H
@@ -98,6 +98,13 @@ errlHndl_t populate_RtDataByNode(uint64_t iNodeId);
// HOMER*8/OCC_Common/VPD/ATTR/HBRT_Image/Res/Res/Res
#define HB_RSV_MEM_NUM_PTRS 15
+// Range types for HB reserved memory
+#define RANGE_TYPE_PRIMARY 0
+#define RANGE_TYPE_HBRT 1
+#define RANGE_TYPE_VERIFIED_LIDS 2
+#define RANGE_TYPE_TPM_LOG 3
+#define RANGE_TYPE_HOMER_OCC 4
+
//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
@@ -163,7 +170,7 @@ void saveActualCount( RUNTIME::SectionId i_id,
*/
errlHndl_t writeActualCount( RUNTIME::SectionId i_id );
-/*
+/**
* @brief Retrieve and log FFDC data relevant to a given section of
* host data memory
*
@@ -175,13 +182,13 @@ errlHndl_t writeActualCount( RUNTIME::SectionId i_id );
void add_host_data_ffdc( SectionId i_section,
errlHndl_t& io_errlog );
-/*
+/**
* @brief Set the PAYLOAD_BASE attribute
* @param[in] i_payloadAddress in MEGABYTES
*/
void setPayloadBaseAddress(uint64_t i_payloadAddress);
-/*
+/**
* @brief Clear out any cached data and rediscover the location
* of the HDAT memory
*/
diff --git a/src/include/usr/runtime/runtime_reasoncodes.H b/src/include/usr/runtime/runtime_reasoncodes.H
index 311851680..2678c28a0 100644
--- a/src/include/usr/runtime/runtime_reasoncodes.H
+++ b/src/include/usr/runtime/runtime_reasoncodes.H
@@ -50,6 +50,8 @@ namespace RUNTIME
MOD_POPULATE_RTDATABYNODE = 0x14, /**< populate_hbruntime.C */
MOD_PM_RT_LOAD_PM_COMPLEX = 0x15, /**< rt_pm.C */
MOD_PM_RT_HCODE_UPDATE = 0x16, /**< rt_pm.C */
+ MOD_MAP_PHYS_ADDR = 0x17, /**< populate_hbruntime.C */
+ MOD_UNMAP_VIRT_ADDR = 0x18, /**< populate_hbruntime.C */
};
enum RuntimeReasonCode
diff --git a/src/include/usr/vmmconst.h b/src/include/usr/vmmconst.h
index e6763c7bd..98384cf9f 100644
--- a/src/include/usr/vmmconst.h
+++ b/src/include/usr/vmmconst.h
@@ -131,6 +131,10 @@ enum BlockPriority
/** Page Size in bits per SLBE */
#define SLBE_b 12
+/** Hostboot reserved memory */
+#define VMM_HRMOR_OFFSET 128*MEGABYTE
+#define VMM_HB_RSV_MEM_SIZE 256*MEGABYTE
+
/** Hardwired offsets from HRMOR to HOMER images in real mem */
/** HOMER starts immediately after our HB memory */
/** <n0p0 HRMOR = 128MB> + <memory size = 32MB> = 160MB */
@@ -158,26 +162,34 @@ enum BlockPriority
/** Total Memory required for HOMERs and OCC Common */
#define VMM_ALL_HOMER_OCC_MEMORY_SIZE \
- (VMM_OCC_COMMON_SIZE+VMM_HOMER_REGION_SIZE)
-
+ (VMM_OCC_COMMON_SIZE + VMM_HOMER_REGION_SIZE)
-/** Reserved runtime VPD sizes in bytes */
-// must be 64KB aligned
-#define VMM_MODULE_VPD_SIZE 0x80000
-#define VMM_CENTAUR_VPD_SIZE 0x40000
-#define VMM_DIMM_JEDEC_VPD_SIZE 0x40000
+/** Memory offset for runtime VPD image */
+// Given value is number of bytes BELOW the top of memory to store
+// the runtime image(s) Currently below the OCC HOMER IMAGE
+#define VMM_RT_VPD_OFFSET (VMM_RT_VPD_SIZE + \
+ VMM_ALL_HOMER_OCC_MEMORY_SIZE)
-/** Total VPD image size */
+/** Memory for VPD */
+#define VMM_VPD_START_OFFSET VMM_OCC_COMMON_END_OFFSET
+#define VMM_MODULE_VPD_SIZE (512*KILOBYTE) /* must be 64KB aligned */
+#define VMM_CENTAUR_VPD_SIZE (256*KILOBYTE) /* must be 64KB aligned */
+#define VMM_DIMM_JEDEC_VPD_SIZE (256*KILOBYTE) /* must be 64KB aligned */
#define VMM_RT_VPD_SIZE (VMM_MODULE_VPD_SIZE + \
VMM_CENTAUR_VPD_SIZE + \
VMM_DIMM_JEDEC_VPD_SIZE)
+/** End of VPD Area = 201MB */
-/** Memory offset for runtime VPD image */
-// Given value is number of bytes BELOW the top of memory to store
-// the runtime image(s) Currently below the OCC HOMER IMAGE
-#define VMM_RT_VPD_OFFSET (VMM_RT_VPD_SIZE + \
- VMM_ALL_HOMER_OCC_MEMORY_SIZE)
+/** Memory for attribute data */
+#define VMM_ATTR_DATA_START_OFFSET \
+ (VMM_VPD_START_OFFSET + VMM_RT_VPD_SIZE)
+#define VMM_ATTR_DATA_SIZE (1*MEGABYTE)
+/** End of Attr Area = 202MB */
+/** Chunk of physical memory used for Dump Source Table */
+#define DUMP_TEST_MEMORY_ADDR \
+ (VMM_ATTR_DATA_START_OFFSET + VMM_ATTR_DATA_SIZE) /* currently 202MB */
+#define DUMP_TEST_MEMORY_SIZE (4*MEGABYTE)
/** Internode communication area outside of the HB image.
* Preserved between mpipl.
@@ -215,19 +227,6 @@ enum BlockPriority
/** Block size used in remove pages test */
#define VMM_SIZE_RMVPAGE_TEST (8 * PAGESIZE)
-/** Chunk of physical memory to use for HostServices Attributes */
-#define MPIPL_ATTR_DATA_ADDR \
- VMM_OCC_COMMON_END_OFFSET + VMM_OCC_COMMON_SIZE /* currently 200MB */
-#define MPIPL_SYSDATA_SIZE (4*KILOBYTE) /* match FSP HDAT code */
-#define MPIPL_NODEDATA_SIZE (256000) /* match FSP HDAT code */
-#define MPIPL_ATTR_DATA_SIZE \
- ALIGN_PAGE((MPIPL_SYSDATA_SIZE+MPIPL_NODEDATA_SIZE))
-#define MPIPL_ATTR_VMM_SIZE (1*MEGABYTE)
-
-/* Chunk of physical memory used for Dump Source Table */
-#define DUMP_TEST_MEMORY_ADDR (MPIPL_ATTR_DATA_ADDR + MPIPL_ATTR_DATA_SIZE)
-#define DUMP_TEST_MEMORY_SIZE (4*MEGABYTE)
-
/** Physical memory location of the TCE Table */
/** - needs to be aligned on 4MB boundary */
#define TCE_TABLE_ADDR (88*MEGABYTE)
OpenPOWER on IntegriCloud