[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 Thu, Apr 13, 2017 at 09:44:17PM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, Apr 13, 2017 at 04:11:25PM +0200, Daniel Kiper wrote:
> > On Fri, Apr 07, 2017 at 05:23:33AM -0600, Jan Beulich wrote:
> > > >>> 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>
> >
> > It looks that everything passed through test gate and landed in master.
> > So, this way we have full multiboot2 support in Xen. This means that
> > you can boot Xen using GRUB2 on EFI platforms.
> >
> > I would like to thank everybody who helped me to make it happen.
> > Especially Jan who patiently reviewed whole series many times
> > and replied for my stupid questions.
>
> <Konrad unscrews the vodka bottle!>

Cheers!

> Yeeeeey! Congrats!

Thank you.

Daniel

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

 


Rackspace

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