From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: Re: [PATCH v13 4/9] x86: add multiboot2 protocol support for EFI platforms Date: Wed, 25 Jan 2017 23:49:21 +0100 Message-ID: <20170125224921.GL16671@olila.local.net-space.pl> References: <1485382293-13800-1-git-send-email-daniel.kiper@oracle.com> <1485382293-13800-5-git-send-email-daniel.kiper@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWWNu-0006QE-Ro for xen-devel@lists.xenproject.org; Wed, 25 Jan 2017 22:49:47 +0000 Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Doug Goldstein Cc: jgross@suse.com, sstabellini@kernel.org, andrew.cooper3@citrix.com, pgnet.dev@gmail.com, ning.sun@intel.com, julien.grall@arm.com, jbeulich@suse.com, xen-devel@lists.xenproject.org, qiaowei.ren@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBKYW4gMjUsIDIwMTcgYXQgMDQ6MjA6MzBQTSAtMDYwMCwgRG91ZyBHb2xkc3RlaW4g d3JvdGU6Cj4gT24gMS8yNS8xNyA0OjExIFBNLCBEYW5pZWwgS2lwZXIgd3JvdGU6Cj4gPiBUaGlz IHdheSBYZW4gY2FuIGJlIGxvYWRlZCBvbiBFRkkgcGxhdGZvcm1zIHVzaW5nIEdSVUIyIGFuZAo+ ID4gb3RoZXIgYm9vdCBsb2FkZXJzIHdoaWNoIHN1cHBvcnQgbXVsdGlib290MiBwcm90b2NvbC4K PiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIEtpcGVyIDxkYW5pZWwua2lwZXJAb3JhY2xl LmNvbT4KPiA+IC0tLQo+ID4gdjEzIC0gc3VnZ2VzdGlvbnMvZml4ZXM6Cj4gPiAgICAgLSBtb3Zl IHZnYV90ZXh0X2J1ZmZlciBhbmQgZWZpX3BsYXRmb3JtIHRvIC5pbml0LmRhdGEgc2VjdGlvbgo+ ID4gICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCj4gPiAgICAgLSByZWR1Y2UgbnVt YmVyIG9mIGVycm9yIGJyYW5jaGVzIGluIEVGSSBjb2RlIGluIHhlbi9hcmNoL3g4Ni9ib290L2hl YWQuUwo+ID4gICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCj4gPiAgICAgLSByZW5h bWUgcnVuX2JzIGxhYmVsIHRvIC5McnVuX2JzCj4gPiAgICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKSwKPiA+ICAgICAtIGFsaWduIHRoZSBzdGFjayBhcyBVRUZJIHNwZWMgcmVxdWlyZXMK PiA+ICAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAo+ID4gICAgIC0gY2hhbmdlIHRy YW1wb2xpbmUgcmVnaW9uIG1lbW9yeSBsYXlvdXQKPiA+ICAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpLAo+ID4gICAgIC0gcmV2ZXJ0IGNoYW5nZXMgaW4gZWZpX2FyY2hfcHJlX2V4aXRf Ym9vdCgpCj4gPiAgICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKPiA+ICAgICAtIHJl bG9jYXRlX3RyYW1wb2xpbmUoKSBtdXN0IHNldCB0cmFtcG9saW5lX3BoeXMgZm9yIGFsbCBib290 bG9hZGVyczsKPiA+ICAgICAgIG90aGVyd2lzZSBmYWxsYmFjayBhbGxvY2F0b3IgaXMgYWx3YXlz IHVzZWQgaWYgWGVuIHdhcyBsb2FkZWQgd2l0aAo+ID4gICAgICAgTXVsdGlib290MiBwcm90b2Nv bCwKPiA+ICAgICAtIGNoYW5nZSBlcnIgdHlwZSBpbiBlZmlfbXVsdGlib290MigpIHRvICJzdGF0 aWMgY29uc3QgQ0hBUjE2IF9faW5pdGNvbnN0Igo+ID4gICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCksCj4gPiAgICAgLSBjaGFuZ2UgYXNtICJnIiBjb25zdHJhaW50IHRvICJybSIgaW4g ZWZpX211bHRpYm9vdDIoKQo+ID4gICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCj4g PiAgICAgLSBpbXByb3ZlIGNvbW1lbnRzCj4gPiAgICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoIGFuZCBEb3VnIEdvbGRzdGVpbikuCj4gCj4gVGhpcyBpcyBhIGh1Z2UgY2hhbmdlIGFuZCB3 b3VsZCByZWFsbHkgYmUgaGVscGZ1bCB0byBoYXZlIHRoZSBkaWZmIG9mCj4gd2hhdCdzIGNoYW5n ZWQgdG8gd29yayBmcm9tLgoKUGxlYXNlIGxvb2sgYmVsb3cuLi4KCkRhbmllbAoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQuUyBiL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQuUwpp bmRleCBiOGY3MjdhLi4yZWNkY2IzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC9oZWFk LlMKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TCkBAIC0xMDksMTMgKzEwOSw2IEBAIGdk dF9ib290X2Rlc2NyOgogICAgICAgICAubG9uZyAgIHN5bV9waHlzKHRyYW1wb2xpbmVfZ2R0KQog ICAgICAgICAubG9uZyAgIDAgLyogTmVlZGVkIGZvciA2NC1iaXQgbGdkdCAqLwogCi0gICAgICAg IC5hbGlnbiA0Ci12Z2FfdGV4dF9idWZmZXI6Ci0gICAgICAgIC5sb25nICAgMHhiODAwMAotCi1l ZmlfcGxhdGZvcm06Ci0gICAgICAgIC5ieXRlICAgMAotCiAuTGJhZF9jcHVfbXNnOiAuYXNjaXog IkVSUjogTm90IGEgNjQtYml0IENQVSEiCiAuTGJhZF9sZHJfbXNnOiAuYXNjaXogIkVSUjogTm90 IGEgTXVsdGlib290IGJvb3Rsb2FkZXIhIgogLkxiYWRfbGRyX25iczogLmFzY2l6ICJFUlI6IEJv b3Rsb2FkZXIgc2h1dGRvd24gRUZJIHg2NCBib290IHNlcnZpY2VzISIKQEAgLTEyMyw2ICsxMTYs MTUgQEAgZWZpX3BsYXRmb3JtOgogLkxiYWRfbGRyX25paDogLmFzY2l6ICJFUlI6IEVGSSBJbWFn ZUhhbmRsZSBpcyBub3QgcHJvdmlkZWQgYnkgYm9vdGxvYWRlciEiCiAuTGJhZF9lZmlfbXNnOiAu YXNjaXogIkVSUjogRUZJIElBLTMyIHBsYXRmb3JtcyBhcmUgbm90IHN1cHBvcnRlZCEiCiAKKyAg ICAgICAgLnNlY3Rpb24gLmluaXQuZGF0YSwgImEiLCBAcHJvZ2JpdHMKKyAgICAgICAgLmFsaWdu IDQKKwordmdhX3RleHRfYnVmZmVyOgorICAgICAgICAubG9uZyAgIDB4YjgwMDAKKworZWZpX3Bs YXRmb3JtOgorICAgICAgICAuYnl0ZSAgIDAKKwogICAgICAgICAuc2VjdGlvbiAuaW5pdC50ZXh0 LCAiYXgiLCBAcHJvZ2JpdHMKIAogYmFkX2NwdToKQEAgLTE3MCw2ICsxNzIsMTIgQEAgbm90X211 bHRpYm9vdDoKICAgICAgICAgLmNvZGU2NAogCiBfX2VmaTY0X21iMl9zdGFydDoKKyAgICAgICAg LyoKKyAgICAgICAgICogTXVsdGlib290MiBzcGVjIHNheXMgdGhhdCBoZXJlIENQVSBpcyBpbiA2 NC1iaXQgbW9kZS4gSG93ZXZlciwgdGhlcmUKKyAgICAgICAgICogaXMgYWxzbyBndWFyYW50ZWUg dGhhdCBhbGwgY29kZSBhbmQgZGF0YSBpcyBhbHdheXMgcHV0IGJ5IHRoZSBib290bG9hZGVyCisg ICAgICAgICAqIGJlbG93IDQgR2lCLiBIZW5jZSwgd2UgY2FuIHNhZmVseSB1c2UgaW4gbW9zdCBj YXNlcyAzMi1iaXQgYWRkcmVzc2luZy4KKyAgICAgICAgICovCisKICAgICAgICAgY2xkCiAKICAg ICAgICAgLyogVkdBIGlzIG5vdCBhdmFpbGFibGUgb24gRUZJIHBsYXRmb3Jtcy4gKi8KQEAgLTE4 MCw3ICsxODgsNyBAQCBfX2VmaTY0X21iMl9zdGFydDoKICAgICAgICAgamUgICAgICAuTGVmaV9t dWx0aWJvb3QyX3Byb3RvCiAKICAgICAgICAgLyogSnVtcCB0byBub3RfbXVsdGlib290IGFmdGVy IHN3aXRjaGluZyBDUFUgdG8geDg2XzMyIG1vZGUuICovCi0gICAgICAgIGxlYSAgICAgbm90X211 bHRpYm9vdCglcmlwKSwlZWRpCisgICAgICAgIGxlYSAgICAgbm90X211bHRpYm9vdCglcmlwKSwl cjE1ZAogICAgICAgICBqbXAgICAgIHg4Nl8zMl9zd2l0Y2gKIAogLkxlZmlfbXVsdGlib290Ml9w cm90bzoKQEAgLTE5Nyw3ICsyMDUsNyBAQCBfX2VmaTY0X21iMl9zdGFydDoKICAgICAgICAgbW92 ICAgICAlZWN4LCVyOGQKICAgICAgICAgc3ViICAgICAlZWJ4LCVyOGQKICAgICAgICAgY21wICAg ICAlcjhkLE1CMl9maXhlZF90b3RhbF9zaXplKCVyYngpCi0gICAgICAgIGpiZSAgICAgcnVuX2Jz CisgICAgICAgIGpiZSAgICAgLkxydW5fYnMKIAogICAgICAgICAvKiBBcmUgRUZJIGJvb3Qgc2Vy dmljZXMgYXZhaWxhYmxlPyAqLwogICAgICAgICBjbXBsICAgICRNVUxUSUJPT1QyX1RBR19UWVBF X0VGSV9CUyxNQjJfdGFnX3R5cGUoJXJjeCkKQEAgLTIyNiw3ICsyMzQsNyBAQCBfX2VmaTY0X21i Ml9zdGFydDoKIAogICAgICAgICAvKiBJcyBpdCB0aGUgZW5kIG9mIE11bHRpYm9vdDIgaW5mb3Jt YXRpb24/ICovCiAgICAgICAgIGNtcGwgICAgJE1VTFRJQk9PVDJfVEFHX1RZUEVfRU5ELE1CMl90 YWdfdHlwZSglcmN4KQotICAgICAgICBqZSAgICAgIHJ1bl9icworICAgICAgICBqZSAgICAgIC5M cnVuX2JzCiAKIC5MZWZpX21iMl9uZXh0X3RhZzoKICAgICAgICAgLyogR28gdG8gbmV4dCBNdWx0 aWJvb3QyIGluZm9ybWF0aW9uIHRhZy4gKi8KQEAgLTIzNSwzNCArMjQzLDMyIEBAIF9fZWZpNjRf bWIyX3N0YXJ0OgogICAgICAgICBhbmQgICAgICR+KE1VTFRJQk9PVDJfVEFHX0FMSUdOLTEpLCVl Y3gKICAgICAgICAgam1wICAgICAuTGVmaV9tYjJfdHNpemUKIAotcnVuX2JzOgorLkxydW5fYnM6 CiAgICAgICAgIC8qIEFyZSBFRkkgYm9vdCBzZXJ2aWNlcyBhdmFpbGFibGU/ICovCiAgICAgICAg IGNtcGIgICAgJDAsZWZpX3BsYXRmb3JtKCVyaXApCi0gICAgICAgIGpueiAgICAgMGYKIAogICAg ICAgICAvKiBKdW1wIHRvIC5MbWIyX25vX2JzIGFmdGVyIHN3aXRjaGluZyBDUFUgdG8geDg2XzMy IG1vZGUuICovCi0gICAgICAgIGxlYSAgICAgLkxtYjJfbm9fYnMoJXJpcCksJWVkaQotICAgICAg ICBqbXAgICAgIHg4Nl8zMl9zd2l0Y2gKKyAgICAgICAgbGVhICAgICAuTG1iMl9ub19icyglcmlw KSwlcjE1ZAorICAgICAgICBqeiAgICAgIHg4Nl8zMl9zd2l0Y2gKIAotMDoKICAgICAgICAgLyog SXMgRUZJIFN5c3RlbVRhYmxlIGFkZHJlc3MgcHJvdmlkZWQgYnkgYm9vdCBsb2FkZXI/ICovCiAg ICAgICAgIHRlc3QgICAgJXJzaSwlcnNpCi0gICAgICAgIGpueiAgICAgMWYKIAogICAgICAgICAv KiBKdW1wIHRvIC5MbWIyX25vX3N0IGFmdGVyIHN3aXRjaGluZyBDUFUgdG8geDg2XzMyIG1vZGUu ICovCi0gICAgICAgIGxlYSAgICAgLkxtYjJfbm9fc3QoJXJpcCksJWVkaQotICAgICAgICBqbXAg ICAgIHg4Nl8zMl9zd2l0Y2gKKyAgICAgICAgbGVhICAgICAuTG1iMl9ub19zdCglcmlwKSwlcjE1 ZAorICAgICAgICBqeiAgICAgIHg4Nl8zMl9zd2l0Y2gKIAotMToKICAgICAgICAgLyogSXMgRUZJ IEltYWdlSGFuZGxlIGFkZHJlc3MgcHJvdmlkZWQgYnkgYm9vdCBsb2FkZXI/ICovCiAgICAgICAg IHRlc3QgICAgJXJkaSwlcmRpCi0gICAgICAgIGpueiAgICAgMmYKIAogICAgICAgICAvKiBKdW1w IHRvIC5MbWIyX25vX2loIGFmdGVyIHN3aXRjaGluZyBDUFUgdG8geDg2XzMyIG1vZGUuICovCi0g ICAgICAgIGxlYSAgICAgLkxtYjJfbm9faWgoJXJpcCksJWVkaQotICAgICAgICBqbXAgICAgIHg4 Nl8zMl9zd2l0Y2gKKyAgICAgICAgbGVhICAgICAuTG1iMl9ub19paCglcmlwKSwlcjE1ZAorICAg ICAgICBqeiAgICAgIHg4Nl8zMl9zd2l0Y2gKKworICAgICAgICAvKiBBbGlnbiB0aGUgc3RhY2sg YXMgVUVGSSBzcGVjIHJlcXVpcmVzLiAqLworICAgICAgICBhZGQgICAgICQxNSwlcnNwCisgICAg ICAgIGFuZCAgICAgJH4xNSwlcnNwCiAKLTI6CiAgICAgICAgIHB1c2ggICAgJXJheAogICAgICAg ICBwdXNoICAgICVyZGkKIApAQCAtMjgwLDEzICsyODYsMTMgQEAgcnVuX2JzOgogCiAgICAgICAg IHBvcCAgICAgJXJkaQogCisgICAgICAgIC8qIEFsaWduIHRoZSBzdGFjayBhcyBVRUZJIHNwZWMg cmVxdWlyZXMuICovCisgICAgICAgIHB1c2ggICAgJXJkaQorCiAgICAgICAgIC8qCiAgICAgICAg ICAqIGVmaV9tdWx0aWJvb3QyKCkgaXMgY2FsbGVkIGFjY29yZGluZyB0byBTeXN0ZW0gViBBTUQ2 NCBBQkk6Ci0gICAgICAgICAqICAgLSBJTjogJXJkaSAtIEVGSSBJbWFnZUhhbmRsZSwgJXJzaSAt IEVGSSBTeXN0ZW1UYWJsZSwKLSAgICAgICAgICogICAtIE9VVDogJXJheCAtIGhpZ2hlc3QgYWxs b2NhdGVkIG1lbW9yeSBhZGRyZXNzIGJlbG93IDEgTWlCOwotICAgICAgICAgKiAgICAgICAgICAg ICAgICAgbWVtb3J5IGJlbG93IHRoaXMgYWRkcmVzcyBpcyB1c2VkIGZvciB0cmFtcG9saW5lCi0g ICAgICAgICAqICAgICAgICAgICAgICAgICBzdGFjaywgdHJhbXBvbGluZSBpdHNlbGYgYW5kIGFz IGEgc3RvcmFnZSBmb3IKLSAgICAgICAgICogICAgICAgICAgICAgICAgIG1iaSBzdHJ1Y3QgY3Jl YXRlZCBpbiByZWxvYygpLgorICAgICAgICAgKiAgIC0gSU46ICAlcmRpIC0gRUZJIEltYWdlSGFu ZGxlLCAlcnNpIC0gRUZJIFN5c3RlbVRhYmxlLAorICAgICAgICAgKiAgIC0gT1VUOiAlcmF4IC0g dHJhbXBvbGluZSBhZGRyZXNzLgogICAgICAgICAgKgogICAgICAgICAgKiBNVUxUSUJPT1QyX1RB R19UWVBFX0JBU0lDX01FTUlORk8gdGFnIGlzIG5vdCBwcm92aWRlZAogICAgICAgICAgKiBvbiBF RkkgcGxhdGZvcm1zLiBIZW5jZSwgaXQgY291bGQgbm90IGJlIHVzZWQgbGlrZQpAQCAtMjk4LDEy ICszMDQsMTUgQEAgcnVuX2JzOgogICAgICAgICBzaHIgICAgICQ0LCVlYXgKICAgICAgICAgbW92 ICAgICAlZWF4LCVlY3gKIAorICAgICAgICBwb3AgICAgICVyZGkKICAgICAgICAgcG9wICAgICAl cmF4CiAKICAgICAgICAgLyogSnVtcCB0byB0cmFtcG9saW5lX3NldHVwIGFmdGVyIHN3aXRjaGlu ZyBDUFUgdG8geDg2XzMyIG1vZGUuICovCi0gICAgICAgIGxlYSAgICAgdHJhbXBvbGluZV9zZXR1 cCglcmlwKSwlZWRpCisgICAgICAgIGxlYSAgICAgdHJhbXBvbGluZV9zZXR1cCglcmlwKSwlcjE1 ZAogCiB4ODZfMzJfc3dpdGNoOgorICAgICAgICBtb3YgICAgICVyMTVkLCVlZGkKKwogICAgICAg ICBjbGkKIAogICAgICAgICAvKiBJbml0aWFsaXplIEdEVFIuICovCkBAIC00MjQsMjYgKzQzMyw0 NCBAQCB0cmFtcG9saW5lX2Jpb3Nfc2V0dXA6CiAgICAgICAgIGNtcCAgICAgJWVjeCwlZWR4ICAg ICAgICAgICAvKiBjb21wYXJlIHdpdGggQkRBIHZhbHVlICovCiAgICAgICAgIGNtb3ZiICAgJWVk eCwlZWN4ICAgICAgICAgICAvKiBhbmQgdXNlIHRoZSBzbWFsbGVyICovCiAKLSAgICAgICAgLyog UmVzZXJ2ZSBtZW1vcnkgZm9yIHRoZSB0cmFtcG9saW5lLiAqLwotICAgICAgICBzdWIgICAgICQo KE1CX1RSQU1QT0xJTkVfU0laRStNQl9UUkFNUE9MSU5FX1NUQUNLX1NJWkUpPj40KSwlZWN4Cisg ICAgICAgIC8qIFJlc2VydmUgbWVtb3J5IGZvciB0aGUgdHJhbXBvbGluZSBhbmQgdGhlIGxvdy1t ZW1vcnkgc3RhY2suICovCisgICAgICAgIHN1YiAgICAgJCgoVFJBTVBPTElORV9TUEFDRStUUkFN UE9MSU5FX1NUQUNLX1NQQUNFKT4+NCksJWVjeAogCiAgICAgICAgIC8qIEZyb20gYXJjaC94ODYv c21wYm9vdC5jOiBzdGFydF9laXAgaGFkIGJldHRlciBiZSBwYWdlLWFsaWduZWQhICovCiAgICAg ICAgIHhvciAgICAgJWNsLCAlY2wKIAogdHJhbXBvbGluZV9zZXR1cDoKLSAgICAgICAgLyogU2F2 ZSB0cmFtcG9saW5lIGFkZHJlc3MgZm9yIGxhdGVyIHVzZS4gKi8KICAgICAgICAgc2hsICAgICAk NCwgJWVjeAogICAgICAgICBtb3YgICAgICVlY3gsc3ltX3BoeXModHJhbXBvbGluZV9waHlzKQog CisgICAgICAgIC8qIEdldCB0b3Btb3N0IGxvdy1tZW1vcnkgc3RhY2sgYWRkcmVzcy4gKi8KKyAg ICAgICAgYWRkICAgICAkVFJBTVBPTElORV9TUEFDRSwlZWN4CisKICAgICAgICAgLyogU2F2ZSB0 aGUgTXVsdGlib290IGluZm8gc3RydWN0IChhZnRlciByZWxvY2F0aW9uKSBmb3IgbGF0ZXIgdXNl LiAqLwogICAgICAgICBtb3YgICAgICRzeW1fcGh5cyhjcHUwX3N0YWNrKSsxMDI0LCVlc3AKLSAg ICAgICAgcHVzaCAgICAlZWN4ICAgICAgICAgICAgICAgIC8qIEJvb3QgdHJhbXBvbGluZSBhZGRy ZXNzLiAqLworICAgICAgICBwdXNoICAgICVlY3ggICAgICAgICAgICAgICAgLyogVG9wbW9zdCBs b3ctbWVtb3J5IHN0YWNrIGFkZHJlc3MuICovCiAgICAgICAgIHB1c2ggICAgJWVieCAgICAgICAg ICAgICAgICAvKiBNdWx0aWJvb3QgaW5mb3JtYXRpb24gYWRkcmVzcy4gKi8KICAgICAgICAgcHVz aCAgICAlZWF4ICAgICAgICAgICAgICAgIC8qIE11bHRpYm9vdCBtYWdpYy4gKi8KICAgICAgICAg Y2FsbCAgICByZWxvYwogICAgICAgICBtb3YgICAgICVlYXgsc3ltX3BoeXMobXVsdGlib290X3B0 cikKIAogICAgICAgICAvKgorICAgICAgICAgKiBOb3cgdHJhbXBvbGluZV9waHlzIHBvaW50cyB0 byB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZSAobG93ZXN0CisgICAgICAgICAqIGFkZHJlc3MgaXMg YXQgdGhlIHRvcCk6CisgICAgICAgICAqCisgICAgICAgICAqICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCisgICAgICAgICAqIHwgICAgVFJBTVBPTElORV9TUEFDRSAgICB8CisgICAgICAgICAq ICstIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSArCisgICAgICAgICAqIHwgICAgICAgbWJpIHN0cnVj dCAgICAgICB8CisgICAgICAgICAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAg ICAqIHwgVFJBTVBPTElORV9TVEFDS19TUEFDRSB8CisgICAgICAgICAqICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCisgICAgICAgICAqCisgICAgICAgICAqIG1iaSBzdHJ1Y3QgbGl2ZXMgYXQg dGhlIGVuZCBvZiBUUkFNUE9MSU5FX1NQQUNFLiBUaGUgcmVzdCBvZgorICAgICAgICAgKiBUUkFN UE9MSU5FX1NQQUNFIGlzIHJlc2VydmVkIGZvciB0cmFtcG9saW5lIGNvZGUgYW5kIGRhdGEuCisg ICAgICAgICAqLworCisgICAgICAgIC8qCiAgICAgICAgICAqIERvIG5vdCB6ZXJvIEJTUyBvbiBF RkkgcGxhdGZvcm0gaGVyZS4KICAgICAgICAgICogSXQgd2FzIGluaXRpYWxpemVkIGVhcmxpZXIu CiAgICAgICAgICAqLwpAQCAtNTI2LDcgKzU1Myw3IEBAIHRyYW1wb2xpbmVfc2V0dXA6CiAxOgog ICAgICAgICAvKiBTd2l0Y2ggdG8gbG93LW1lbW9yeSBzdGFjayB3aGljaCBsaXZlcyBhdCB0aGUg ZW5kIG9mIHRyYW1wb2xpbmUgcmVnaW9uLiAqLwogICAgICAgICBtb3YgICAgIHN5bV9waHlzKHRy YW1wb2xpbmVfcGh5cyksJWVkaQotICAgICAgICBsZWEgICAgIE1CX1RSQU1QT0xJTkVfU0laRStN Ql9UUkFNUE9MSU5FX1NUQUNLX1NJWkUoJWVkaSksJWVzcAorICAgICAgICBsZWEgICAgIFRSQU1Q T0xJTkVfU1BBQ0UrVFJBTVBPTElORV9TVEFDS19TUEFDRSglZWRpKSwlZXNwCiAgICAgICAgIGxl YSAgICAgdHJhbXBvbGluZV9ib290X2NwdV9lbnRyeS10cmFtcG9saW5lX3N0YXJ0KCVlZGkpLCVl YXgKICAgICAgICAgcHVzaGwgICAkQk9PVF9DUzMyCiAgICAgICAgIHB1c2ggICAgJWVheApkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QvcmVsb2MuYyBiL3hlbi9hcmNoL3g4Ni9ib290L3Jl bG9jLmMKaW5kZXggMGYyZTM3Mi4uYjk5MjY3OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Jv b3QvcmVsb2MuYworKysgYi94ZW4vYXJjaC94ODYvYm9vdC9yZWxvYy5jCkBAIC0xNiw3ICsxNiw3 IEBACiAgKiBUaGlzIGVudHJ5IHBvaW50IGlzIGVudGVyZWQgZnJvbSB4ZW4vYXJjaC94ODYvYm9v dC9oZWFkLlMgd2l0aDoKICAqICAgLSAweDQoJWVzcCkgPSBNVUxUSUJPT1RfTUFHSUMsCiAgKiAg IC0gMHg4KCVlc3ApID0gTVVMVElCT09UX0lORk9STUFUSU9OX0FERFJFU1MsCi0gKiAgIC0gMHhj KCVlc3ApID0gQk9PVF9UUkFNUE9MSU5FX0FERFJFU1MuCisgKiAgIC0gMHhjKCVlc3ApID0gVE9Q TU9TVF9MT1dfTUVNT1JZX1NUQUNLX0FERFJFU1MuCiAgKi8KIGFzbSAoCiAgICAgIiAgICAudGV4 dCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTIzNSwzICsyMzUsMTMgQEAgbXVsdGli b290X2luZm9fdCBfX3N0ZGNhbGwgKnJlbG9jKHUzMiBtYl9tYWdpYywgdTMyIG1iaV9pbiwgdTMy IHRyYW1wb2xpbmUpCiAgICAgZWxzZQogICAgICAgICByZXR1cm4gbWJpX3JlbG9jKG1iaV9pbik7 CiB9CisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5 bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRl bnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2VmaS9lZmktYm9vdC5oIGIveGVuL2FyY2gveDg2L2VmaS9lZmktYm9vdC5oCmluZGV4IGMxMjg1 YWQuLmQxOTM4NDcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3QuaAorKysg Yi94ZW4vYXJjaC94ODYvZWZpL2VmaS1ib290LmgKQEAgLTEwMCwxMCArMTAwLDExIEBAIHN0YXRp YyB2b2lkIF9faW5pdCByZWxvY2F0ZV90cmFtcG9saW5lKHVuc2lnbmVkIGxvbmcgcGh5cykKIHsK ICAgICBjb25zdCBzMzIgKnRyYW1wb2xpbmVfcHRyOwogCi0gICAgaWYgKCAhZWZpX2VuYWJsZWQo RUZJX0xPQURFUikgfHwgdHJhbXBvbGluZV9waHlzICkKKyAgICB0cmFtcG9saW5lX3BoeXMgPSBw aHlzOworCisgICAgaWYgKCAhZWZpX2VuYWJsZWQoRUZJX0xPQURFUikgKQogICAgICAgICByZXR1 cm47CiAKLSAgICB0cmFtcG9saW5lX3BoeXMgPSBwaHlzOwogICAgIC8qIEFwcGx5IHJlbG9jYXRp b25zIHRvIHRyYW1wb2xpbmUuICovCiAgICAgZm9yICggdHJhbXBvbGluZV9wdHIgPSBfX3RyYW1w b2xpbmVfcmVsX3N0YXJ0OwogICAgICAgICAgIHRyYW1wb2xpbmVfcHRyIDwgX190cmFtcG9saW5l X3JlbF9zdG9wOwpAQCAtMjEzLDEwICsyMTQsMTIgQEAgc3RhdGljIHZvaWQgKl9faW5pdCBlZmlf YXJjaF9hbGxvY2F0ZV9tbWFwX2J1ZmZlcihVSU5UTiBtYXBfc2l6ZSkKIAogc3RhdGljIHZvaWQg X19pbml0IGVmaV9hcmNoX3ByZV9leGl0X2Jvb3Qodm9pZCkKIHsKLSAgICBpZiAoICFjZmcuYWRk ciApCi0gICAgICAgIGJsZXhpdChMIk5vIG1lbW9yeSBmb3IgdHJhbXBvbGluZSIpOwotCi0gICAg cmVsb2NhdGVfdHJhbXBvbGluZShjZmcuYWRkcik7CisgICAgaWYgKCAhdHJhbXBvbGluZV9waHlz ICkKKyAgICB7CisgICAgICAgIGlmICggIWNmZy5hZGRyICkKKyAgICAgICAgICAgIGJsZXhpdChM Ik5vIG1lbW9yeSBmb3IgdHJhbXBvbGluZSIpOworICAgICAgICByZWxvY2F0ZV90cmFtcG9saW5l KGNmZy5hZGRyKTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBub3JldHVybiBlZmlf YXJjaF9wb3N0X2V4aXRfYm9vdCh2b2lkKQpAQCAtNTU1LDcgKzU1OCw3IEBAIHN0YXRpYyB2b2lk IF9faW5pdCBlZmlfYXJjaF9tZW1vcnlfc2V0dXAodm9pZCkKICAgICBpZiAoIGVmaV9lbmFibGVk KEVGSV9MT0FERVIpICkKICAgICAgICAgY2ZnLnNpemUgPSB0cmFtcG9saW5lX2VuZCAtIHRyYW1w b2xpbmVfc3RhcnQ7CiAgICAgZWxzZQotICAgICAgICBjZmcuc2l6ZSA9IE1CX1RSQU1QT0xJTkVf U0laRSArIE1CX1RSQU1QT0xJTkVfU1RBQ0tfU0laRSArIE1CSV9TSVpFOworICAgICAgICBjZmcu c2l6ZSA9IFRSQU1QT0xJTkVfU1BBQ0UgKyBUUkFNUE9MSU5FX1NUQUNLX1NQQUNFOwogCiAgICAg c3RhdHVzID0gZWZpX2JzLT5BbGxvY2F0ZVBhZ2VzKEFsbG9jYXRlTWF4QWRkcmVzcywgRWZpTG9h ZGVyRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX1VQKGNmZy5z aXplKSwgJmNmZy5hZGRyKTsKQEAgLTY5Niw4ICs2OTksOCBAQCBwYWRkcl90IF9faW5pdCBlZmlf bXVsdGlib290MihFRklfSEFORExFIEltYWdlSGFuZGxlLCBFRklfU1lTVEVNX1RBQkxFICpTeXN0 ZW1UYQogCiAgICAgZWZpX2V4aXRfYm9vdChJbWFnZUhhbmRsZSwgU3lzdGVtVGFibGUpOwogCi0g ICAgLyogUmV0dXJuIGhpZ2hlc3QgYWxsb2NhdGVkIG1lbW9yeSBhZGRyZXNzIGJlbG93IDEgTWlC LiAqLwotICAgIHJldHVybiBjZmcuYWRkciArIGNmZy5zaXplOworICAgIC8qIFJldHVybiB0cmFt cG9saW5lIGFkZHJlc3MuICovCisgICAgcmV0dXJuIHRyYW1wb2xpbmVfcGh5czsKIH0KIAogLyoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9lZmkvc3R1Yi5jIGIveGVuL2FyY2gveDg2L2VmaS9z dHViLmMKaW5kZXggYjgxYWRjMC4uOGRmOWJhMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Vm aS9zdHViLmMKKysrIGIveGVuL2FyY2gveDg2L2VmaS9zdHViLmMKQEAgLTIwLDcgKzIwLDggQEAK IHBhZGRyX3QgX19pbml0IG5vcmV0dXJuIGVmaV9tdWx0aWJvb3QyKEVGSV9IQU5ETEUgSW1hZ2VI YW5kbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfU1lTVEVN X1RBQkxFICpTeXN0ZW1UYWJsZSkKIHsKLSAgICBDSEFSMTYgKmVyciA9IEwiWGVuIGRvZXMgbm90 IGhhdmUgRUZJIGNvZGUgYnVpbGQgaW4hISFcclxuU3lzdGVtIGhhbHRlZCEhIVxyXG4iOworICAg IHN0YXRpYyBjb25zdCBDSEFSMTYgX19pbml0Y29uc3QgZXJyW10gPQorICAgICAgICBMIihYRU4p IFhlbiBkb2VzIG5vdCBoYXZlIEVGSSBjb2RlIGJ1aWxkIGluIVxyXG4oWEVOKSBTeXN0ZW0gaGFs dGVkIVxyXG4iOwogICAgIFNJTVBMRV9URVhUX09VVFBVVF9JTlRFUkZBQ0UgKlN0ZEVycjsKIAog ICAgIFN0ZEVyciA9IFN5c3RlbVRhYmxlLT5TdGRFcnIgPyBTeXN0ZW1UYWJsZS0+U3RkRXJyIDog U3lzdGVtVGFibGUtPkNvbk91dDsKQEAgLTM2LDcgKzM3LDcgQEAgcGFkZHJfdCBfX2luaXQgbm9y ZXR1cm4gZWZpX211bHRpYm9vdDIoRUZJX0hBTkRMRSBJbWFnZUhhbmRsZSwKICAgICAiICAgIGNh bGwgKiUyICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIjA6ICBobHQgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgogICAgICIgICAgam1wICAwYiAgICAgICAgICAgICAgICAgICAgICBc biIKLSAgICAgICA6ICIrYyIgKFN0ZEVyciksICIrZCIgKGVycikgOiAiZyIgKFN0ZEVyci0+T3V0 cHV0U3RyaW5nKQorICAgICAgIDogIitjIiAoU3RkRXJyKSwgIitkIiAoZXJyKSA6ICJybSIgKFN0 ZEVyci0+T3V0cHV0U3RyaW5nKQogICAgICAgIDogInJheCIsICJyOCIsICJyOSIsICJyMTAiLCAi cjExIiwgIm1lbW9yeSIpOwogCiAgICAgdW5yZWFjaGFibGUoKTsKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni94ZW4ubGRzLlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCmluZGV4IDNhMDJiMmIu LmFkZGYyZWYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKKysrIGIveGVuL2Fy Y2gveDg2L3hlbi5sZHMuUwpAQCAtMzM0LDUgKzMzNCw1IEBAIEFTU0VSVChJU19BTElHTkVEKHRy YW1wb2xpbmVfZW5kLCAgIDQpLCAidHJhbXBvbGluZV9lbmQgbWlzYWxpZ25lZCIpCiBBU1NFUlQo SVNfQUxJR05FRChfX2Jzc19zdGFydCwgICAgICA4KSwgIl9fYnNzX3N0YXJ0IG1pc2FsaWduZWQi KQogQVNTRVJUKElTX0FMSUdORUQoX19ic3NfZW5kLCAgICAgICAgOCksICJfX2Jzc19lbmQgbWlz YWxpZ25lZCIpCiAKLUFTU0VSVCgodHJhbXBvbGluZV9lbmQgLSB0cmFtcG9saW5lX3N0YXJ0KSA8 IE1CX1RSQU1QT0xJTkVfU0laRSwKK0FTU0VSVCgodHJhbXBvbGluZV9lbmQgLSB0cmFtcG9saW5l X3N0YXJ0KSA8IFRSQU1QT0xJTkVfU1BBQ0UsCiAgICAgIm5vdCBlbm91Z2ggcm9vbSBmb3IgdHJh bXBvbGluZSIpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaAppbmRleCBhODZlYTEyLi45Y2QwNWEyIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvY29uZmlnLmgKQEAgLTczLDEwICs3Myw4IEBACiAjZGVmaW5lIFNUQUNLX09SREVSIDMKICNk ZWZpbmUgU1RBQ0tfU0laRSAgKFBBR0VfU0laRSA8PCBTVEFDS19PUkRFUikKIAotI2RlZmluZSBN Ql9UUkFNUE9MSU5FX1NUQUNLX1NJWkUgICAgICAgIFBBR0VfU0laRQotI2RlZmluZSBNQl9UUkFN UE9MSU5FX1NJWkUgICAgICAgICAgICAgIChLQig2NCkgLSBNQl9UUkFNUE9MSU5FX1NUQUNLX1NJ WkUpCi0KLSNkZWZpbmUgTUJJX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAoMiAqIFBBR0Vf U0laRSkKKyNkZWZpbmUgVFJBTVBPTElORV9TVEFDS19TUEFDRSAgUEFHRV9TSVpFCisjZGVmaW5l IFRSQU1QT0xJTkVfU1BBQ0UgICAgICAgIChLQig2NCkgLSBUUkFNUE9MSU5FX1NUQUNLX1NQQUNF KQogCiAvKiBQcmltYXJ5IHN0YWNrIGlzIHJlc3RyaWN0ZWQgdG8gOGtCIGJ5IGd1YXJkIHBhZ2Vz LiAqLwogI2RlZmluZSBQUklNQVJZX1NUQUNLX1NJWkUgODE5MgoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=