summaryrefslogtreecommitdiffstats
path: root/src/include/usr/vmmconst.h
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2017-12-06 07:08:01 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-12-12 17:05:15 -0500
commit8fcdfa14a7d3e8615f08c398bec2ee0b7a8d119e (patch)
tree6e451e32e74b77daa524512213d7d0bd94a18655 /src/include/usr/vmmconst.h
parenta6d6b5da3da48be85bedacfb2732a3760b35445c (diff)
downloadtalos-hostboot-8fcdfa14a7d3e8615f08c398bec2ee0b7a8d119e.tar.gz
talos-hostboot-8fcdfa14a7d3e8615f08c398bec2ee0b7a8d119e.zip
Support Verifying and Moving PAYLOAD and HDAT when TCEs are Enabled
This commit makes changes in istep 16 to set up temporary memory regions that the FSP will use to DMA-via-TCEs the PAYLOAD and HDAT sections into memory in istep 20. Then in istep 21 Hostboot will verify and move these sections to the final memory locations. Change-Id: I3c9e026a8e2c3c40008364c4229915b4a661d0fe RTC:181900 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50624 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> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/vmmconst.h')
-rw-r--r--src/include/usr/vmmconst.h36
1 files changed, 26 insertions, 10 deletions
diff --git a/src/include/usr/vmmconst.h b/src/include/usr/vmmconst.h
index ed773da09..32be069d6 100644
--- a/src/include/usr/vmmconst.h
+++ b/src/include/usr/vmmconst.h
@@ -206,7 +206,7 @@ enum BlockPriority
* Need to add (ATTR_HB_HRMOR_NODAL_BASE * hbinstance_num) to this
* address to get the physical address
*/
-#define VMM_INTERNODE_PRESERVED_MEMORY_ADDR (96 * MEGABYTE)
+#define VMM_INTERNODE_PRESERVED_MEMORY_ADDR (120 * MEGABYTE)
/**
* Test Constants
@@ -222,6 +222,31 @@ enum BlockPriority
* Physical Memory Constants
*/
+/** Layout
+ * 0MB-4MB: reserved/open
+ * 4MB-87MB: MCL_ADDR, MCL_TMP_ADDR, HDAT_TMP_ADDR
+ * 88MB-120MB: TCE Table (needs to be 4-byte aligned)
+ * 120MB: VMM_INTERNODE_PRESERVED_MEMORY_ADDR (see above)
+ * 128MB-256MB: See HB_HRMOR info above (with HOMERs, OCC, etc)
+ */
+
+/** Two memory locations for MCL processing **/
+// Note: 2 spaces needed so the MCL can be initialized without wiping out PHYP
+// Location for the MCL itself to sit in.
+#define MCL_ADDR (4*MEGABYTE)
+#define MCL_SIZE (16*KILOBYTE)
+// Location for PHYP to be loaded into and reused for all Master Container Lids
+// Verification is done in a temporary, non-secure area of mainstore memory,
+// then relocated to its final, secure location in mainstore.
+#define MCL_TMP_ADDR (MCL_ADDR + MCL_SIZE)
+#define MCL_TMP_SIZE ( (64 * MEGABYTE) + PAGESIZE )
+
+// Location for HDAT to be loaded into via TCEs by FSP
+// Verification is done in a temporary, non-secure area of mainstore memory,
+// then relocated to its final, secure location in mainstore.
+#define HDAT_TMP_ADDR (MCL_TMP_ADDR + MCL_TMP_SIZE)
+#define HDAT_TMP_SIZE (16 * MEGABYTE)
+
/** Physical memory location of the TCE Table */
/** - needs to be aligned on 4MB boundary */
#define TCE_TABLE_ADDR (88*MEGABYTE)
@@ -235,15 +260,6 @@ enum BlockPriority
#define UNSECURE_MEM_REGION_SIZE_TEST (1*KILOBYTE)
-/** Two memory locations for MCL processing **/
-// Note: 2 spaces needed so the MCL can be initialized without wiping out PHYP
-// Location for the MCL itself to sit in.
-#define MCL_ADDR (20*MEGABYTE)
-#define MCL_SIZE (16*KILOBYTE)
-// Location for PHYP to be loaded into and reused for all Master Container Lids
-// Verification is done in the temp space and then loaded into mainstore memory
-#define MCL_TMP_ADDR (MCL_ADDR + MCL_SIZE)
-#define MCL_TMP_SIZE ( (64 * MEGABYTE) + PAGESIZE )
/** PreVerifiedLidMgr test space */
#define PREVERLIDMGR_TEST_ADDR (512*MEGABYTE)
OpenPOWER on IntegriCloud