From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: Xen PVH support in grub2 Date: Fri, 29 Sep 2017 13:22:25 -0400 Message-ID: <2d6e2b3a-4750-98a1-85a0-10b690a1b060@oracle.com> References: <11dda1ae-5b70-41fe-a592-39750a74e5d7@suse.com> <20170929152439.iibhzqtwfmqi4yx2@dhcp-3-128.uk.xensource.com> <230ef18e-6739-58c6-1f95-b04e7245beaf@suse.com> <20170929155104.45wv3c7civz6uif6@dhcp-3-128.uk.xensource.com> <74f11822-4471-9462-ae84-ee57fe216ffc@oracle.com> <20170929170714.gmejwoww3ybecman@dhcp-3-128.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxyzu-00014q-RD for xen-devel@lists.xenproject.org; Fri, 29 Sep 2017 17:22:46 +0000 In-Reply-To: <20170929170714.gmejwoww3ybecman@dhcp-3-128.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Cc: Juergen Gross , The development of GNU GRUB , Daniel Kiper , xen-devel List-Id: xen-devel@lists.xenproject.org T24gMDkvMjkvMjAxNyAwMTowNyBQTSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToKPiBPbiBGcmks IFNlcCAyOSwgMjAxNyBhdCAwNTowMjo0OFBNICswMDAwLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6 Cj4+IE9uIDA5LzI5LzIwMTcgMTE6NTEgQU0sIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6Cj4+PiBP biBGcmksIFNlcCAyOSwgMjAxNyBhdCAwMzozMzo1OFBNICswMDAwLCBKdWVyZ2VuIEdyb3NzIHdy b3RlOgo+Pj4+IE9uIDI5LzA5LzE3IDE3OjI0LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOgo+Pj4+ PiBPbiBGcmksIFNlcCAyOSwgMjAxNyBhdCAwMjo0Njo1M1BNICswMDAwLCBKdWVyZ2VuIEdyb3Nz IHdyb3RlOgo+Pj4+PiBUaGVuLCBJIGFsc28gd29uZGVyIHdoZXRoZXIgaXQgd291bGQgbWFrZSBz ZW5zZSBmb3IgdGhpcyBncnViIHRvIGxvYWQKPj4+Pj4gdGhlIGtlcm5lbCB1c2luZyB0aGUgUFZI IGVudHJ5IHBvaW50IG9yIHRoZSBuYXRpdmUgZW50cnkgcG9pbnQuIFdvdWxkCj4+Pj4+IGl0IGJl IHBvc3NpYmxlIHRvIGJvb3QgYSBMaW51eCBrZXJuZWwgdXAgdG8gdGhlIHBvaW50IHdoZXJlIGNw dWlkIGNhbgo+Pj4+PiBiZSB1c2VkIGluc2lkZSBvZiBhIFBWSCBjb250YWluZXI/Cj4+Pj4gSSBk b24ndCB0aGluayB0b2RheSdzIExpbnV4IGFsbG93cyB0aGF0LiBUaGlzIGhhcyBiZWVuIGRpc2N1 c3NlZAo+Pj4+IHZlcnkgdGhvcm91Z2hseSBhdCB0aGUgdGltZSBCb3JpcyBhZGRlZCBQVkggVjIg c3VwcG9ydCB0byB0aGUga2VybmVsLgo+Pj4gT0ssIEknbSBub3QgZ29pbmcgdG8gaW5zaXN0IG9u IHRoYXQsIGJ1dCBteSBwbGFucyBmb3IgRnJlZUJTRCBpcyB0bwo+Pj4gbWFrZSB0aGUgbmF0aXZl IGVudHJ5IHBvaW50IGNhcGFibGUgb2YgYm9vdGluZyBpbnNpZGUgb2YgYSBQVkgKPj4+IGNvbnRh aW5lciB1cCB0byB0aGUgcG9pbnQgd2hlcmUgY3B1aWQgKG9yIHdoYXRldmVyIG1ldGhvZCkgY2Fu IGJlIHVzZWQKPj4+IHRvIGRldGVjdCB0aGUgZW52aXJvbm1lbnQuCj4+Pgo+Pj4gRG8geW91IHJl Y2FsbCB3aGF0J3MgcHJldmVudGluZyB0aGUgbmF0aXZlIGVudHJ5IHBvaW50IGZyb20gYm9vdGlu Zwo+Pj4gaW5zaWRlIG9mIGEgUFZIIGNvbnRhaW5lcj8gSWYgY2VydGFpbiBlbXVsYXRlZCBkZXZp Y2VzIG5vdCBwcmVzZW50IGFyZQo+Pj4gbmVlZGVkIGF0IGVhcmx5IGJvb3Qgd2UgY291bGQgbG9v ayBpbnRvIGVpdGhlciByZXBsYWNpbmcgdGhlbSB3aXRoCj4+PiBvdGhlciBvcHRpb25zIGF2YWls YWJsZSBpbnNpZGUgb2YgYSBQVkggY29udGFpbmVyLCBvciBhcyBhIGxhc3QgcmVzb3J0Cj4+PiBt YWtpbmcgdGhlbSBhdmFpbGFibGUgb24gYSBQVkggY29udGFpbmVyLgo+PiBWZXJ5IG11Y2ggSUlS QyBvbmUgb2YgdGhlIHJlYXNvbnMgd2FzIHRoZSBmYWN0IHRoYXQgemVyb3BhZ2UKPj4gKGJvb3Rw YXJhbXMpIG5lZWRlZCB0byBiZSBwcm9wZXJseSBmb3JtYXR0ZWQuIEFuZCB0aGUgaHlwZXJjYWxs IHBhZ2UKPj4gbmVlZHMgdG8gYmUgc2V0IHVwLgo+IEJ1dCBpbiB0aGlzIGNhc2UgYm9vdHBhcmFt cyBpcyBnb2luZyB0byBiZSBzZXR1cCBieSBncnViLCBzbyBpdCBzaG91bGQKPiBiZSBmaW5lIChq dXN0IGxpa2UgaXQncyBkb25lIG9uIGJhcmUgbWV0YWwpLgoKWWVzLCBJIHRoaW5rIHNvLgoKPgo+ IENvdWxkbid0IHRoZSBoeXBlcmNhbGwgcGFnZSBiZSBzZXR1cCBhdCBzb21lIHBvaW50IGR1cmlu ZyBlYXJseSBib290Pwo+IE5vdCBzdXJlIGlmIHNldHRpbmcgaXQgdXAgYXQgdGhlIHNhbWUgcG9p bnQgSFZNIGRvZXMgd291bGQgYmUgZmluZSBmb3IKPiBQVkg/CgpQcm9iYWJseSAtLS0gSSB0aGlu ayB0aGUgb25seSByZWFzb24gd2Ugc2V0IGl0IGVhcmx5IGlzIGJlY2F1c2Ugd2UgbmVlZAp0byBj YWxsIFhFTk1FTV9tZW1vcnlfbWFwIHRvIHNldCBib290cGFyYW1zLiBPbmUgb3RoZXIgdGhpbmcg SSBub3RpY2VkCmlzIHRoYXQgd2UgbmVlZCB0byBzZXQgYWNwaV9pcnFfbW9kZWwgYmVmb3JlIGh5 cGVydmlzb3IgaXMgZGlzY292ZXJlZAooY2FuJ3QgcmVtZW1iZXIgd2h5KSBidXQgSSBzdXBwb3Nl IHRoaXMgY2FuIGJlIHdvcmtlZCBhcm91bmQuCgpIYXZpbmcgc2FpZCB0aGF0IC0tLSBzaW5jZSBm b3IgZGlyZWN0IGJvb3Qgd2Ugc3RpbGwgbmVlZCB0byBnbyB2aWEKUFZILXNwZWNpZmljIGVudHJ5 IHBvaW50IEkgYW0gbm90IHN1cmUgaG93IG11Y2ggd2Ugd2lsbCBnYWluIGJ5IGhhdmluZwpncnVi IGF2b2lkIGl0LgoKLWJvcmlzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1dy1kb-0003g8-BB for mharc-grub-devel@gnu.org; Fri, 29 Sep 2017 16:19:09 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54970) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxyzw-0005Kq-S9 for grub-devel@gnu.org; Fri, 29 Sep 2017 13:22:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxyzr-0008F6-Pe for grub-devel@gnu.org; Fri, 29 Sep 2017 13:22:48 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:35254) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dxyzr-0008EW-GJ for grub-devel@gnu.org; Fri, 29 Sep 2017 13:22:43 -0400 Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v8THMcwb020158 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Sep 2017 17:22:39 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v8THMcNv029721 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Sep 2017 17:22:38 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id v8THMbNn002931; Fri, 29 Sep 2017 17:22:38 GMT Received: from dhcp-burlington7-2nd-B-east-10-152-55-162.usdhcp.oraclecorp.com (/10.152.32.65) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 29 Sep 2017 10:22:37 -0700 Subject: Re: [Xen-devel] Xen PVH support in grub2 To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= References: <11dda1ae-5b70-41fe-a592-39750a74e5d7@suse.com> <20170929152439.iibhzqtwfmqi4yx2@dhcp-3-128.uk.xensource.com> <230ef18e-6739-58c6-1f95-b04e7245beaf@suse.com> <20170929155104.45wv3c7civz6uif6@dhcp-3-128.uk.xensource.com> <74f11822-4471-9462-ae84-ee57fe216ffc@oracle.com> <20170929170714.gmejwoww3ybecman@dhcp-3-128.uk.xensource.com> Cc: Juergen Gross , The development of GNU GRUB , Daniel Kiper , xen-devel From: Boris Ostrovsky Message-ID: <2d6e2b3a-4750-98a1-85a0-10b690a1b060@oracle.com> Date: Fri, 29 Sep 2017 13:22:25 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170929170714.gmejwoww3ybecman@dhcp-3-128.uk.xensource.com> Content-Type: text/plain; charset=windows-1252 X-Source-IP: userv0022.oracle.com [156.151.31.74] Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aserp1040.oracle.com id v8THMcwb020158 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] X-Received-From: 141.146.126.69 X-Mailman-Approved-At: Fri, 29 Sep 2017 16:19:04 -0400 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Sep 2017 17:22:49 -0000 On 09/29/2017 01:07 PM, Roger Pau Monn=E9 wrote: > On Fri, Sep 29, 2017 at 05:02:48PM +0000, Boris Ostrovsky wrote: >> On 09/29/2017 11:51 AM, Roger Pau Monn=E9 wrote: >>> On Fri, Sep 29, 2017 at 03:33:58PM +0000, Juergen Gross wrote: >>>> On 29/09/17 17:24, Roger Pau Monn=E9 wrote: >>>>> On Fri, Sep 29, 2017 at 02:46:53PM +0000, Juergen Gross wrote: >>>>> Then, I also wonder whether it would make sense for this grub to lo= ad >>>>> the kernel using the PVH entry point or the native entry point. Wou= ld >>>>> it be possible to boot a Linux kernel up to the point where cpuid c= an >>>>> be used inside of a PVH container? >>>> I don't think today's Linux allows that. This has been discussed >>>> very thoroughly at the time Boris added PVH V2 support to the kernel. >>> OK, I'm not going to insist on that, but my plans for FreeBSD is to >>> make the native entry point capable of booting inside of a PVH >>> container up to the point where cpuid (or whatever method) can be use= d >>> to detect the environment. >>> >>> Do you recall what's preventing the native entry point from booting >>> inside of a PVH container? If certain emulated devices not present ar= e >>> needed at early boot we could look into either replacing them with >>> other options available inside of a PVH container, or as a last resor= t >>> making them available on a PVH container. >> Very much IIRC one of the reasons was the fact that zeropage >> (bootparams) needed to be properly formatted. And the hypercall page >> needs to be set up. > But in this case bootparams is going to be setup by grub, so it should > be fine (just like it's done on bare metal). Yes, I think so. > > Couldn't the hypercall page be setup at some point during early boot? > Not sure if setting it up at the same point HVM does would be fine for > PVH? Probably --- I think the only reason we set it early is because we need to call XENMEM_memory_map to set bootparams. One other thing I noticed is that we need to set acpi_irq_model before hypervisor is discovered (can't remember why) but I suppose this can be worked around. Having said that --- since for direct boot we still need to go via PVH-specific entry point I am not sure how much we will gain by having grub avoid it. -boris