From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: [PATCH v4 11/19] efi: create efi_enabled() Date: Sat, 6 Aug 2016 01:04:34 +0200 Message-ID: <1470438282-4226-12-git-send-email-daniel.kiper@oracle.com> References: <1470438282-4226-1-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bVoBd-0003JY-2l for xen-devel@lists.xenproject.org; Fri, 05 Aug 2016 23:05:53 +0000 In-Reply-To: <1470438282-4226-1-git-send-email-daniel.kiper@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, sstabellini@kernel.org, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org Rmlyc3Qgb2YgYWxsIHdlIG5lZWQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGxlZ2FjeSBCSU9T CmFuZCBFRkkgcGxhdGZvcm1zIGR1cmluZyBydW50aW1lLCBub3QgZHVyaW5nIGJ1aWxkLCBiZWNh dXNlCm9uZSBpbWFnZSB3aWxsIGhhdmUgbGVnYWN5IGFuZCBFRkkgY29kZSBhbmQgY2FuIGJlIGV4 ZWN1dGVkCm9uIGJvdGggcGxhdGZvcm1zLiBBZGRpdGlvbmFsbHksIHdlIG5lZWQgbW9yZSBmaW5l IGdyYWluZWQKa25vd2xlZGdlIGFib3V0IEVGSSBlbnZpcm9ubWVudCBhbmQgY2hlY2sgZm9yIEVG SSBwbGF0Zm9ybQphbmQgRUZJIGxvYWRlciBzZXBhcmF0ZWx5IHRvIHByb3Blcmx5IHN1cHBvcnQg bXVsdGlib290Mgpwcm90b2NvbC4gSW4gZ2VuZXJhbCBYZW4gbG9hZGVkIGJ5IHRoaXMgcHJvdG9j b2wgdXNlcyBtZW1vcnkKbWFwcGluZ3MgYW5kIGxvYWRlZCBtb2R1bGVzIGluIHNpbWlsYXIgd2F5 IHRvIFhlbiBsb2FkZWQgYnkKbXVsdGlib290ICh2MSkgcHJvdG9jb2wuIEhlbmNlLCBjcmVhdGUg ZWZpX2VuYWJsZWQoKSB3aGljaApjaGVja3MgYXZhaWxhYmxlIGZlYXR1cmVzIGluIGVmaS5mbGFn cy4gVGhpcyBwYXRjaCBvbmx5IGRlZmluZXMKRUZJX0JPT1QgZmVhdHVyZSB3aGljaCBpcyBlcXVh bCB0byBvbGQgZWZpX2VuYWJsZWQgPT0gMS4KU3Vic2VxdWVudCBwYXRjaGVzIHdpbGwgZGVmaW5l IEVGSV9MT0FERVIgYW5kIEVGSV9SUyBmZWF0dXJlcwphY2NvcmRpbmdseS4gTGF0dGVyIG9uZSBp cyBhZGRlZCB0byBlYXNlIGNvbnRyb2wgb24gcnVudGltZQpzZXJ2aWNlcyB1c2FnZS4KClN1Z2dl c3RlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YW5pZWwgS2lwZXIgPGRhbmllbC5raXBlckBvcmFjbGUuY29tPgotLS0KdjQgLSBzdWdnZXN0aW9u cy9maXhlczoKICAgLSByZW5hbWUgRUZJX1BMQVRGT1JNIHRvIEVGSV9CT09UCiAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCksCiAgIC0gbW92ZSBFRklfQk9PVCBkZWZpbml0aW9uIHRvIGVm aSBzdHJ1Y3QgZGVmaW5pdGlvbgogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAt IHJlbW92ZSB1bm5lZWRlZCBlZmkuZmxhZ3MgaW5pdGlhbGl6YXRpb24KICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKSwKICAgLSB1c2UgX19zZXRfYml0KCkgaW5zdGVhZCBvZiBzZXRfYml0 KCkgaWYgcG9zc2libGUKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSBkbyBl ZmlfZW5hYmxlZCgpIGNsZWFudXAKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAg LSBpbXByb3ZlIGNvbW1lbnRzCiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCiAgIC0g aW1wcm92ZSBjb21taXQgbWVzc2FnZS4KCnYzIC0gc3VnZ2VzdGlvbnMvZml4ZXM6CiAgIC0gZGVm aW5lIGVmaSBzdHJ1Y3QgaW4geGVuL2FyY2gveDg2L2VmaS9zdHViLmMKICAgICBpbiBlYXJsaWVy IHBhdGNoCiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCiAgIC0gaW1wcm92ZSBjb21t ZW50cwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIGltcHJvdmUgY29tbWl0 IG1lc3NhZ2UKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKS4KLS0tCiB4ZW4vYXJjaC94 ODYvZG1pX3NjYW4uYyAgICB8ICAgIDQgKystLQogeGVuL2FyY2gveDg2L2RvbWFpbl9wYWdlLmMg fCAgICAyICstCiB4ZW4vYXJjaC94ODYvZWZpL3N0dWIuYyAgICB8ICAgIDQgLS0tLQogeGVuL2Fy Y2gveDg2L21wcGFyc2UuYyAgICAgfCAgICA0ICsrLS0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAg ICAgIHwgICAxMCArKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvc2h1dGRvd24uYyAgICB8ICAgIDIg Ky0KIHhlbi9hcmNoL3g4Ni90aW1lLmMgICAgICAgIHwgICAgMiArLQogeGVuL2NvbW1vbi9lZmkv Ym9vdC5jICAgICAgfCAgICAyICsrCiB4ZW4vY29tbW9uL2VmaS9ydW50aW1lLmMgICB8ICAgIDYg LS0tLS0tCiB4ZW4vZHJpdmVycy9hY3BpL29zbC5jICAgICB8ICAgIDIgKy0KIHhlbi9pbmNsdWRl L3hlbi9lZmkuaCAgICAgIHwgICAxMSArKysrKysrKystLQogMTEgZmlsZXMgY2hhbmdlZCwgMjQg aW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2RtaV9zY2FuLmMgYi94ZW4vYXJjaC94ODYvZG1pX3NjYW4uYwppbmRleCBiMDQ5ZTMxLi44ZGNi NjQwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG1pX3NjYW4uYworKysgYi94ZW4vYXJjaC94 ODYvZG1pX3NjYW4uYwpAQCAtMjM4LDcgKzIzOCw3IEBAIGNvbnN0IGNoYXIgKl9faW5pdCBkbWlf Z2V0X3RhYmxlKHBhZGRyX3QgKmJhc2UsIHUzMiAqbGVuKQogewogCXN0YXRpYyB1bnNpZ25lZCBp bnQgX19pbml0ZGF0YSBpbnN0YW5jZTsKIAotCWlmIChlZmlfZW5hYmxlZCkgeworCWlmIChlZmlf ZW5hYmxlZChFRklfQk9PVCkpIHsKIAkJaWYgKGVmaV9zbWJpb3MzX3NpemUgJiYgIShpbnN0YW5j ZSAmIDEpKSB7CiAJCQkqYmFzZSA9IGVmaV9zbWJpb3MzX2FkZHJlc3M7CiAJCQkqbGVuID0gZWZp X3NtYmlvczNfc2l6ZTsKQEAgLTY5Niw3ICs2OTYsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZG1p X2RlY29kZShzdHJ1Y3QgZG1pX2hlYWRlciAqZG0pCiAKIHZvaWQgX19pbml0IGRtaV9zY2FuX21h Y2hpbmUodm9pZCkKIHsKLQlpZiAoKCFlZmlfZW5hYmxlZCA/IGRtaV9pdGVyYXRlKGRtaV9kZWNv ZGUpIDoKKwlpZiAoKCFlZmlfZW5hYmxlZChFRklfQk9PVCkgPyBkbWlfaXRlcmF0ZShkbWlfZGVj b2RlKSA6CiAJICAgICAgICAgICAgICAgICAgICBkbWlfZWZpX2l0ZXJhdGUoZG1pX2RlY29kZSkp ID09IDApCiAgCQlkbWlfY2hlY2tfc3lzdGVtKGRtaV9ibGFja2xpc3QpOwogCWVsc2UKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW5fcGFnZS5jIGIveGVuL2FyY2gveDg2L2RvbWFpbl9w YWdlLmMKaW5kZXggZDg2ZjhmZS4uNzFhZGUwNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Rv bWFpbl9wYWdlLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdlLmMKQEAgLTM2LDcgKzM2 LDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdmNwdSAqbWFwY2FjaGVfY3VycmVudF92Y3B1KHZv aWQpCiAgICAgICogZG9tYWluJ3MgcGFnZSB0YWJsZXMgYnV0IGN1cnJlbnQgbWF5IHBvaW50IGF0 IGFub3RoZXIgZG9tYWluJ3MgVkNQVS4KICAgICAgKiBSZXR1cm4gTlVMTCBhcyB0aG91Z2ggY3Vy cmVudCBpcyBub3QgcHJvcGVybHkgc2V0IHVwIHlldC4KICAgICAgKi8KLSAgICBpZiAoIGVmaV9l bmFibGVkICYmIGVmaV9yc191c2luZ19wZ3RhYmxlcygpICkKKyAgICBpZiAoIGVmaV9lbmFibGVk KEVGSV9CT09UKSAmJiBlZmlfcnNfdXNpbmdfcGd0YWJsZXMoKSApCiAgICAgICAgIHJldHVybiBO VUxMOwogCiAgICAgLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9lZmkvc3R1Yi5jIGIveGVu L2FyY2gveDg2L2VmaS9zdHViLmMKaW5kZXggMDdjMmJkMC4uM2UxZDFlYSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2VmaS9zdHViLmMKKysrIGIveGVuL2FyY2gveDg2L2VmaS9zdHViLmMKQEAg LTQsMTAgKzQsNiBAQAogI2luY2x1ZGUgPHhlbi9saWIuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5o PgogCi0jaWZuZGVmIGVmaV9lbmFibGVkCi1jb25zdCBib29sX3QgZWZpX2VuYWJsZWQgPSAwOwot I2VuZGlmCi0KIHZvaWQgX19pbml0IGVmaV9pbml0X21lbW9yeSh2b2lkKSB7IH0KIAogdm9pZCBl ZmlfdXBkYXRlX2w0X3BndGFibGUodW5zaWduZWQgaW50IGw0aWR4LCBsNF9wZ2VudHJ5X3QgbDRl KSB7IH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tcHBhcnNlLmMgYi94ZW4vYXJjaC94ODYv bXBwYXJzZS5jCmluZGV4IGVmNjU1N2MuLmMzZDViZGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9tcHBhcnNlLmMKKysrIGIveGVuL2FyY2gveDg2L21wcGFyc2UuYwpAQCAtNTY0LDcgKzU2NCw3 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgY29uc3RydWN0X2RlZmF1bHRfSVNBX21wdGFi bGUoaW50IG1wY19kZWZhdWx0X3R5cGUpCiAKIHN0YXRpYyBfX2luaXQgdm9pZCBlZmlfdW5tYXBf bXBmKHZvaWQpCiB7Ci0JaWYgKGVmaV9lbmFibGVkKQorCWlmIChlZmlfZW5hYmxlZChFRklfQk9P VCkpCiAJCWNsZWFyX2ZpeG1hcChGSVhfRUZJX01QRik7CiB9CiAKQEAgLTcyMiw3ICs3MjIsNyBA QCB2b2lkIF9faW5pdCBmaW5kX3NtcF9jb25maWcgKHZvaWQpCiB7CiAJdW5zaWduZWQgaW50IGFk ZHJlc3M7CiAKLQlpZiAoZWZpX2VuYWJsZWQpIHsKKwlpZiAoZWZpX2VuYWJsZWQoRUZJX0JPT1Qp KSB7CiAJCWVmaV9jaGVja19jb25maWcoKTsKIAkJcmV0dXJuOwogCX0KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggMjE3Yzc3NS4u MWU4ZGZhNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gv eDg2L3NldHVwLmMKQEAgLTQzOCw4ICs0MzgsOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vf dmlkZW9faW5mbyh2b2lkKQogewogICAgIHN0cnVjdCBib290X3ZpZGVvX2luZm8gKmJ2aSA9ICZi b290c3ltKGJvb3RfdmlkX2luZm8pOwogCi0gICAgLyogVGhlIEVGSSBsb2FkZXIgZmlsbHMgdmdh X2NvbnNvbGVfaW5mbyBkaXJlY3RseS4gKi8KLSAgICBpZiAoIGVmaV9lbmFibGVkICkKKyAgICAv KiB2Z2FfY29uc29sZV9pbmZvIGlzIGZpbGxlZCBkaXJlY3RseSBvbiBFRkkgcGxhdGZvcm0uICov CisgICAgaWYgKCBlZmlfZW5hYmxlZChFRklfQk9PVCkgKQogICAgICAgICByZXR1cm47CiAKICAg ICBpZiAoIChidmktPm9yaWdfdmlkZW9faXNWR0EgPT0gMSkgJiYgKGJ2aS0+b3JpZ192aWRlb19t b2RlID09IDMpICkKQEAgLTcyNSw3ICs3MjUsNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0 YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgIGlmICggIShtYmktPmZsYWdzICYgTUJJ X01PRFVMRVMpIHx8IChtYmktPm1vZHNfY291bnQgPT0gMCkgKQogICAgICAgICBwYW5pYygiZG9t MCBrZXJuZWwgbm90IHNwZWNpZmllZC4gQ2hlY2sgYm9vdGxvYWRlciBjb25maWd1cmF0aW9uLiIp OwogCi0gICAgaWYgKCBlZmlfZW5hYmxlZCApCisgICAgaWYgKCBlZmlfZW5hYmxlZChFRklfQk9P VCkgKQogICAgIHsKICAgICAgICAgc2V0X3BkeF9yYW5nZSh4ZW5fcGh5c19zdGFydCA+PiBQQUdF X1NISUZULAogICAgICAgICAgICAgICAgICAgICAgICh4ZW5fcGh5c19zdGFydCArIEJPT1RTVFJB UF9NQVBfQkFTRSkgPj4gUEFHRV9TSElGVCk7CkBAIC04MzYsNyArODM2LDcgQEAgdm9pZCBfX2lu aXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAgICAgKiB3ZSBj YW4gcmVsb2NhdGUgdGhlIGRvbTAga2VybmVsIGFuZCBvdGhlciBtdWx0aWJvb3QgbW9kdWxlcy4g QWxzbywgb24KICAgICAgKiB4ODYvNjQsIHdlIHJlbG9jYXRlIFhlbiB0byBoaWdoZXIgbWVtb3J5 LgogICAgICAqLwotICAgIGZvciAoIGkgPSAwOyAhZWZpX2VuYWJsZWQgJiYgaSA8IG1iaS0+bW9k c19jb3VudDsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsgIWVmaV9lbmFibGVkKEVGSV9CT09UKSAm JiBpIDwgbWJpLT5tb2RzX2NvdW50OyBpKysgKQogICAgIHsKICAgICAgICAgaWYgKCBtb2RbaV0u bW9kX3N0YXJ0ICYgKFBBR0VfU0laRSAtIDEpICkKICAgICAgICAgICAgIHBhbmljKCJCb290bG9h ZGVyIGRpZG4ndCBob25vciBtb2R1bGUgYWxpZ25tZW50IHJlcXVlc3QuIik7CkBAIC0xMDc3LDcg KzEwNzcsNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25n IG1iaV9wKQogCiAgICAgaWYgKCAheGVuX3BoeXNfc3RhcnQgKQogICAgICAgICBwYW5pYygiTm90 IGVub3VnaCBtZW1vcnkgdG8gcmVsb2NhdGUgWGVuLiIpOwotICAgIHJlc2VydmVfZTgyMF9yYW0o JmJvb3RfZTgyMCwgZWZpX2VuYWJsZWQgPyBtYmktPm1lbV91cHBlciA6IF9fcGEoJl9zdGFydCks CisgICAgcmVzZXJ2ZV9lODIwX3JhbSgmYm9vdF9lODIwLCBlZmlfZW5hYmxlZChFRklfQk9PVCkg PyBtYmktPm1lbV91cHBlciA6IF9fcGEoJl9zdGFydCksCiAgICAgICAgICAgICAgICAgICAgICBf X3BhKCZfZW5kKSk7CiAKICAgICAvKiBMYXRlIGtleGVjIHJlc2VydmF0aW9uIChkeW5hbWljIHN0 YXJ0IGFkZHJlc3MpLiAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NodXRkb3duLmMgYi94 ZW4vYXJjaC94ODYvc2h1dGRvd24uYwppbmRleCAzY2RkNGU4Li43Y2UzNzYxIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvc2h1dGRvd24uYworKysgYi94ZW4vYXJjaC94ODYvc2h1dGRvd24uYwpA QCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgbWFjaGluZV9oYWx0KHZvaWQpCiBzdGF0aWMgdm9pZCBk ZWZhdWx0X3JlYm9vdF90eXBlKHZvaWQpCiB7CiAgICAgaWYgKCByZWJvb3RfdHlwZSA9PSBCT09U X0lOVkFMSUQgKQotICAgICAgICByZWJvb3RfdHlwZSA9IGVmaV9lbmFibGVkID8gQk9PVF9FRkkK KyAgICAgICAgcmVib290X3R5cGUgPSBlZmlfZW5hYmxlZChFRklfQk9PVCkgPyBCT09UX0VGSQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYWNwaV9kaXNhYmxlZCA/IEJPT1Rf S0JECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog Qk9PVF9BQ1BJOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RpbWUuYyBiL3hlbi9hcmNo L3g4Ni90aW1lLmMKaW5kZXggOTcwN2U3Ni4uYjJlY2M4ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3RpbWUuYworKysgYi94ZW4vYXJjaC94ODYvdGltZS5jCkBAIC02ODYsNyArNjg2LDcgQEAg c3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2Ntb3NfdGltZSh2b2lkKQogICAgIHN0YXRpYyBib29s X3QgX19yZWFkX21vc3RseSBjbW9zX3J0Y19wcm9iZTsKICAgICBib29sZWFuX3BhcmFtKCJjbW9z LXJ0Yy1wcm9iZSIsIGNtb3NfcnRjX3Byb2JlKTsKIAotICAgIGlmICggZWZpX2VuYWJsZWQgKQor ICAgIGlmICggZWZpX2VuYWJsZWQoRUZJX0JPT1QpICkKICAgICB7CiAgICAgICAgIHJlcyA9IGVm aV9nZXRfdGltZSgpOwogICAgICAgICBpZiAoIHJlcyApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L2VmaS9ib290LmMgYi94ZW4vY29tbW9uL2VmaS9ib290LmMKaW5kZXggMTI1YzljZS4uZWRkMDQz NCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9lZmkvYm9vdC5jCisrKyBiL3hlbi9jb21tb24vZWZp L2Jvb3QuYwpAQCAtOTM0LDYgKzkzNCw4IEBAIGVmaV9zdGFydChFRklfSEFORExFIEltYWdlSGFu ZGxlLCBFRklfU1lTVEVNX1RBQkxFICpTeXN0ZW1UYWJsZSkKICAgICBjaGFyICpvcHRpb25fc3Ry OwogICAgIGJvb2xfdCB1c2VfY2ZnX2ZpbGU7CiAKKyAgICBfX3NldF9iaXQoRUZJX0JPT1QsICZl ZmkuZmxhZ3MpOworCiAgICAgZWZpX2luaXQoSW1hZ2VIYW5kbGUsIFN5c3RlbVRhYmxlKTsKIAog ICAgIHVzZV9jZmdfZmlsZSA9IGVmaV9hcmNoX3VzZV9jb25maWdfZmlsZShTeXN0ZW1UYWJsZSk7 CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2VmaS9ydW50aW1lLmMgYi94ZW4vY29tbW9uL2VmaS9y dW50aW1lLmMKaW5kZXggODJjNDViYy4uOTAwYzAxMSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9l ZmkvcnVudGltZS5jCisrKyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwpAQCAtMTAsMTIgKzEw LDYgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoQ0hBUjE2KTsKIAogI2lmbmRlZiBDT01QQVQK IAotLyoKLSAqIEN1cnJlbnRseSBydW50aW1lIHNlcnZpY2VzIGFyZSBub3QgaW1wbGVtZW50ZWQg b24gQVJNLiBUbyBib290IFhlbiB3aXRoIEFDUEksCi0gKiBzZXQgZWZpX2VuYWJsZWQgdG8gMSwg c28gdGhhdCBYZW4gY2FuIGdldCB0aGUgQUNQSSByb290IHBvaW50ZXIgZnJvbSBFRkkuCi0gKi8K LWNvbnN0IGJvb2xfdCBlZmlfZW5hYmxlZCA9IDE7Ci0KICNpZm5kZWYgQ09ORklHX0FSTQogIyBp bmNsdWRlIDxhc20vaTM4Ny5oPgogIyBpbmNsdWRlIDxhc20veHN0YXRlLmg+CmRpZmYgLS1naXQg YS94ZW4vZHJpdmVycy9hY3BpL29zbC5jIGIveGVuL2RyaXZlcnMvYWNwaS9vc2wuYwppbmRleCA5 YTQ5MDI5Li4zNjE2ZGZkIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9hY3BpL29zbC5jCisrKyBi L3hlbi9kcml2ZXJzL2FjcGkvb3NsLmMKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBfX2luaXQgYWNw aV9vc192cHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogCiBhY3BpX3BoeXNp Y2FsX2FkZHJlc3MgX19pbml0IGFjcGlfb3NfZ2V0X3Jvb3RfcG9pbnRlcih2b2lkKQogewotCWlm IChlZmlfZW5hYmxlZCkgeworCWlmIChlZmlfZW5hYmxlZChFRklfQk9PVCkpIHsKIAkJaWYgKGVm aS5hY3BpMjAgIT0gRUZJX0lOVkFMSURfVEFCTEVfQUREUikKIAkJCXJldHVybiBlZmkuYWNwaTIw OwogCQllbHNlIGlmIChlZmkuYWNwaSAhPSBFRklfSU5WQUxJRF9UQUJMRV9BRERSKQpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL2VmaS5oIGIveGVuL2luY2x1ZGUveGVuL2VmaS5oCmluZGV4 IGU3NGRhZDEuLmJlMThlNGQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9lZmkuaAorKysg Yi94ZW4vaW5jbHVkZS94ZW4vZWZpLmgKQEAgLTIsMTUgKzIsMTYgQEAKICNkZWZpbmUgX19YRU5f RUZJX0hfXwogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXworI2luY2x1ZGUgPHhlbi9iaXRvcHMuaD4K ICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KICNlbmRpZgogCi1leHRlcm4gY29uc3QgYm9vbF90IGVm aV9lbmFibGVkOwotCiAjZGVmaW5lIEVGSV9JTlZBTElEX1RBQkxFX0FERFIgKH4wVUwpCiAKIC8q IEFkZCBmaWVsZHMgaGVyZSBvbmx5IGlmIHRoZXkgbmVlZCB0byBiZSByZWZlcmVuY2VkIGZyb20g bm9uLUVGSSBjb2RlLiAqLwogc3RydWN0IGVmaSB7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnczsg ICAgICAgIC8qIEJpdCBmaWVsZHMgcmVwcmVzZW50aW5nIGF2YWlsYWJsZSBFRkkgZmVhdHVyZXMv cHJvcGVydGllcyAqLworI2RlZmluZSBFRklfQk9PVAkwCS8qIFdlcmUgd2UgYm9vdGVkIGZyb20g RUZJPyAqLwogICAgIHVuc2lnbmVkIGxvbmcgbXBzOyAgICAgICAgICAvKiBNUFMgdGFibGUgKi8K ICAgICB1bnNpZ25lZCBsb25nIGFjcGk7ICAgICAgICAgLyogQUNQSSB0YWJsZSAoSUE2NCBleHQg MC43MSkgKi8KICAgICB1bnNpZ25lZCBsb25nIGFjcGkyMDsgICAgICAgLyogQUNQSSB0YWJsZSAo QUNQSSAyLjApICovCkBAIC00MCw2ICs0MSwxMiBAQCBpbnQgZWZpX3J1bnRpbWVfY2FsbChzdHJ1 Y3QgeGVucGZfZWZpX3J1bnRpbWVfY2FsbCAqKTsKIGludCBlZmlfY29tcGF0X2dldF9pbmZvKHVp bnQzMl90IGlkeCwgdW5pb24gY29tcGF0X3BmX2VmaV9pbmZvICopOwogaW50IGVmaV9jb21wYXRf cnVudGltZV9jYWxsKHN0cnVjdCBjb21wYXRfcGZfZWZpX3J1bnRpbWVfY2FsbCAqKTsKIAorLyog VGVzdCB3aGV0aGVyIHRoZSBhYm92ZSBkZWZpbmVkIEVGSV8qIGJpdHMgYXJlIGVuYWJsZWQuICov CitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBlZmlfZW5hYmxlZChpbnQgZmVhdHVyZSkKK3sK KyAgICByZXR1cm4gISF0ZXN0X2JpdChmZWF0dXJlLCAmZWZpLmZsYWdzKTsKK30KKwogI2VuZGlm IC8qICFfX0FTU0VNQkxZX18gKi8KIAogI2VuZGlmIC8qIF9fWEVOX0VGSV9IX18gKi8KLS0gCjEu Ny4xMC40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==