From a8bb2c6ec1ea9239b7b65ac40d549b057e6b8aa2 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 25 Apr 2011 13:33:29 +0100 Subject: [PATCH] hvmloader: Fix _start-relative calculation of hypercall page address. We got away with it because _start-HYPERCALL_PHYSICAL_ADDRESS happens to equal HYPERCALL_PHYSICAL_ADDRESS. Signed-off-by: Keir Fraser xen-unstable changeset: 23244:024b06de81ca xen-unstable date: Mon Apr 18 18:08:47 2011 +0100 --- tools/firmware/hvmloader/config.h | 1 + tools/firmware/hvmloader/hypercall.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h index 57e6117b01..18b27e2fc2 100644 --- a/tools/firmware/hvmloader/config.h +++ b/tools/firmware/hvmloader/config.h @@ -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 diff --git a/tools/firmware/hvmloader/hypercall.h b/tools/firmware/hvmloader/hypercall.h index 2df7247359..2de0d828e1 100644 --- a/tools/firmware/hvmloader/hypercall.h +++ b/tools/firmware/hvmloader/hypercall.h @@ -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) \ ({ \