From: Andrew Cooper <andrew.cooper3@citrix.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>,
xen-devel <xen-devel@lists.xenproject.org>
Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Tim Deegan <tim@xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Draft B] Boot ABI for HVM guests without a device-model
Date: Wed, 26 Aug 2015 13:18:42 +0100 [thread overview]
Message-ID: <55DDAEA2.8000104@citrix.com> (raw)
In-Reply-To: <55DDA795.2010208@citrix.com>
On 26/08/15 12:48, Roger Pau Monné wrote:
> Hello,
>
> The discussion in [1] lead to an agreement of the missing pieces in PVH
> (or HVM without a device-model) in order to progress with it's
> implementation.
>
> One of the missing pieces is a new boot ABI, that replaces the PV boot
> ABI. The aim of this new boot ABI is to remove the limitations of the
> PV boot ABI, that are no longer present when using auto-translated
> guests. The new boot protocol should allow to use the same entry point
> for both 32bit and 64bit guests, and let the guest choose it's bitness
> at run time without the domain builder knowing in advance.
>
> Roger.
>
> [1] http://lists.xen.org/archives/html/xen-devel/2015-06/msg00258.html
>
> ---
> HVM direct boot ABI
> ===================
>
> Since the Xen entry point into the kernel can be different from the
> native entry point, ELFNOTES are used in order to tell the domain
> builder how to load and jump into the kernel entry point. At least the
> following ELFNOTES are required in order to use this boot ABI:
Perhaps note that this includes the example FreeBSD values. It
shouldn't be implied that these are the exact notes which should be used.
>
> ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS, .asciz, "FreeBSD")
> ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION, .asciz, __XSTRING(__FreeBSD_version))
> ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION, .asciz, "xen-3.0")
> ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .quad, xen_start32)
As this is strictly a 32bit entry, it can be .long rather than .quad
> ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel")
> ELFNOTE(Xen, XEN_ELFNOTE_SUPPORTED_FEATURES, .long ((1 << XENFEAT_writable_page_tables) | \
> (1 << XENFEAT_auto_translated_physmap) | \
> (1 << XENFEAT_supervisor_mode_kernel) | \
> (1 << XENFEAT_hvm_callback_vector))
Can we see about fixing the overloading of XENFEAT_supervisor_mode_kernel ?
IMO it should be relegated to history. It was an old,
not-fully-implemented pv feature (subsequently removed completely) which
is not relevant to HVM guests.
> <snip>
>
> Other relevant information needed in order to boot a guest kernel
> (console page address, xenstore event channel...) can be obtained
> using HVMPARAMS, just like it's done on HVM guests.
>
> The setup of the hypercall page is also performed in the same way
> as HVM guests, using a wrmsr.
using the hypervisor cpuid leaves and msr ranges.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2015-08-26 12:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-26 11:48 [Draft B] Boot ABI for HVM guests without a device-model Roger Pau Monné
2015-08-26 12:00 ` Jan Beulich
2015-08-26 12:12 ` Andrew Cooper
2015-08-26 14:44 ` Roger Pau Monné
2015-08-27 8:04 ` Jan Beulich
2015-08-27 9:43 ` Andrew Cooper
2015-08-27 9:57 ` Roger Pau Monné
2015-08-27 11:08 ` Jan Beulich
2015-08-26 12:18 ` Andrew Cooper [this message]
2015-08-26 15:38 ` Roger Pau Monné
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=55DDAEA2.8000104@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=boris.ostrovsky@oracle.com \
--cc=elena.ufimtseva@oracle.com \
--cc=roger.pau@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.