aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware/rombios
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2011-04-12 13:39:22 +0100
committerIan Campbell <ian.campbell@citrix.com>2011-04-12 13:39:22 +0100
commit26021e67296d82b24223b8c87280bf49e961eed5 (patch)
tree679a5b567545a5cbd6b17038ffaea641e5ec7bcc /tools/firmware/rombios
parent0891c42aea37b512e884ca899ab2c67d3f04b568 (diff)
downloadxen-26021e67296d82b24223b8c87280bf49e961eed5.tar.gz
xen-26021e67296d82b24223b8c87280bf49e961eed5.tar.bz2
xen-26021e67296d82b24223b8c87280bf49e961eed5.zip
tools: hvmloader: split scratch and hypercall addressing from ROMBIOS low heap.
Although happen to live at the same physical address their lifespans do not overlap. The scratch and hypercall spaces are used only within hvmloader and the same area is reused as a heap within ROMBIOS. But each is free to make its own decisions about where to place things. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/firmware/rombios')
-rw-r--r--tools/firmware/rombios/32bit/pmm.c7
-rw-r--r--tools/firmware/rombios/config.h4
2 files changed, 6 insertions, 5 deletions
diff --git a/tools/firmware/rombios/32bit/pmm.c b/tools/firmware/rombios/32bit/pmm.c
index de7c3ca405..4a279cac26 100644
--- a/tools/firmware/rombios/32bit/pmm.c
+++ b/tools/firmware/rombios/32bit/pmm.c
@@ -147,7 +147,7 @@ typedef struct heap {
*
* - conventional memroy (below 1MB)
* In HVM, the area is fixed. 0x00010000-0x0007FFFF
- * (from SCRATCH_PHYSICAL_ADDRESS to HYPERCALL_PHYSICAL_ADDRESS)
+ * (LOWHEAP_SIZE bytes from LOWHEAP_PHYSICAL_ADDRESS)
*
* - extended memory (start at 1MB, below 4GB)
* In HVM, the area starts at memory address 0x00100000.
@@ -283,8 +283,9 @@ pmm_initalize(void)
}
/* convectional memory: RAM below 1MB, 0x10000-0x7FFFF */
- pmm_init_heap(&pmm_data.heap, SCRATCH_PHYSICAL_ADDRESS,
- HYPERCALL_PHYSICAL_ADDRESS);
+ pmm_init_heap(&pmm_data.heap,
+ LOWHEAP_PHYSICAL_ADDRESS,
+ LOWHEAP_PHYSICAL_ADDRESS+LOWHEAP_SIZE);
}
static uint32_t
diff --git a/tools/firmware/rombios/config.h b/tools/firmware/rombios/config.h
index 4fe14615a6..cac815172e 100644
--- a/tools/firmware/rombios/config.h
+++ b/tools/firmware/rombios/config.h
@@ -2,8 +2,8 @@
#define _ROMBIOS_CONFIG_H
/* Memory map. */
-#define SCRATCH_PHYSICAL_ADDRESS 0x00010000
-#define HYPERCALL_PHYSICAL_ADDRESS 0x00080000
+#define LOWHEAP_PHYSICAL_ADDRESS 0x00010000
+#define LOWHEAP_SIZE 0x00070000
#define OPTIONROM_PHYSICAL_ADDRESS 0x000C8000
#define OPTIONROM_PHYSICAL_END 0x000EA000