From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1aUF0o-0007Gw-9Y for mharc-grub-devel@gnu.org; Fri, 12 Feb 2016 09:47:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38688) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUF0l-0007Bf-QP for grub-devel@gnu.org; Fri, 12 Feb 2016 09:47:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aUF0g-0005UI-Mk for grub-devel@gnu.org; Fri, 12 Feb 2016 09:47:55 -0500 Received: from mx2.suse.de ([195.135.220.15]:42656) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUF0g-0005U2-FN for grub-devel@gnu.org; Fri, 12 Feb 2016 09:47:50 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 72615AB45; Fri, 12 Feb 2016 14:47:48 +0000 (UTC) Subject: Re: [PATCH v2 4/6] xen: add capability to load initrd outside of initial mapping To: =?UTF-8?Q?Vladimir_'=cf=86-coder/phcoder'_Serbinenko?= , Daniel Kiper References: <1455177206-8974-1-git-send-email-jgross@suse.com> <1455177206-8974-5-git-send-email-jgross@suse.com> <20160211123352.GD3482@olila.local.net-space.pl> <56BC9714.7020101@suse.com> <56BDCF12.6050108@gmail.com> From: Juergen Gross X-Enigmail-Draft-Status: N1110 Message-ID: <56BDF093.3080708@suse.com> Date: Fri, 12 Feb 2016 15:47:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BDCF12.6050108@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 195.135.220.15 Cc: grub-devel@gnu.org, mchang@suse.com, xen-devel@lists.xen.org X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2016 14:47:57 -0000 On 12/02/16 13:24, Vladimir '=CF=86-coder/phcoder' Serbinenko wrote: > On 11.02.2016 15:13, Juergen Gross wrote: >> On 11/02/16 13:33, Daniel Kiper wrote: >>> On Thu, Feb 11, 2016 at 08:53:24AM +0100, Juergen Gross wrote: >>>> Modern pvops linux kernels support an initrd not covered by >>>> the initial mapping. This capability is flagged by an >>>> elf-note. >>>>=20 >>>> In case the elf-note is set by the kernel don't place the >>>> initrd into the initial mapping. This will allow to load >>>> larger initrds and/or support domains with larger memory, as >>>> the initial mapping is limited to 2GB and it is containing >>>> the p2m list. >>>>=20 >>>> Signed-off-by: Juergen Gross ---=20 >>>> grub-core/loader/i386/xen.c | 56 > ++++++++++++++++++++++++++++++-------- >>>> grub-core/loader/i386/xen_fileXX.c | 3 ++=20 >>>> include/grub/xen_file.h | 1 + 3 files changed, 49 >>>> insertions(+), 11 deletions(-) >>>>=20 >>>> diff --git a/grub-core/loader/i386/xen.c >>>> b/grub-core/loader/i386/xen.c index 65cec27..0f41048 100644=20 >>>> --- a/grub-core/loader/i386/xen.c +++ >>>> b/grub-core/loader/i386/xen.c @@ -307,15 +307,14 @@ >>>> grub_xen_pt_alloc (void) } >>>>=20 >>>> static grub_err_t -grub_xen_boot (void) +grub_xen_alloc_end >>>> (void) { grub_err_t err; - grub_uint64_t nr_pages; - struct >>>> gnttab_set_version gnttab_setver; - grub_size_t i; + static >>>> int called =3D 0; >>>>=20 >>>> - if (grub_xen_n_allocated_shared_pages) - return >>>> grub_error (GRUB_ERR_BUG, "active grants"); + if (called) + >>>> return GRUB_ERR_NONE; >>>=20 >>> Why? >>=20 >> Did you look at the function? grub_xen_alloc_end() (some parts of >> the original grub_xen_boot()) is new and may be called multiple >> times. It was much easier to just call it and let it do what must >> be done only at the first time called. >>=20 > What if a boot fails and then fallback kernel is loaded? As already stated before: I'll add a patch handling freeing of memory in a reset function which will reset the "called" flag as well. >>>> + if (grub_xen_n_allocated_shared_pages) + return >>>> grub_error (GRUB_ERR_BUG, "active grants"); >>>=20 >>> Why? >>=20 >> That's how it has been before. git just decided to generate the >> diff that way. >>=20 > This is also needed to avoid passing control when some drivers are > still active >>>> + case 16: >>>=20 >>> Could you define this a constant and use it here? >>=20 >> This would be the only case with a constant. All others are >> numeric as well. >>=20 > I'm ok with not insisisting on using constants given current state > but in general constants are preferable (yes, xen code isn't always > clean) Okay, thanks for the confirmation. I'll add a patch (or better: some patches) which will clean up the xen code by introducing (lots of) constants. Juergen From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH v2 4/6] xen: add capability to load initrd outside of initial mapping Date: Fri, 12 Feb 2016 15:47:47 +0100 Message-ID: <56BDF093.3080708@suse.com> References: <1455177206-8974-1-git-send-email-jgross@suse.com> <1455177206-8974-5-git-send-email-jgross@suse.com> <20160211123352.GD3482@olila.local.net-space.pl> <56BC9714.7020101@suse.com> <56BDCF12.6050108@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <56BDCF12.6050108@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: =?UTF-8?Q?Vladimir_'=cf=86-coder/phcoder'_Serbinenko?= , Daniel Kiper Cc: grub-devel@gnu.org, mchang@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gMTIvMDIvMTYgMTM6MjQsIFZsYWRpbWlyICfPhi1jb2Rlci9waGNvZGVyJyBTZXJiaW5lbmtv IHdyb3RlOgo+IE9uIDExLjAyLjIwMTYgMTU6MTMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+IE9u IDExLzAyLzE2IDEzOjMzLCBEYW5pZWwgS2lwZXIgd3JvdGU6Cj4+PiBPbiBUaHUsIEZlYiAxMSwg MjAxNiBhdCAwODo1MzoyNEFNICswMTAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOgo+Pj4+IE1vZGVy biBwdm9wcyBsaW51eCBrZXJuZWxzIHN1cHBvcnQgYW4gaW5pdHJkIG5vdCBjb3ZlcmVkIGJ5Cj4+ Pj4gdGhlIGluaXRpYWwgbWFwcGluZy4gVGhpcyBjYXBhYmlsaXR5IGlzIGZsYWdnZWQgYnkgYW4K Pj4+PiBlbGYtbm90ZS4KPj4+PiAKPj4+PiBJbiBjYXNlIHRoZSBlbGYtbm90ZSBpcyBzZXQgYnkg dGhlIGtlcm5lbCBkb24ndCBwbGFjZSB0aGUKPj4+PiBpbml0cmQgaW50byB0aGUgaW5pdGlhbCBt YXBwaW5nLiBUaGlzIHdpbGwgYWxsb3cgdG8gbG9hZAo+Pj4+IGxhcmdlciBpbml0cmRzIGFuZC9v ciBzdXBwb3J0IGRvbWFpbnMgd2l0aCBsYXJnZXIgbWVtb3J5LCBhcwo+Pj4+IHRoZSBpbml0aWFs IG1hcHBpbmcgaXMgbGltaXRlZCB0byAyR0IgYW5kIGl0IGlzIGNvbnRhaW5pbmcKPj4+PiB0aGUg cDJtIGxpc3QuCj4+Pj4gCj4+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3Nz QHN1c2UuY29tPiAtLS0gCj4+Pj4gZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbi5jICAgICAgICB8 IDU2Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPj4+PiBncnViLWNv cmUvbG9hZGVyL2kzODYveGVuX2ZpbGVYWC5jIHwgIDMgKysgCj4+Pj4gaW5jbHVkZS9ncnViL3hl bl9maWxlLmggICAgICAgICAgICB8ICAxICsgMyBmaWxlcyBjaGFuZ2VkLCA0OQo+Pj4+IGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+Pj4+IAo+Pj4+IGRpZmYgLS1naXQgYS9ncnViLWNv cmUvbG9hZGVyL2kzODYveGVuLmMKPj4+PiBiL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW4uYyBp bmRleCA2NWNlYzI3Li4wZjQxMDQ4IDEwMDY0NCAKPj4+PiAtLS0gYS9ncnViLWNvcmUvbG9hZGVy L2kzODYveGVuLmMgKysrCj4+Pj4gYi9ncnViLWNvcmUvbG9hZGVyL2kzODYveGVuLmMgQEAgLTMw NywxNSArMzA3LDE0IEBACj4+Pj4gZ3J1Yl94ZW5fcHRfYWxsb2MgKHZvaWQpIH0KPj4+PiAKPj4+ PiBzdGF0aWMgZ3J1Yl9lcnJfdCAtZ3J1Yl94ZW5fYm9vdCAodm9pZCkgK2dydWJfeGVuX2FsbG9j X2VuZAo+Pj4+ICh2b2lkKSB7IGdydWJfZXJyX3QgZXJyOyAtICBncnViX3VpbnQ2NF90IG5yX3Bh Z2VzOyAtICBzdHJ1Y3QKPj4+PiBnbnR0YWJfc2V0X3ZlcnNpb24gZ250dGFiX3NldHZlcjsgLSAg Z3J1Yl9zaXplX3QgaTsgKyAgc3RhdGljCj4+Pj4gaW50IGNhbGxlZCA9IDA7Cj4+Pj4gCj4+Pj4g LSAgaWYgKGdydWJfeGVuX25fYWxsb2NhdGVkX3NoYXJlZF9wYWdlcykgLSAgICByZXR1cm4KPj4+ PiBncnViX2Vycm9yIChHUlVCX0VSUl9CVUcsICJhY3RpdmUgZ3JhbnRzIik7ICsgIGlmIChjYWxs ZWQpICsKPj4+PiByZXR1cm4gR1JVQl9FUlJfTk9ORTsKPj4+IAo+Pj4gV2h5Pwo+PiAKPj4gRGlk IHlvdSBsb29rIGF0IHRoZSBmdW5jdGlvbj8gZ3J1Yl94ZW5fYWxsb2NfZW5kKCkgKHNvbWUgcGFy dHMgb2YKPj4gdGhlIG9yaWdpbmFsIGdydWJfeGVuX2Jvb3QoKSkgaXMgbmV3IGFuZCBtYXkgYmUg Y2FsbGVkIG11bHRpcGxlCj4+IHRpbWVzLiBJdCB3YXMgbXVjaCBlYXNpZXIgdG8ganVzdCBjYWxs IGl0IGFuZCBsZXQgaXQgZG8gd2hhdCBtdXN0Cj4+IGJlIGRvbmUgb25seSBhdCB0aGUgZmlyc3Qg dGltZSBjYWxsZWQuCj4+IAo+IFdoYXQgaWYgYSBib290IGZhaWxzIGFuZCB0aGVuIGZhbGxiYWNr IGtlcm5lbCBpcyBsb2FkZWQ/CgpBcyBhbHJlYWR5IHN0YXRlZCBiZWZvcmU6IEknbGwgYWRkIGEg cGF0Y2ggaGFuZGxpbmcgZnJlZWluZyBvZiBtZW1vcnkKaW4gYSByZXNldCBmdW5jdGlvbiB3aGlj aCB3aWxsIHJlc2V0IHRoZSAiY2FsbGVkIiBmbGFnIGFzIHdlbGwuCgo+Pj4+ICsgIGlmIChncnVi X3hlbl9uX2FsbG9jYXRlZF9zaGFyZWRfcGFnZXMpICsgICAgcmV0dXJuCj4+Pj4gZ3J1Yl9lcnJv ciAoR1JVQl9FUlJfQlVHLCAiYWN0aXZlIGdyYW50cyIpOwo+Pj4gCj4+PiBXaHk/Cj4+IAo+PiBU aGF0J3MgaG93IGl0IGhhcyBiZWVuIGJlZm9yZS4gZ2l0IGp1c3QgZGVjaWRlZCB0byBnZW5lcmF0 ZSB0aGUKPj4gZGlmZiB0aGF0IHdheS4KPj4gCj4gVGhpcyBpcyBhbHNvIG5lZWRlZCB0byBhdm9p ZCBwYXNzaW5nIGNvbnRyb2wgd2hlbiBzb21lIGRyaXZlcnMgYXJlCj4gc3RpbGwgYWN0aXZlCj4+ Pj4gKwljYXNlIDE2Ogo+Pj4gCj4+PiBDb3VsZCB5b3UgZGVmaW5lIHRoaXMgYSBjb25zdGFudCBh bmQgdXNlIGl0IGhlcmU/Cj4+IAo+PiBUaGlzIHdvdWxkIGJlIHRoZSBvbmx5IGNhc2Ugd2l0aCBh IGNvbnN0YW50LiBBbGwgb3RoZXJzIGFyZQo+PiBudW1lcmljIGFzIHdlbGwuCj4+IAo+IEknbSBv ayB3aXRoIG5vdCBpbnNpc2lzdGluZyBvbiB1c2luZyBjb25zdGFudHMgZ2l2ZW4gY3VycmVudCBz dGF0ZQo+IGJ1dCBpbiBnZW5lcmFsIGNvbnN0YW50cyBhcmUgcHJlZmVyYWJsZSAoeWVzLCB4ZW4g Y29kZSBpc24ndCBhbHdheXMKPiBjbGVhbikKCk9rYXksIHRoYW5rcyBmb3IgdGhlIGNvbmZpcm1h dGlvbi4gSSdsbCBhZGQgYSBwYXRjaCAob3IgYmV0dGVyOiBzb21lCnBhdGNoZXMpIHdoaWNoIHdp bGwgY2xlYW4gdXAgdGhlIHhlbiBjb2RlIGJ5IGludHJvZHVjaW5nIChsb3RzIG9mKQpjb25zdGFu dHMuCgoKSnVlcmdlbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK