All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>,
	"Juergen Gross" <jgross@suse.com>
Cc: rkrcmar@redhat.com, kvm@vger.kernel.org, pbonzini@redhat.com,
	Maran Wilson <maran.wilson@oracle.com>,
	andrew.cooper3@citrix.com, x86@kernel.org,
	linux-kernel@vger.kernel.org, mingo@redhat.com,
	JBeulich@suse.com, hpa@zytor.com, xen-devel@lists.xenproject.org,
	tglx@linutronix.de
Subject: Re: [RFC PATCH] KVM: x86: Allow Qemu/KVM to use PVH entry point
Date: Wed, 29 Nov 2017 09:03:27 -0500	[thread overview]
Message-ID: <4d213199-ea65-4410-5b7a-63038215e380__46124.4813436226$1511964321$gmane$org@oracle.com> (raw)
In-Reply-To: <20171129085044.kc3yqqdcw3zmp2k2@MacBook-Pro-de-Roger.local>

On 11/29/2017 03:50 AM, Roger Pau Monné wrote:
> On Wed, Nov 29, 2017 at 09:21:59AM +0100, Juergen Gross wrote:
>> On 28/11/17 20:34, Maran Wilson wrote:
>>> For certain applications it is desirable to rapidly boot a KVM virtual
>>> machine. In cases where legacy hardware and software support within the
>>> guest is not needed, Qemu should be able to boot directly into the
>>> uncompressed Linux kernel binary without the need to run firmware.
>>>
>>> There already exists an ABI to allow this for Xen PVH guests and the ABI is
>>> supported by Linux and FreeBSD:
>>>
>>>    https://xenbits.xen.org/docs/unstable/misc/hvmlite.html
> I would also add a link to:
>
> http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,arch-x86,hvm,start_info.h.html#Struct_hvm_start_info
>
>>> This PoC patch enables Qemu to use that same entry point for booting KVM
>>> guests.
>>>
>>> Even though the code is still PoC quality, I'm sending this as an RFC now
>>> since there are a number of different ways the specific implementation
>>> details can be handled. I chose a shared code path for Xen and KVM guests
>>> but could just as easily create a separate code path that is advertised by
>>> a different ELF note for KVM. There also seems to be some flexibility in
>>> how the e820 table data is passed and how (or if) it should be identified
>>> as e820 data. As a starting point, I've chosen the options that seem to
>>> result in the smallest patch with minimal to no changes required of the
>>> x86/HVM direct boot ABI.
>> I like the idea.
>>
>> I'd rather split up the different hypervisor types early and use a
>> common set of service functions instead of special casing xen_guest
>> everywhere. This would make it much easier to support the KVM PVH
>> boot without the need to configure the kernel with CONFIG_XEN.
>>
>> Another option would be to use the same boot path as with grub: set
>> the boot params in zeropage and start at startup_32.
> I think I prefer this approach since AFAICT it should allow for
> greater code share with the common boot path.

zeropage is x86/Linux-specific so we'd need some sort of firmware (like
grub) between a hypervisor and Linux to convert hvm_start_info to
bootparams.

-boris

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

  parent reply	other threads:[~2017-11-29 14:03 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-28 19:34 [RFC PATCH] KVM: x86: Allow Qemu/KVM to use PVH entry point Maran Wilson
2017-11-28 19:34 ` Maran Wilson
2017-11-28 19:41 ` Andrew Cooper
2017-11-28 19:41   ` Andrew Cooper
2017-11-28 19:41   ` Andrew Cooper
2017-11-28 19:58 ` Christoph Hellwig
2017-11-28 19:58 ` Christoph Hellwig
2017-11-29  8:21 ` Juergen Gross
2017-11-29  8:50   ` Roger Pau Monné
2017-11-29  8:50   ` Roger Pau Monné
2017-11-29 14:03     ` Boris Ostrovsky
2017-11-29 14:11       ` Juergen Gross
2017-11-29 14:11       ` Juergen Gross
2017-11-29 14:18         ` Roger Pau Monné
2017-11-29 14:25           ` Boris Ostrovsky
2017-11-29 14:44             ` Paolo Bonzini
2017-11-29 14:44             ` Paolo Bonzini
2017-11-29 14:47               ` Juergen Gross
2017-11-29 14:47               ` Juergen Gross
2017-11-29 14:50                 ` Paolo Bonzini
2017-11-29 14:50                 ` Paolo Bonzini
2017-11-29 14:52                 ` Andrew Cooper
2017-11-29 14:52                 ` Andrew Cooper
2017-11-30 18:23               ` Maran Wilson
2017-11-30 18:23               ` Maran Wilson
2017-12-01  8:08                 ` Paolo Bonzini
2017-12-01  8:08                 ` Paolo Bonzini
2017-12-07 23:03                   ` Maran Wilson
2017-12-07 23:03                   ` Maran Wilson
2017-11-29 14:25           ` Boris Ostrovsky
2017-11-29 14:18         ` Roger Pau Monné
2017-11-29 14:03     ` Boris Ostrovsky [this message]
2017-11-29 17:24   ` Maran Wilson
2017-11-29 17:24   ` Maran Wilson
2017-11-29  8:21 ` Juergen Gross
2017-11-29  8:59 ` Paolo Bonzini
2017-11-29 17:14   ` Maran Wilson
2017-11-29 17:14   ` Maran Wilson
2017-11-29 17:16     ` Paolo Bonzini
2017-11-29 17:16     ` Paolo Bonzini
2017-11-29  8:59 ` Paolo Bonzini

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='4d213199-ea65-4410-5b7a-63038215e380__46124.4813436226$1511964321$gmane$org@oracle.com' \
    --to=boris.ostrovsky@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maran.wilson@oracle.com \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    --cc=roger.pau@citrix.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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.