[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v16 7/9] x86: make Xen early boot code relocatable
>>> On 21.02.17 at 20:19, <daniel.kiper@xxxxxxxxxx> 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.kiper@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |