From: Daniel Kiper <daniel.kiper@oracle.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jan Beulich <JBeulich@suse.com>,
Ian Campbell <ian.campbell@citrix.com>,
ross.philipson@citrix.com, stefano.stabellini@eu.citrix.com,
grub-devel@gnu.org, david.woodhouse@intel.com,
richard.l.maliszewski@intel.com, xen-devel@lists.xen.org,
boris.ostrovsky@oracle.com, Peter Jones <pjones@redhat.com>,
linux-kernel@vger.kernel.org, keir@xen.org
Subject: Re: EFI and multiboot2 devlopment work for Xen
Date: Wed, 23 Oct 2013 08:56:40 +0200 [thread overview]
Message-ID: <20131023065640.GP3626@debian70-amd64.local.net-space.pl> (raw)
In-Reply-To: <20131022134252.GA27302@phenom.dumpdata.com>
On Tue, Oct 22, 2013 at 09:42:52AM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, Oct 22, 2013 at 10:59:33AM +0100, Jan Beulich wrote:
> > >>> On 22.10.13 at 11:45, Ian Campbell <ian.campbell@citrix.com> wrote:
> > > On Tue, 2013-10-22 at 10:31 +0100, Jan Beulich wrote:
> > >> >>> On 22.10.13 at 11:26, Ian Campbell <ian.campbell@citrix.com> wrote:
> > >> > AIUI "efilinux" is somewhat badly named and does not use the Linux Boot
> > >> > Protocol (i.e. the (b)zImage stuff with real mode entry point) either.
> > >> > It actually loads and executes the kernel binary as a PE/COFF executable
> > >> > (the native UEFI binary executable format). xen.efi is a PE/COFF binary
> > >> > too and could equally well be launched by linuxefi in this way.
> > >>
> > >> Except that unless I'm mistaken "linuxefi" still expects to find certain
> > >> Linux-specific internal data structures inside the PE image, which I
> > >> don't see us wanting to be emulating. That's the main difference to
> > >> "chainloader" afaict.
> > >
> > > Ah, I'd been led to believe it was just the lack of a call to
> > > ExitBootServices, but I didn't check. What you say sounds completely
> > > plausible.
> > >
> > > Do you know what sort of Linux specific data structures are we talking
> > > about?
> >
> > The setup header I would assume (i.e. the bits surrounding the
> > "HdrS" signature). But I'm only guessing anyway.
>
> This is a bit lengthy email, so please get your coffee/tea ready.
[...]
> We can also support all three: PE/COFF by itself launched from GRUB2
> (ExitBootServices called, not too good), multiboot2 support, and
> linuxefi, I think?
>
> The disadvantage of multiboot2 is that it is not upstream. But the patches
> do exist and it looks like they could be put in GRUB2 upstream. The neat
> about them is that it also supports Solaris and can support any other
> multboot payload type kernels (ie, non-Linux centric).
>
> The advantage of linuxefi is that it is supported by all Linux distros right
> now - so we would fit right away. We still have to fiddle with the
> linux_kernel_parameters to get everything we want from it - which
> is probably just the EFI stuff and we can ditch the rest.
Usage of Linux Boot protocol is quiet complicated in our case. It pases
one pointer to all initrd images loaded one by one into memory. So if
we would like to use it we will be forced to parse this blob to find
separate images. Not good. multiboot2 protocol passes list of pointers
to all loaded modules.
Daniel
next prev parent reply other threads:[~2013-10-23 6:57 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-21 12:57 Daniel Kiper
2013-10-21 13:36 ` Jan Beulich
2013-10-21 14:23 ` Konrad Rzeszutek Wilk
2013-10-21 14:37 ` Jan Beulich
2013-10-21 18:46 ` Daniel Kiper
2013-10-22 7:16 ` Jan Beulich
2013-10-21 18:39 ` Daniel Kiper
2013-10-22 7:15 ` Jan Beulich
2013-10-21 13:54 ` Peter Jones
2013-10-21 18:57 ` Daniel Kiper
2013-10-22 9:26 ` Ian Campbell
2013-10-22 9:31 ` Jan Beulich
2013-10-22 9:45 ` Ian Campbell
2013-10-22 9:59 ` Jan Beulich
2013-10-22 13:42 ` Konrad Rzeszutek Wilk
2013-10-22 13:53 ` Ian Campbell
2013-10-22 14:09 ` Konrad Rzeszutek Wilk
2013-10-22 14:24 ` Ian Campbell
2013-10-22 14:51 ` Konrad Rzeszutek Wilk
2013-10-22 14:59 ` Jan Beulich
2013-10-22 15:35 ` Peter Jones
2013-10-22 15:39 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:31 ` Konrad Rzeszutek Wilk
2013-10-22 15:22 ` [Xen-devel] " Ian Campbell
2013-10-22 16:26 ` Konrad Rzeszutek Wilk
2013-10-23 8:32 ` Ian Campbell
2013-10-23 13:13 ` Konrad Rzeszutek Wilk
2013-10-23 14:07 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 17:13 ` Andrey Borzenkov
2013-10-23 16:17 ` Jan Beulich
2013-10-23 16:14 ` Jan Beulich
2013-10-23 17:01 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-24 6:53 ` Jan Beulich
2013-10-22 14:10 ` Jan Beulich
2013-10-22 14:18 ` Woodhouse, David
2013-10-22 14:57 ` Konrad Rzeszutek Wilk
2013-10-22 15:21 ` Ian Campbell
2013-10-22 16:24 ` Konrad Rzeszutek Wilk
2013-10-22 16:27 ` Ian Campbell
2013-10-22 15:23 ` Ian Campbell
2013-10-22 14:43 ` Konrad Rzeszutek Wilk
2013-10-22 15:25 ` Woodhouse, David
2013-10-22 15:32 ` Matthew Garrett
2013-10-22 15:42 ` Woodhouse, David
2013-10-22 16:01 ` Daniel Kiper
2013-10-22 16:08 ` Ian Campbell
2013-10-22 16:14 ` Daniel Kiper
2013-10-22 16:25 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:31 ` Ian Campbell
2013-10-22 16:38 ` Konrad Rzeszutek Wilk
2013-10-22 16:24 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:36 ` Maliszewski, Richard L
2013-10-22 16:51 ` Daniel Kiper
2013-10-22 17:09 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:21 ` Maliszewski, Richard L
2013-10-23 7:53 ` Daniel Kiper
2013-10-22 16:35 ` Konrad Rzeszutek Wilk
2013-10-23 6:49 ` Michael Chang
2013-10-23 6:51 ` Michael Chang
2013-10-23 6:56 ` Daniel Kiper [this message]
2013-10-21 20:53 ` Seth Goldberg
2013-10-21 21:27 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-21 21:27 ` Seth Goldberg
2013-10-21 21:16 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 8:54 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 7:05 ` Daniel Kiper
2013-10-23 8:28 ` Seth Goldberg
2013-10-23 10:43 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-28 16:26 ` Konrad Rzeszutek Wilk
2013-10-28 18:01 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-29 8:28 ` Jan Beulich
2013-10-30 11:19 ` Is: Wrap-up Was: " Daniel Kiper
2013-10-30 11:38 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-11-04 20:41 ` Stefano Stabellini
2013-11-05 19:15 ` Leif Lindholm
2013-10-28 18:42 ` Seth Goldberg
2013-10-22 17:12 ` Andrey Borzenkov
2013-10-22 17:20 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 7:43 ` Daniel Kiper
2013-10-23 8:44 ` Vladimir 'φ-coder/phcoder' Serbinenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131023065640.GP3626@debian70-amd64.local.net-space.pl \
--to=daniel.kiper@oracle.com \
--cc=JBeulich@suse.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.woodhouse@intel.com \
--cc=grub-devel@gnu.org \
--cc=ian.campbell@citrix.com \
--cc=keir@xen.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pjones@redhat.com \
--cc=richard.l.maliszewski@intel.com \
--cc=ross.philipson@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®