summaryrefslogtreecommitdiffstats
path: root/src/include/kernel/vmmmgr.H
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2013-03-26 11:23:47 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-06-14 09:09:09 -0500
commite89e72d2f8a2efe86acad95ed0769aa7a8fe64ae (patch)
tree5541b72a698f58757ab2fe36b1a264fff6bcb3a2 /src/include/kernel/vmmmgr.H
parent92255af10842c672550a586d342c67ac1c7e11ca (diff)
downloadtalos-hostboot-e89e72d2f8a2efe86acad95ed0769aa7a8fe64ae.tar.gz
talos-hostboot-e89e72d2f8a2efe86acad95ed0769aa7a8fe64ae.zip
Secureboot memory layout support.
* Start kernel in 1/4 cache mode per Secureboot. * Copy Secureboot header for base image for later use. * Blind-purge bottom half of cache. * Add bottom of cache into memory maps for 1/2 cache mode. RTC: 64762 Change-Id: I1b45f30a2d45c9709d4fd486cfe0ca2ce86b051c Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3773 Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/kernel/vmmmgr.H')
-rw-r--r--src/include/kernel/vmmmgr.H22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/include/kernel/vmmmgr.H b/src/include/kernel/vmmmgr.H
index b740d03e1..dae3c387d 100644
--- a/src/include/kernel/vmmmgr.H
+++ b/src/include/kernel/vmmmgr.H
@@ -42,18 +42,22 @@ class VmmManager
{
INITIAL_MEM_SIZE = 4*MEGABYTE,
- // put the Page Table at the end of our memory space
- PTSIZE = (1 << 18),
- HTABORG_OFFSET = (INITIAL_MEM_SIZE - PTSIZE),
+ // Place the page table at the top side of the cache, 256k in size.
+ INITIAL_PT_OFFSET = INITIAL_MEM_SIZE - 1*MEGABYTE,
+ PTSIZE = 256*KILOBYTE,
+ HTABORG_OFFSET = INITIAL_PT_OFFSET,
- // Put the DMA Pages just under the Page Table
+ // Put the DMA Pages just after the Page Table
MBOX_DMA_PAGES = 64, // must be <= 64
MBOX_DMA_PAGESIZE = (1 * KILOBYTE),
- MBOX_DMA_ADDR = (HTABORG_OFFSET
- - (MBOX_DMA_PAGES * MBOX_DMA_PAGESIZE)),
-
- /** The base image and heap must be below this address. */
- FIRST_RESERVED_PAGE = MBOX_DMA_ADDR,
+ MBOX_DMA_ADDR = INITIAL_PT_OFFSET + PTSIZE,
+ MBOX_DMA_SIZE = MBOX_DMA_PAGES * MBOX_DMA_PAGESIZE,
+
+ /** We need to reserve a hole in heap memory for the page table,
+ * etc. Use these constants to define the hole. */
+ FIRST_RESERVED_PAGE = INITIAL_PT_OFFSET,
+ END_RESERVED_PAGE = INITIAL_PT_OFFSET +
+ PTSIZE + MBOX_DMA_SIZE,
// Tells processor to ignore HRMOR
FORCE_PHYS_ADDR = 0x8000000000000000,
OpenPOWER on IntegriCloud