]> xenbits.xensource.com Git - xen.git/commitdiff
tools: hvmloader: split scratch and hypercall addressing from ROMBIOS low heap.
authorIan Campbell <ian.campbell@citrix.com>
Tue, 12 Apr 2011 12:39:22 +0000 (13:39 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 12 Apr 2011 12:39:22 +0000 (13:39 +0100)
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>
tools/firmware/hvmloader/config.h
tools/firmware/rombios/32bit/pmm.c
tools/firmware/rombios/config.h

index cac9f1078577e846b359ccd2b28445edd27002de..e7abe3b690f01adcfe71c6c375e4f09eabcdcb7f 100644 (file)
@@ -33,6 +33,9 @@ extern unsigned long pci_mem_start, pci_mem_end;
 #include "e820.h"
 #include "../rombios/config.h"
 
+#define SCRATCH_PHYSICAL_ADDRESS      0x00010000
+#define HYPERCALL_PHYSICAL_ADDRESS    0x00080000
+
 #define VGABIOS_PHYSICAL_ADDRESS      0x000C0000
 
 #endif /* __HVMLOADER_CONFIG_H__ */
index de7c3ca4054f2b3c92b479eedfc2eb8af45cc714..4a279cac26bc30e1cd128233f1b1a92017ff6b75 100644 (file)
@@ -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
index 4fe14615a674f5e79b187de94bb1093e296fb790..cac815172e45417255a14bb9cdc7564eb51657bc 100644 (file)
@@ -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