>>> On 21.02.17 at 20:19, <daniel.ki...@oracle.com> wrote:
> Every multiboot protocol (regardless of version) compatible image must
> specify its load address (in ELF or multiboot header). Multiboot protocol
> compatible loader have to load image at specified address. However, there
> is no guarantee that the requested memory region (in case of Xen it starts
> at 2 MiB and ends at ~5 MiB) where image should be loaded initially is a RAM
> and it is free (legacy BIOS platforms are merciful for Xen but I found at
> least one EFI platform on which Xen load address conflicts with EFI boot
> services; it is Dell PowerEdge R820 with latest firmware). To cope with that
> problem we must make Xen early boot code relocatable and help boot loader to
> relocate image in proper way by suggesting, not requesting specific load
> addresses as it is right now, allowed address ranges. This patch does 
> former.
> It does not add multiboot2 protocol interface which is done in "x86: add
> multiboot2 protocol support for relocatable images" patch.
> 
> This patch changes following things:
>   - %esi register is used as a storage for Xen image load base address;
>     it is mostly unused in early boot code and preserved during C functions
>     calls in 32-bit mode,
>   - %fs is used as base for Xen data relative addressing in 32-bit code
>     if it is possible; %esi is used for that thing during error printing
>     because it is not always possible to properly and efficiently
>     initialize %fs.
> 
> Signed-off-by: Daniel Kiper <daniel.ki...@oracle.com>

Reviewed-by: Jan Beulich <jbeul...@suse.com>



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

Reply via email to