]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
hvmloader: Fix _start-relative calculation of hypercall page address.
authorKeir Fraser <keir@xen.org>
Mon, 25 Apr 2011 12:33:29 +0000 (13:33 +0100)
committerKeir Fraser <keir@xen.org>
Mon, 25 Apr 2011 12:33:29 +0000 (13:33 +0100)
We got away with it because _start-HYPERCALL_PHYSICAL_ADDRESS happens
to equal HYPERCALL_PHYSICAL_ADDRESS.

Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset:   23244:024b06de81ca
xen-unstable date:        Mon Apr 18 18:08:47 2011 +0100

tools/firmware/hvmloader/config.h
tools/firmware/hvmloader/hypercall.h

index 57e6117b01206e84ba38a51926a22a5c7009d45c..18b27e2fc2c3068435ac0453c9cdbffd83dc303d 100644 (file)
@@ -41,6 +41,7 @@ extern unsigned long pci_mem_start, pci_mem_end;
 #define SMBIOS_PHYSICAL_ADDRESS       0x000EB000
 #define SMBIOS_MAXIMUM_SIZE           0x00005000
 #define ROMBIOS_PHYSICAL_ADDRESS      0x000F0000
+#define HVMLOADER_PHYSICAL_ADDRESS    0x00100000
 
 /* Offsets from E820_PHYSICAL_ADDRESS. */
 #define E820_NR_OFFSET                0x0
index 2df7247359986dd22e10923e37c44a762ecbf14e..2de0d828e1a5191fcbb760acc6c820fda19da126 100644 (file)
@@ -39,7 +39,8 @@
  * NB. Hypercall address needs to be relative to a linkage symbol for
  * some version of ld to relocate the relative calls properly.
  */
-#define hypercall_pa "_start - " STR(HYPERCALL_PHYSICAL_ADDRESS)
+#define hypercall_pa "_start - " STR(HVMLOADER_PHYSICAL_ADDRESS) \
+                           " + " STR(HYPERCALL_PHYSICAL_ADDRESS)
 
 #define _hypercall0(type, name)                                                \
 ({                                                                     \