From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1aId7O-0008N9-M5 for mharc-grub-devel@gnu.org; Mon, 11 Jan 2016 09:06:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aId7I-0008Et-IC for grub-devel@gnu.org; Mon, 11 Jan 2016 09:06:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aId7H-00080Q-KY for grub-devel@gnu.org; Mon, 11 Jan 2016 09:06:40 -0500 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:33734) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aId7H-00080M-B7 for grub-devel@gnu.org; Mon, 11 Jan 2016 09:06:39 -0500 Received: by mail-wm0-x229.google.com with SMTP id f206so214225625wmf.0 for ; Mon, 11 Jan 2016 06:06:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type; bh=wuP2ji4I+sQPUNtKRXi7JtKDB+GlznH9hfBg0GNNmOc=; b=GZWZWq6A9qHj4pKSuYE71SXrestvScCQ4M/yeCJuyTY1IfVOa5jXjvGSsi5vhGRUwN 6pklVW79dosmRviIErTjWSOyssCEzJUa6XguNmlgg4tZzs224a8fcY7kPbWrDwlMTTf8 Jdqv0xL+Q+IodldDuBYe7cqSX1A6ANb5OiiP2Za3w/hnZpK2GX6rzQGfejxOjsHJSHFy BoYMV7nME19ehUzEj1Done43jukAXBJ3CI4WU1Bdzypzf8gin/9xf3hmRdSZ1gjAt/Pj QPxt4m2lo83qIYVBVL7sQMfcwP4PkwbHa6uvWw2Se9iGdemAnAMRUUca/4wItW+GuqfN JGTA== X-Received: by 10.28.46.193 with SMTP id u184mr14725172wmu.102.1452521198592; Mon, 11 Jan 2016 06:06:38 -0800 (PST) Received: from ?IPv6:2620:0:105f:fd00:a2a8:cdff:fe64:b3b5? ([2620:0:105f:fd00:a2a8:cdff:fe64:b3b5]) by smtp.gmail.com with ESMTPSA id z137sm12993051wmc.8.2016.01.11.06.06.36 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 11 Jan 2016 06:06:37 -0800 (PST) Subject: Re: [Xen-devel] Uniform commands for booting xen To: Ian Campbell , Andrei Borzenkov , The development of GNU GRUB References: <56449726.8090707@gmail.com> <5644C1F502000078000B455F@prv-mh.provo.novell.com> <1447348140.18450.92.camel@citrix.com> <5645A3E802000078000B495A@prv-mh.provo.novell.com> <1447408236.18450.117.camel@citrix.com> From: =?UTF-8?Q?Vladimir_'=cf=86-coder/phcoder'_Serbinenko?= X-Enigmail-Draft-Status: N1110 Message-ID: <5693B6E6.9030903@gmail.com> Date: Mon, 11 Jan 2016 15:06:30 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.5.0 MIME-Version: 1.0 In-Reply-To: <1447408236.18450.117.camel@citrix.com> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Nn4JTVxTuoXnoOiamf4nUCH2VWqGQ0CRe" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::229 Cc: Jan Beulich , "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: Mon, 11 Jan 2016 14:06:45 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Nn4JTVxTuoXnoOiamf4nUCH2VWqGQ0CRe Content-Type: multipart/mixed; boundary="------------050802010007010006090409" This is a multi-part message in MIME format. --------------050802010007010006090409 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 13.11.2015 10:50, Ian Campbell wrote: > On Fri, 2015-11-13 at 12:04 +0300, Andrei Borzenkov wrote: >>> How do you express modules other than kernel+initrd in that >>> scheme, without grub needing to be aware of any new addition we >>> may find necessary going forward? >>> >> >> Are modules used by Xen self-identifying? Is it enough to simply pass >> Xen kernel list of binary blobs or Xen kernel must be told what these >> binary blobs are? If they are self identifying, why arm needs to be >> passed module type in the first place? >=20 > At first Xen/ARM required the bootloader to identify, but that was sinc= e > identified as causing madness and fixed by having Xen/ARM do as Xen/x86= > does and figure things out for itself, but I failed to communicate this= > clearly and things got implemented on the grub side under the old > assumptions. >=20 This changes a lot. This removes most of hurdles towards uniformity. Are you ok with replacing xen_kernel/xen_xsm/... with just xen_module and dropping type altogether? Do you think that it makes sense to have xen_initrd in order to have in-memory initrd concatenation like baremetal counterpart? In either case we can add it later. I'd rather not have a command than to change its meaning later. Jan, does it address your concerns? > I just replied in more detail about that to Jan's mail, so I won't repe= at > myself further here. >=20 > Ian. >=20 --------------050802010007010006090409 Content-Type: application/x-ext-patch; name="xen.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xen.diff" ZGlmZiAtLWdpdCBhL2dydWItY29yZS9sb2FkZXIvYXJtNjQveGVuX2Jvb3QuYyBiL2dydWIt Y29yZS9sb2FkZXIvYXJtNjQveGVuX2Jvb3QuYwppbmRleCBkMWEyMTg5Li5lNWFkNTUzIDEw MDY0NAotLS0gYS9ncnViLWNvcmUvbG9hZGVyL2FybTY0L3hlbl9ib290LmMKKysrIGIvZ3J1 Yi1jb3JlL2xvYWRlci9hcm02NC94ZW5fYm9vdC5jCkBAIC0zOCwxNyArMzgsNiBAQCBHUlVC X01PRF9MSUNFTlNFICgiR1BMdjMrIik7CiAKICNkZWZpbmUgWEVOX0hZUEVSVklTT1JfTkFN RSAgInhlbl9oeXBlcnZpc29yIgogCi0jZGVmaW5lIE1PRFVMRV9ERUZBVUxUX0FMSUdOICAo MHgwKQotI2RlZmluZSBNT0RVTEVfSU1BR0VfTUlOX0FMSUdOICBNT0RVTEVfREVGQVVMVF9B TElHTgotI2RlZmluZSBNT0RVTEVfSU5JVFJEX01JTl9BTElHTiAgTU9EVUxFX0RFRkFVTFRf QUxJR04KLSNkZWZpbmUgTU9EVUxFX1hTTV9NSU5fQUxJR04gIE1PRFVMRV9ERUZBVUxUX0FM SUdOCi0jZGVmaW5lIE1PRFVMRV9DVVNUT01fTUlOX0FMSUdOICBNT0RVTEVfREVGQVVMVF9B TElHTgotCi0jZGVmaW5lIE1PRFVMRV9JTUFHRV9DT01QQVRJQkxFICAibXVsdGlib290LGtl cm5lbFwwbXVsdGlib290LG1vZHVsZSIKLSNkZWZpbmUgTU9EVUxFX0lOSVRSRF9DT01QQVRJ QkxFICAibXVsdGlib290LHJhbWRpc2tcMG11bHRpYm9vdCxtb2R1bGUiCi0jZGVmaW5lIE1P RFVMRV9YU01fQ09NUEFUSUJMRSAgInhlbix4c20tcG9saWN5XDBtdWx0aWJvb3QsbW9kdWxl IgotI2RlZmluZSBNT0RVTEVfQ1VTVE9NX0NPTVBBVElCTEUgICJtdWx0aWJvb3QsbW9kdWxl IgotCiAvKiBUaGlzIG1heGltdW0gc2l6ZSBpcyBkZWZpbmVkIGluIFBvd2VyLm9yZyBlUEFQ UiBWMS4xCiAgKiBodHRwczovL3d3dy5wb3dlci5vcmcvZG9jdW1lbnRhdGlvbi9lcGFwci12 ZXJzaW9uLTEtMS8KICAqIDIuMi4xLjEgTm9kZSBOYW1lIFJlcXVpcmVtZW50cwpAQCAtNzQs MTQgKzYzLDYgQEAgZW51bSBtb2R1bGVfdHlwZQogfTsKIHR5cGVkZWYgZW51bSBtb2R1bGVf dHlwZSBtb2R1bGVfdHlwZV90OwogCi1zdHJ1Y3QgZmR0X25vZGVfaW5mbwotewotICBtb2R1 bGVfdHlwZV90IHR5cGU7Ci0KLSAgY29uc3QgY2hhciAqY29tcGF0X3N0cmluZzsKLSAgZ3J1 Yl9zaXplX3QgY29tcGF0X3N0cmluZ19zaXplOwotfTsKLQogc3RydWN0IHhlbl9oeXBlcnZp c29yX2hlYWRlcgogewogICBzdHJ1Y3QgZ3J1Yl9hcm02NF9saW51eF9rZXJuZWxfaGVhZGVy IGVmaV9oZWFkOwpAQCAtOTgsNyArNzksNyBAQCBzdHJ1Y3QgeGVuX2Jvb3RfYmluYXJ5CiB7 CiAgIHN0cnVjdCB4ZW5fYm9vdF9iaW5hcnkgKm5leHQ7CiAgIHN0cnVjdCB4ZW5fYm9vdF9i aW5hcnkgKipwcmV2OwotICBjb25zdCBjaGFyICpuYW1lOworICBpbnQgaXNfaHlwZXJ2aXNv cjsKIAogICBncnViX2FkZHJfdCBzdGFydDsKICAgZ3J1Yl9zaXplX3Qgc2l6ZTsKQEAgLTEw Niw4ICs4Nyw2IEBAIHN0cnVjdCB4ZW5fYm9vdF9iaW5hcnkKIAogICBjaGFyICpjbWRsaW5l OwogICBpbnQgY21kbGluZV9zaXplOwotCi0gIHN0cnVjdCBmZHRfbm9kZV9pbmZvIG5vZGVf aW5mbzsKIH07CiAKIHN0YXRpYyBncnViX2RsX3QgbXlfbW9kOwpAQCAtMTE2LDE5ICs5NSw2 IEBAIHN0YXRpYyBpbnQgbG9hZGVkOwogCiBzdGF0aWMgc3RydWN0IHhlbl9ib290X2JpbmFy eSAqeGVuX2h5cGVydmlzb3I7CiBzdGF0aWMgc3RydWN0IHhlbl9ib290X2JpbmFyeSAqbW9k dWxlX2hlYWQ7Ci1zdGF0aWMgY29uc3QgZ3J1Yl9zaXplX3QgbW9kdWxlX2RlZmF1bHRfYWxp Z25bXSA9IHsKLSAgTU9EVUxFX0lNQUdFX01JTl9BTElHTiwKLSAgTU9EVUxFX0lOSVRSRF9N SU5fQUxJR04sCi0gIE1PRFVMRV9YU01fTUlOX0FMSUdOLAotICBNT0RVTEVfQ1VTVE9NX01J Tl9BTElHTgotfTsKLQotc3RhdGljIGNvbnN0IGNvbXBhdF9zdHJpbmdfc3RydWN0X3QgZGVm YXVsdF9jb21wYXRfc3RyaW5nW10gPSB7Ci0gIEZEVF9DT01QQVRJQkxFIChNT0RVTEVfSU1B R0VfQ09NUEFUSUJMRSksCi0gIEZEVF9DT01QQVRJQkxFIChNT0RVTEVfSU5JVFJEX0NPTVBB VElCTEUpLAotICBGRFRfQ09NUEFUSUJMRSAoTU9EVUxFX1hTTV9DT01QQVRJQkxFKSwKLSAg RkRUX0NPTVBBVElCTEUgKE1PRFVMRV9DVVNUT01fQ09NUEFUSUJMRSkKLX07CiAKIHN0YXRp YyBfX2lubGluZSBncnViX2FkZHJfdAogeGVuX2Jvb3RfYWRkcmVzc19hbGlnbiAoZ3J1Yl9h ZGRyX3Qgc3RhcnQsIGdydWJfc2l6ZV90IGFsaWduKQpAQCAtMTM2LDIwICsxMDIsNiBAQCB4 ZW5fYm9vdF9hZGRyZXNzX2FsaWduIChncnViX2FkZHJfdCBzdGFydCwgZ3J1Yl9zaXplX3Qg YWxpZ24pCiAgIHJldHVybiAoYWxpZ24gPyAoQUxJR05fVVAgKHN0YXJ0LCBhbGlnbikpIDog c3RhcnQpOwogfQogCi0vKiBzZXQgbW9kdWxlIHR5cGUgYWNjb3JkaW5nIHRvIGNvbW1hbmQg bmFtZS4gKi8KLXN0YXRpYyBncnViX2Vycl90Ci1zZXRfbW9kdWxlX3R5cGUgKGdydWJfY29t bWFuZF90IGNtZCwgc3RydWN0IHhlbl9ib290X2JpbmFyeSAqbW9kdWxlKQotewotICBpZiAo IWdydWJfc3RyY21wIChjbWQtPm5hbWUsICJ4ZW5fbGludXgiKSkKLSAgICBtb2R1bGUtPm5v ZGVfaW5mby50eXBlID0gTU9EVUxFX0lNQUdFOwotICBlbHNlIGlmICghZ3J1Yl9zdHJjbXAg KGNtZC0+bmFtZSwgInhlbl9pbml0cmQiKSkKLSAgICBtb2R1bGUtPm5vZGVfaW5mby50eXBl ID0gTU9EVUxFX0lOSVRSRDsKLSAgZWxzZSBpZiAoIWdydWJfc3RyY21wIChjbWQtPm5hbWUs ICJ4ZW5feHNtIikpCi0gICAgbW9kdWxlLT5ub2RlX2luZm8udHlwZSA9IE1PRFVMRV9YU007 Ci0KLSAgcmV0dXJuIEdSVUJfRVJSX05PTkU7Ci19Ci0KIHN0YXRpYyBncnViX2Vycl90CiBw cmVwYXJlX3hlbl9oeXBlcnZpc29yX3BhcmFtcyAodm9pZCAqeGVuX2Jvb3RfZmR0KQogewpA QCAtMjAzLDE1ICsxNTUsMTEgQEAgcHJlcGFyZV94ZW5fbW9kdWxlX3BhcmFtcyAoc3RydWN0 IHhlbl9ib290X2JpbmFyeSAqbW9kdWxlLCB2b2lkICp4ZW5fYm9vdF9mZHQpCiAgICAgICBn cnViX2ZkdF9hZGRfc3Vibm9kZSAoeGVuX2Jvb3RfZmR0LCBjaG9zZW5fbm9kZSwgbW9kdWxl X25hbWUpOwogCiAgIHJldHZhbCA9IGdydWJfZmR0X3NldF9wcm9wICh4ZW5fYm9vdF9mZHQs IG1vZHVsZV9ub2RlLCAiY29tcGF0aWJsZSIsCi0JCQkgICAgICBtb2R1bGUtPm5vZGVfaW5m by5jb21wYXRfc3RyaW5nLAotCQkJICAgICAgKGdydWJfdWludDMyX3QpIG1vZHVsZS0+Ci0J CQkgICAgICBub2RlX2luZm8uY29tcGF0X3N0cmluZ19zaXplKTsKKwkJCSAgICAgICJkZXBy ZWNhdGVkIiwgc2l6ZW9mKCJkZXByZWNhdGVkIikgLSAxKTsKICAgaWYgKHJldHZhbCkKICAg ICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfSU8sICJmYWlsZWQgdG8gdXBkYXRlIEZE VCIpOwogCi0gIGdydWJfZHByaW50ZiAoInhlbl9sb2FkZXIiLCAiTW9kdWxlICVzIGNvbXBh dGlibGUgPSAlcyBzaXplID0gMHglbHhcbiIsCi0JCW1vZHVsZS0+bmFtZSwgbW9kdWxlLT5u b2RlX2luZm8uY29tcGF0X3N0cmluZywKLQkJbW9kdWxlLT5ub2RlX2luZm8uY29tcGF0X3N0 cmluZ19zaXplKTsKKyAgZ3J1Yl9kcHJpbnRmICgieGVuX2xvYWRlciIsICJNb2R1bGVcbiIp OwogCiAgIHJldHZhbCA9IGdydWJfZmR0X3NldF9yZWc2NCAoeGVuX2Jvb3RfZmR0LCBtb2R1 bGVfbm9kZSwKIAkJCSAgICAgICB4ZW5fYm9vdF9hZGRyZXNzX2FsaWduIChtb2R1bGUtPnN0 YXJ0LApAQCAtMjIzLDcgKzE3MSw3IEBAIHByZXBhcmVfeGVuX21vZHVsZV9wYXJhbXMgKHN0 cnVjdCB4ZW5fYm9vdF9iaW5hcnkgKm1vZHVsZSwgdm9pZCAqeGVuX2Jvb3RfZmR0KQogICBp ZiAobW9kdWxlLT5jbWRsaW5lICYmIG1vZHVsZS0+Y21kbGluZV9zaXplID4gMCkKICAgICB7 CiAgICAgICBncnViX2RwcmludGYgKCJ4ZW5fbG9hZGVyIiwKLQkJICAgICJNb2R1bGUgJXMg Y21kbGluZSA6ICVzIEAgJXAgc2l6ZTolZFxuIiwgbW9kdWxlLT5uYW1lLAorCQkgICAgIk1v ZHVsZSBjbWRsaW5lIDogJXMgQCAlcCBzaXplOiVkXG4iLAogCQkgICAgbW9kdWxlLT5jbWRs aW5lLCBtb2R1bGUtPmNtZGxpbmUsIG1vZHVsZS0+Y21kbGluZV9zaXplKTsKIAogICAgICAg cmV0dmFsID0gZ3J1Yl9mZHRfc2V0X3Byb3AgKHhlbl9ib290X2ZkdCwgbW9kdWxlX25vZGUs ICJib290YXJncyIsCkBAIC0yMzMsOCArMTgxLDcgQEAgcHJlcGFyZV94ZW5fbW9kdWxlX3Bh cmFtcyAoc3RydWN0IHhlbl9ib290X2JpbmFyeSAqbW9kdWxlLCB2b2lkICp4ZW5fYm9vdF9m ZHQpCiAgICAgfQogICBlbHNlCiAgICAgewotICAgICAgZ3J1Yl9kcHJpbnRmICgieGVuX2xv YWRlciIsICJNb2R1bGUgJXMgaGFzIG5vdCBib290YXJncyFcbiIsCi0JCSAgICBtb2R1bGUt Pm5hbWUpOworICAgICAgZ3J1Yl9kcHJpbnRmICgieGVuX2xvYWRlciIsICJNb2R1bGUgaGFz IG5vIGJvb3RhcmdzIVxuIik7CiAgICAgfQogCiAgIHJldHVybiBHUlVCX0VSUl9OT05FOwpA QCAtMjUxLDggKzE5OCw4IEBAIGZpbmFsaXplX3BhcmFtc194ZW5fYm9vdCAodm9pZCkKICAg YWRkaXRpb25hbF9zaXplICs9IEZEVF9OT0RFX05BTUVfTUFYX1NJWkUgKyB4ZW5faHlwZXJ2 aXNvci0+Y21kbGluZV9zaXplOwogICBGT1JfTElTVF9FTEVNRU5UUyAobW9kdWxlLCBtb2R1 bGVfaGVhZCkKICAgewotICAgIGFkZGl0aW9uYWxfc2l6ZSArPSA2ICogRkRUX05PREVfTkFN RV9NQVhfU0laRSArIG1vZHVsZS0+Ci0gICAgICBub2RlX2luZm8uY29tcGF0X3N0cmluZ19z aXplICsgbW9kdWxlLT5jbWRsaW5lX3NpemU7CisgICAgYWRkaXRpb25hbF9zaXplICs9IDYg KiBGRFRfTk9ERV9OQU1FX01BWF9TSVpFICsgc2l6ZW9mKCJkZXByZWNhdGVkIikgLSAxCisg ICAgICArIG1vZHVsZS0+Y21kbGluZV9zaXplOwogICB9CiAKICAgeGVuX2Jvb3RfZmR0ID0g Z3J1Yl9mZHRfbG9hZCAoYWRkaXRpb25hbF9zaXplKTsKQEAgLTI3NSw4ICsyMjIsNyBAQCBm aW5hbGl6ZV9wYXJhbXNfeGVuX2Jvb3QgKHZvaWQpCiAgIHsKICAgICBpZiAobW9kdWxlLT5z dGFydCAmJiBtb2R1bGUtPnNpemUgPiAwKQogICAgICAgewotCWdydWJfZHByaW50ZiAoInhl bl9sb2FkZXIiLCAiTW9kdWxlICVzIEAgMHglbHggc2l6ZToweCVseFxuIiwKLQkJICAgICAg bW9kdWxlLT5uYW1lLAorCWdydWJfZHByaW50ZiAoInhlbl9sb2FkZXIiLCAiTW9kdWxlIEAg MHglbHggc2l6ZToweCVseFxuIiwKIAkJICAgICAgeGVuX2Jvb3RfYWRkcmVzc19hbGlnbiAo bW9kdWxlLT5zdGFydCwgbW9kdWxlLT5hbGlnbiksCiAJCSAgICAgIG1vZHVsZS0+c2l6ZSk7 CiAJaWYgKHByZXBhcmVfeGVuX21vZHVsZV9wYXJhbXMgKG1vZHVsZSwgeGVuX2Jvb3RfZmR0 KSAhPSBHUlVCX0VSUl9OT05FKQpAQCAtMjg0LDcgKzIzMCw3IEBAIGZpbmFsaXplX3BhcmFt c194ZW5fYm9vdCAodm9pZCkKICAgICAgIH0KICAgICBlbHNlCiAgICAgICB7Ci0JZ3J1Yl9k cHJpbnRmICgieGVuX2xvYWRlciIsICJNb2R1bGUgaW5mbyBlcnJvcjogJXMhXG4iLCBtb2R1 bGUtPm5hbWUpOworCWdydWJfZHByaW50ZiAoInhlbl9sb2FkZXIiLCAiTW9kdWxlIGluZm8g ZXJyb3IhXG4iKTsKIAlnb3RvIGZhaWw7CiAgICAgICB9CiAgIH0KQEAgLTMyNywxOSArMjcz LDE2IEBAIHNpbmdsZV9iaW5hcnlfdW5sb2FkIChzdHJ1Y3QgeGVuX2Jvb3RfYmluYXJ5ICpi aW5hcnkpCiAgICAgewogICAgICAgZ3J1Yl9mcmVlIChiaW5hcnktPmNtZGxpbmUpOwogICAg ICAgZ3J1Yl9kcHJpbnRmICgieGVuX2xvYWRlciIsCi0JCSAgICAiTW9kdWxlICVzIGNtZGxp bmUgbWVtb3J5IGZyZWUgQCAlcCBzaXplOiAlZFxuIiwKLQkJICAgIGJpbmFyeS0+bmFtZSwg YmluYXJ5LT5jbWRsaW5lLCBiaW5hcnktPmNtZGxpbmVfc2l6ZSk7CisJCSAgICAiTW9kdWxl IGNtZGxpbmUgbWVtb3J5IGZyZWUgQCAlcCBzaXplOiAlZFxuIiwKKwkJICAgIGJpbmFyeS0+ Y21kbGluZSwgYmluYXJ5LT5jbWRsaW5lX3NpemUpOwogICAgIH0KIAotICBpZiAoYmluYXJ5 LT5ub2RlX2luZm8udHlwZSA9PSBNT0RVTEVfQ1VTVE9NKQotICAgIGdydWJfZnJlZSAoKHZv aWQgKikgYmluYXJ5LT5ub2RlX2luZm8uY29tcGF0X3N0cmluZyk7Ci0KLSAgaWYgKGdydWJf c3RyY21wIChiaW5hcnktPm5hbWUsIFhFTl9IWVBFUlZJU09SX05BTUUpKQorICBpZiAoIWJp bmFyeS0+aXNfaHlwZXJ2aXNvcikKICAgICBncnViX2xpc3RfcmVtb3ZlIChHUlVCX0FTX0xJ U1QgKGJpbmFyeSkpOwogCiAgIGdydWJfZHByaW50ZiAoInhlbl9sb2FkZXIiLAotCQkiTW9k dWxlICVzIHN0cnVjdCBtZW1vcnkgZnJlZSBAICVwIHNpemU6IDB4JWx4XG4iLAotCQliaW5h cnktPm5hbWUsIGJpbmFyeSwgc2l6ZW9mIChiaW5hcnkpKTsKKwkJIk1vZHVsZSBzdHJ1Y3Qg bWVtb3J5IGZyZWUgQCAlcCBzaXplOiAweCVseFxuIiwKKwkJYmluYXJ5LCBzaXplb2YgKGJp bmFyeSkpOwogICBncnViX2ZyZWUgKGJpbmFyeSk7CiAKICAgcmV0dXJuOwpAQCAtMzc3LDgg KzMyMCw3IEBAIHhlbl9ib290X2JpbmFyeV9sb2FkIChzdHJ1Y3QgeGVuX2Jvb3RfYmluYXJ5 ICpiaW5hcnksIGdydWJfZmlsZV90IGZpbGUsCiAJCSAgICAgIGludCBhcmdjLCBjaGFyICph cmd2W10pCiB7CiAgIGJpbmFyeS0+c2l6ZSA9IGdydWJfZmlsZV9zaXplIChmaWxlKTsKLSAg Z3J1Yl9kcHJpbnRmICgieGVuX2xvYWRlciIsICJYZW5fYm9vdCAlcyBmaWxlIHNpemU6IDB4 JWx4XG4iLAotCQliaW5hcnktPm5hbWUsIGJpbmFyeS0+c2l6ZSk7CisgIGdydWJfZHByaW50 ZiAoInhlbl9sb2FkZXIiLCAiWGVuX2Jvb3QgZmlsZSBzaXplOiAweCVseFxuIiwgYmluYXJ5 LT5zaXplKTsKIAogICBiaW5hcnktPnN0YXJ0CiAgICAgPSAoZ3J1Yl9hZGRyX3QpIGdydWJf ZWZpX2FsbG9jYXRlX3BhZ2VzICgwLApAQCAtMzkxLDggKzMzMyw4IEBAIHhlbl9ib290X2Jp bmFyeV9sb2FkIChzdHJ1Y3QgeGVuX2Jvb3RfYmluYXJ5ICpiaW5hcnksIGdydWJfZmlsZV90 IGZpbGUsCiAgICAgICByZXR1cm47CiAgICAgfQogCi0gIGdydWJfZHByaW50ZiAoInhlbl9s b2FkZXIiLCAiWGVuX2Jvb3QgJXMgbnVtcGFnZXM6IDB4JWx4XG4iLAotCQliaW5hcnktPm5h bWUsIEdSVUJfRUZJX0JZVEVTX1RPX1BBR0VTIChiaW5hcnktPnNpemUgKyBiaW5hcnktPmFs aWduKSk7CisgIGdydWJfZHByaW50ZiAoInhlbl9sb2FkZXIiLCAiWGVuX2Jvb3QgbnVtcGFn ZXM6IDB4JWx4XG4iLAorCSAgICAgICAgR1JVQl9FRklfQllURVNfVE9fUEFHRVMgKGJpbmFy eS0+c2l6ZSArIGJpbmFyeS0+YWxpZ24pKTsKIAogICBpZiAoZ3J1Yl9maWxlX3JlYWQgKGZp bGUsICh2b2lkICopIHhlbl9ib290X2FkZHJlc3NfYWxpZ24gKGJpbmFyeS0+c3RhcnQsCiAJ CQkJCQkJICAgICBiaW5hcnktPmFsaWduKSwKQEAgLTQxNiw3ICszNTgsNyBAQCB4ZW5fYm9v dF9iaW5hcnlfbG9hZCAoc3RydWN0IHhlbl9ib290X2JpbmFyeSAqYmluYXJ5LCBncnViX2Zp bGVfdCBmaWxlLAogICAgICAgZ3J1Yl9jcmVhdGVfbG9hZGVyX2NtZGxpbmUgKGFyZ2MgLSAx LCBhcmd2ICsgMSwgYmluYXJ5LT5jbWRsaW5lLAogCQkJCSAgYmluYXJ5LT5jbWRsaW5lX3Np emUpOwogICAgICAgZ3J1Yl9kcHJpbnRmICgieGVuX2xvYWRlciIsCi0JCSAgICAiWGVuX2Jv b3QgJXMgY21kbGluZSBAICVwICVzLCBzaXplOiAlZFxuIiwgYmluYXJ5LT5uYW1lLAorCQkg ICAgIlhlbl9ib290IGNtZGxpbmUgQCAlcCAlcywgc2l6ZTogJWRcbiIsCiAJCSAgICBiaW5h cnktPmNtZGxpbmUsIGJpbmFyeS0+Y21kbGluZSwgYmluYXJ5LT5jbWRsaW5lX3NpemUpOwog ICAgIH0KICAgZWxzZQpAQCAtNDMwLDcgKzM3Miw4IEBAIHhlbl9ib290X2JpbmFyeV9sb2Fk IChzdHJ1Y3QgeGVuX2Jvb3RfYmluYXJ5ICpiaW5hcnksIGdydWJfZmlsZV90IGZpbGUsCiB9 CiAKIHN0YXRpYyBncnViX2Vycl90Ci1ncnViX2NtZF94ZW5fbW9kdWxlIChncnViX2NvbW1h bmRfdCBjbWQsIGludCBhcmdjLCBjaGFyICphcmd2W10pCitncnViX2NtZF94ZW5fbW9kdWxl IChncnViX2NvbW1hbmRfdCBjbWQgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCSAgICAg aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKIAogICBzdHJ1Y3QgeGVuX2Jvb3RfYmluYXJ5 ICptb2R1bGUgPSBOVUxMOwpAQCAtNDU0LDM0ICszOTcsMTAgQEAgZ3J1Yl9jbWRfeGVuX21v ZHVsZSAoZ3J1Yl9jb21tYW5kX3QgY21kLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQogICBp ZiAoIW1vZHVsZSkKICAgICByZXR1cm4gZ3J1Yl9lcnJubzsKIAotICAvKiBwcm9jZXNzIGFs bCB0aGUgb3B0aW9ucyBhbmQgZ2V0IG1vZHVsZSB0eXBlICovCi0gIGlmIChzZXRfbW9kdWxl X3R5cGUgKGNtZCwgbW9kdWxlKSAhPSBHUlVCX0VSUl9OT05FKQotICAgIGdvdG8gZmFpbDsK LSAgc3dpdGNoIChtb2R1bGUtPm5vZGVfaW5mby50eXBlKQotICAgIHsKLSAgICBjYXNlIE1P RFVMRV9JTUFHRToKLSAgICBjYXNlIE1PRFVMRV9JTklUUkQ6Ci0gICAgY2FzZSBNT0RVTEVf WFNNOgotICAgICAgbW9kdWxlLT5ub2RlX2luZm8uY29tcGF0X3N0cmluZyA9Ci0JZGVmYXVs dF9jb21wYXRfc3RyaW5nW21vZHVsZS0+bm9kZV9pbmZvLnR5cGVdLmNvbXBhdF9zdHJpbmc7 Ci0gICAgICBtb2R1bGUtPm5vZGVfaW5mby5jb21wYXRfc3RyaW5nX3NpemUgPQotCWRlZmF1 bHRfY29tcGF0X3N0cmluZ1ttb2R1bGUtPm5vZGVfaW5mby50eXBlXS5zaXplOwotICAgICAg YnJlYWs7Ci0KLSAgICBjYXNlIE1PRFVMRV9DVVNUT006Ci0gICAgICAvKiB3ZSBoYXZlIHNl dCB0aGUgbm9kZV9pbmZvIGluIHNldF9tb2R1bGVfdHlwZSAqLwotICAgICAgYnJlYWs7Ci0K LSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9B UkdVTUVOVCwgTl8oImludmFsaWQgYXJndW1lbnQiKSk7Ci0gICAgfQotICBtb2R1bGUtPm5h bWUgPSBtb2R1bGUtPm5vZGVfaW5mby5jb21wYXRfc3RyaW5nOwotICBtb2R1bGUtPmFsaWdu ID0gbW9kdWxlX2RlZmF1bHRfYWxpZ25bbW9kdWxlLT5ub2RlX2luZm8udHlwZV07CisgIG1v ZHVsZS0+aXNfaHlwZXJ2aXNvciA9IDA7CisgIG1vZHVsZS0+YWxpZ24gPSA0MDk2OwogCi0g IGdydWJfZHByaW50ZiAoInhlbl9sb2FkZXIiLCAiSW5pdCAlcyBtb2R1bGUgYW5kIG5vZGUg aW5mbzpcbiIKLQkJImNvbXBhdGlibGUgJXNcbmNvbXBhdF9zdHJpbmdfc2l6ZSAweCVseFxu IiwKLQkJbW9kdWxlLT5uYW1lLCBtb2R1bGUtPm5vZGVfaW5mby5jb21wYXRfc3RyaW5nLAot CQltb2R1bGUtPm5vZGVfaW5mby5jb21wYXRfc3RyaW5nX3NpemUpOworICBncnViX2Rwcmlu dGYgKCJ4ZW5fbG9hZGVyIiwgIkluaXQgbW9kdWxlIGFuZCBub2RlIGluZm9cbiIpOwogCiAg IGZpbGUgPSBncnViX2ZpbGVfb3BlbiAoYXJndlswXSk7CiAgIGlmICghZmlsZSkKQEAgLTQ5 MSw3ICs0MTAsNyBAQCBncnViX2NtZF94ZW5fbW9kdWxlIChncnViX2NvbW1hbmRfdCBjbWQs IGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgIGlmIChncnViX2Vycm5vID09IEdSVUJfRVJS X05PTkUpCiAgICAgZ3J1Yl9saXN0X3B1c2ggKEdSVUJfQVNfTElTVF9QICgmbW9kdWxlX2hl YWQpLCBHUlVCX0FTX0xJU1QgKG1vZHVsZSkpOwogCi1mYWlsOgorIGZhaWw6CiAgIGlmIChm aWxlKQogICAgIGdydWJfZmlsZV9jbG9zZSAoZmlsZSk7CiAgIGlmIChncnViX2Vycm5vICE9 IEdSVUJfRVJSX05PTkUpCkBAIC01MzUsNyArNDU0LDcgQEAgZ3J1Yl9jbWRfeGVuX2h5cGVy dmlzb3IgKGdydWJfY29tbWFuZF90IGNtZCBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSksCiAg IGlmICgheGVuX2h5cGVydmlzb3IpCiAgICAgcmV0dXJuIGdydWJfZXJybm87CiAKLSAgeGVu X2h5cGVydmlzb3ItPm5hbWUgPSBYRU5fSFlQRVJWSVNPUl9OQU1FOworICB4ZW5faHlwZXJ2 aXNvci0+aXNfaHlwZXJ2aXNvciA9IDE7CiAgIHhlbl9oeXBlcnZpc29yLT5hbGlnbiA9IChn cnViX3NpemVfdCkgc2gub3B0aW9uYWxfaGVhZGVyLnNlY3Rpb25fYWxpZ25tZW50OwogCiAg IHhlbl9ib290X2JpbmFyeV9sb2FkICh4ZW5faHlwZXJ2aXNvciwgZmlsZSwgYXJnYywgYXJn dik7CkBAIC01NTksMjkgKzQ3OCwyMSBAQCBmYWlsOgogfQogCiBzdGF0aWMgZ3J1Yl9jb21t YW5kX3QgY21kX3hlbl9oeXBlcnZpc29yOwotc3RhdGljIGdydWJfY29tbWFuZF90IGNtZF94 ZW5fbGludXgsIGNtZF94ZW5faW5pdHJkLCBjbWRfeGVuX3hzbTsKK3N0YXRpYyBncnViX2Nv bW1hbmRfdCBjbWRfeGVuX21vZHVsZTsKIAogR1JVQl9NT0RfSU5JVCAoeGVuX2Jvb3QpCiB7 CiAgIGNtZF94ZW5faHlwZXJ2aXNvciA9CiAgICAgZ3J1Yl9yZWdpc3Rlcl9jb21tYW5kICgi eGVuX2h5cGVydmlzb3IiLCBncnViX2NtZF94ZW5faHlwZXJ2aXNvciwgMCwKIAkJCSAgIE5f KCJMb2FkIGEgeGVuIGh5cGVydmlzb3IuIikpOwotICBjbWRfeGVuX2xpbnV4ID0KLSAgICBn cnViX3JlZ2lzdGVyX2NvbW1hbmQgKCJ4ZW5fbGludXgiLCBncnViX2NtZF94ZW5fbW9kdWxl LCAwLAotCQkJICAgTl8oIkxvYWQgYSB4ZW4gbGludXgga2VybmVsIGZvciBkb20wLiIpKTsK LSAgY21kX3hlbl9pbml0cmQgPQotICAgIGdydWJfcmVnaXN0ZXJfY29tbWFuZCAoInhlbl9p bml0cmQiLCBncnViX2NtZF94ZW5fbW9kdWxlLCAwLAotCQkJICAgTl8oIkxvYWQgYSB4ZW4g aW5pdHJkIGZvciBkb20wLiIpKTsKLSAgY21kX3hlbl94c20gPQotICAgIGdydWJfcmVnaXN0 ZXJfY29tbWFuZCAoInhlbl94c20iLCBncnViX2NtZF94ZW5fbW9kdWxlLCAwLAotCQkJICAg Tl8oIkxvYWQgYSB4ZW4gc2VjdXJpdHkgbW9kdWxlLiIpKTsKKyAgY21kX3hlbl9tb2R1bGUg PQorICAgIGdydWJfcmVnaXN0ZXJfY29tbWFuZCAoInhlbl9tb2R1bGUiLCBncnViX2NtZF94 ZW5fbW9kdWxlLCAwLAorCQkJICAgTl8oIkxvYWQgYSB4ZW4gbW9kdWxlLiIpKTsKICAgbXlf bW9kID0gbW9kOwogfQogCiBHUlVCX01PRF9GSU5JICh4ZW5fYm9vdCkKIHsKICAgZ3J1Yl91 bnJlZ2lzdGVyX2NvbW1hbmQgKGNtZF94ZW5faHlwZXJ2aXNvcik7Ci0gIGdydWJfdW5yZWdp c3Rlcl9jb21tYW5kIChjbWRfeGVuX2xpbnV4KTsKLSAgZ3J1Yl91bnJlZ2lzdGVyX2NvbW1h bmQgKGNtZF94ZW5faW5pdHJkKTsKLSAgZ3J1Yl91bnJlZ2lzdGVyX2NvbW1hbmQgKGNtZF94 ZW5feHNtKTsKKyAgZ3J1Yl91bnJlZ2lzdGVyX2NvbW1hbmQgKGNtZF94ZW5fbW9kdWxlKTsK IH0K --------------050802010007010006090409-- --Nn4JTVxTuoXnoOiamf4nUCH2VWqGQ0CRe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iF4EAREKAAYFAlaTtuwACgkQmBXlbbo5nOt5ygD/Zp0fokZFu9g7272Tlk3Bzgwp rtUHqoKoE06czA4ifFAA/RADY6WyHJW27ILxQQmAOts5/s9tAgwSwlHRrAGj6Txk =F/WN -----END PGP SIGNATURE----- --Nn4JTVxTuoXnoOiamf4nUCH2VWqGQ0CRe--