diff options
| author | Corey Swenson <cswenson@us.ibm.com> | 2017-02-07 22:20:56 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-03-08 17:27:25 -0500 |
| commit | 8c15e0972e877d13fe79432e7ee7c97f550b2889 (patch) | |
| tree | 9a0346a8af6c10f12c1719746725ae191f4ba8f9 /src/include/usr | |
| parent | ea41fffce4f08b98d0197bbdaa7877d36f6d8f79 (diff) | |
| download | blackbird-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.H | 13 | ||||
| -rw-r--r-- | src/include/usr/runtime/runtime_reasoncodes.H | 2 | ||||
| -rw-r--r-- | src/include/usr/vmmconst.h | 51 |
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) |

