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

Re: [PATCH] x86/HyperV: correct hv_hcall_page for xen.efi build



On Thu, Apr 30, 2020 at 12:24:15PM +0200, Jan Beulich wrote:
> 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>

Acked-by: Wei Liu <wl@xxxxxxx>

> ---
> Build tested only (and generated binary inspected) - Wei, please check
> that this doesn't break things.
> 

I don't have time to verify this in next couple of weeks, but I will
surely notice if there is a breakage.

> --- 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 */



 


Rackspace

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