[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 06 of 19] tools: hvmloader: split scratch and hypercall addressing from ROMBIOS low heap



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1302600167 -3600
# Node ID 170ca1c6603ce0cc1893125103c4666dfa303364
# Parent  f3596ba54b29dec182f995e052f31ada0efd5f83
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@xxxxxxxxxx>

diff -r f3596ba54b29 -r 170ca1c6603c tools/firmware/hvmloader/config.h
--- a/tools/firmware/hvmloader/config.h Tue Apr 12 10:19:17 2011 +0100
+++ b/tools/firmware/hvmloader/config.h Tue Apr 12 10:22:47 2011 +0100
@@ -33,6 +33,9 @@ extern unsigned long pci_mem_start, pci_
 #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__ */
diff -r f3596ba54b29 -r 170ca1c6603c tools/firmware/rombios/32bit/pmm.c
--- a/tools/firmware/rombios/32bit/pmm.c        Tue Apr 12 10:19:17 2011 +0100
+++ b/tools/firmware/rombios/32bit/pmm.c        Tue Apr 12 10:22:47 2011 +0100
@@ -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 -r f3596ba54b29 -r 170ca1c6603c tools/firmware/rombios/config.h
--- a/tools/firmware/rombios/config.h   Tue Apr 12 10:19:17 2011 +0100
+++ b/tools/firmware/rombios/config.h   Tue Apr 12 10:22:47 2011 +0100
@@ -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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.