[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] x86/HyperV: correct hv_hcall_page for xen.efi build
Along the lines of what the not reverted part of 3c4b2eef4941 ("x86: refine link time stub area related assertion") did, we need to transform the absolute HV_HCALL_PAGE into the image base relative hv_hcall_page (or else there'd be no need for two distinct symbols). Otherwise mkreloc, as used for generating the base relocations of xen.efi, will spit out warnings like "Difference at .text:0009b74f is 0xc0000000 (expected 0x40000000)". As long as the offending relocations are PC relative ones, the generated binary is correct afaict, but if there ever was the absolute address stored, xen.efi would miss a fixup for it. Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- Build tested only (and generated binary inspected) - Wei, please check that this doesn't break things. --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -327,7 +327,7 @@ SECTIONS #endif #ifdef CONFIG_HYPERV_GUEST - hv_hcall_page = ABSOLUTE(HV_HCALL_PAGE); + hv_hcall_page = ABSOLUTE(HV_HCALL_PAGE - XEN_VIRT_START + __XEN_VIRT_START); #endif /* Sections to be discarded */
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |