On 30.01.2020 13:28, Wei Liu wrote:
> On Thu, Jan 30, 2020 at 01:08:07PM +0100, Roger Pau Monné wrote:
>>
>>> +}
>>> +
>>>  /*
>>>   * Local variables:
>>>   * mode: C
>>> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
>>> index 97f9c07891..8e02b4c648 100644
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -329,6 +329,10 @@ SECTIONS
>>>    efi = .;
>>>  #endif
>>>  
>>> +#ifdef CONFIG_HYPERV_GUEST
>>> +  hv_hcall_page = ABSOLUTE(__fix_x_to_virt(1));
>>
>> I assume there's no way to use FIX_X_HYPERV_HCALL because it's an
>> enum?
>>
> 
> Yes.
> 
> And the trick to generate a symbol didn't work either.

I guess I need an explanation here. Aiui you don't really need
the definition to be in the linker script, and it could as well
be in e.g. assembly code. How does the same .equ approach not
work in this case?

Also I think the above will trigger the warnings Andrew had
mentioned (on irc?) from the code generating xen.efi's runtime
relocation table. Just like in

ASSERT(__2M_rwdata_end <= XEN_VIRT_END - XEN_VIRT_START + __XEN_VIRT_START -
                          NR_CPUS * PAGE_SIZE,
       "Xen image overlaps stubs area")

I think you need to adjust by __XEN_VIRT_START - XEN_VIRT_START.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to