From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: [PATCH 1/4] libxl: use libxl__device_kind to get device XS entry Date: Thu, 5 Oct 2017 12:30:45 +0300 Message-ID: <1507195848-18346-2-git-send-email-al1img@gmail.com> References: <1507195848-18346-1-git-send-email-al1img@gmail.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 1e02Uf-0005j4-4j for xen-devel@lists.xenproject.org; Thu, 05 Oct 2017 09:31:01 +0000 Received: by mail-lf0-f66.google.com with SMTP id 90so8068986lfs.13 for ; Thu, 05 Oct 2017 02:30:56 -0700 (PDT) In-Reply-To: <1507195848-18346-1-git-send-email-al1img@gmail.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: ian.jackson@eu.citrix.com, wei.liu2@citrix.com, Oleksandr Grytsov List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKT24g YWRkaW5nIHRvIFhTIG5hbWUgb2YgZGV2aWNlIGlzIHRha2VuIGZyb20KbGlieGxfX2RldmljZV9r aW5kIGVudW0uIE9uIGdldHRpbmcgZGV2aWNlIGZyb20gWFMKdGhlIG5hbWUgaXMgaGFyZGNvZGVk LiBJdCBsZWFkcyB0byBwb3RlbnRpYWwKbWlzdG1hdGNoIGVycm9ycy4gVGhlIHBhdGNoIGlzIHVz aW5nIGxpYnhsX19kZXZpY2Vfa2luZApldmVyeXdlcmUgdG8gaGF2ZSBvbmUgc291cmNlIG9mIGRl dmljZSBuYW1lLgoKU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9n cnl0c292QGVwYW0uY29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsXzlwZnMuYyAgICAgIHwgIDIg Ky0KIHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9fbmljLmMgIHwgIDYgKysrKy0tCiB0b29scy9saWJ4 bC9saWJ4bF9jb25zb2xlLmMgICB8IDE4ICsrKysrKysrKystLS0tLS0KIHRvb2xzL2xpYnhsL2xp YnhsX2NyZWF0ZS5jICAgIHwgIDQgKystLQogdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMgICAg fCAgMyArKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2Rpc2suYyAgICAgIHwgMjggKysrKysrKysrKysr KysrKy0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb21haW4uYyAgICB8ICAyICstCiB0b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICB8IDEyICsrKysrLS0tLS0tCiB0b29scy9saWJ4bC9s aWJ4bF9uZXRidWZmZXIuYyB8ICA2ICsrKystLQogdG9vbHMvbGlieGwvbGlieGxfbmljLmMgICAg ICAgfCAxNiArKysrKysrKystLS0tLQogdG9vbHMvbGlieGwvbGlieGxfcGNpLmMgICAgICAgfCAy MSArKysrKysrKysrKystLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3VzYi5jICAgICAgIHwgNTAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwv bGlieGxfdmRpc3BsLmMgICAgfCAgOSArKysrKy0tLQogdG9vbHMvbGlieGwvbGlieGxfdmtiLmMg ICAgICAgfCAgOSArKysrKy0tLQogdG9vbHMvbGlieGwvbGlieGxfdnNuZC5jICAgICAgfCAgOSAr KysrKy0tLQogdG9vbHMvbGlieGwvbGlieGxfdnRwbS5jICAgICAgfCAxMiArKysrKysrLS0tLQog MTYgZmlsZXMgY2hhbmdlZCwgMTM1IGluc2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsXzlwZnMuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsXzlw ZnMuYwppbmRleCA5ZGI4ODdiLi5jM2RkNzg2IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF85cGZzLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfOXBmcy5jCkBAIC01OCw3ICs1OCw3IEBA IHN0YXRpYyBpbnQgbGlieGxfX3NldF94ZW5zdG9yZV9wOShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf dCBkb21pZCwKIAogTElCWExfREVGSU5FX0RFVklDRV9SRU1PVkUocDkpCiAKLURFRklORV9ERVZJ Q0VfVFlQRV9TVFJVQ1QocDksCitERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKHA5LCA5UEZTLAog ICAgIC5za2lwX2F0dGFjaCA9IDEsCiAgICAgLnNldF94ZW5zdG9yZV9jb25maWcgPSAoZGV2aWNl X3NldF94ZW5zdG9yZV9jb25maWdfZm5fdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX19zZXRfeGVuc3RvcmVfcDksCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jb2xv X25pYy5jIGIvdG9vbHMvbGlieGwvbGlieGxfY29sb19uaWMuYwppbmRleCBhMTY0ZTIyLi43MWEx N2ZkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb2xvX25pYy5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2NvbG9fbmljLmMKQEAgLTYwLDggKzYwLDEwIEBAIHN0YXRpYyBjb25zdCBj aGFyICpnZXRfdmlmbmFtZShsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldiwKICAgICAvKiBD b252ZW5pZW5jZSBhbGlhc2VzICovCiAgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkZXYtPmNk cy0+ZG9taWQ7CiAKLSAgICBwYXRoID0gR0NTUFJJTlRGKCIlcy9iYWNrZW5kL3ZpZi8lZC8lZC92 aWZuYW1lIiwKLSAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywg MCksIGRvbWlkLCBuaWMtPmRldmlkKTsKKyAgICBwYXRoID0gR0NTUFJJTlRGKCIlcy9iYWNrZW5k LyVzLyVkLyVkL3ZpZm5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2dldF9k b21wYXRoKGdjLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90 b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZJRiksCisgICAgICAgICAgICAgICAgICAgICBk b21pZCwgbmljLT5kZXZpZCk7CiAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBY QlRfTlVMTCwgcGF0aCwgJnZpZm5hbWUpOwogICAgIGlmICghcmMgJiYgIXZpZm5hbWUpIHsKICAg ICAgICAgdmlmbmFtZSA9IGxpYnhsX19kZXZpY2VfbmljX2Rldm5hbWUoZ2MsIGRvbWlkLApkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY29uc29sZS5jIGIvdG9vbHMvbGlieGwvbGlieGxf Y29uc29sZS5jCmluZGV4IDA5ZmFjYWYuLmI3YzBkMzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2NvbnNvbGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMKQEAgLTM3 LDcgKzM3LDkgQEAgc3RhdGljIGludCBsaWJ4bF9fY29uc29sZV90dHlfcGF0aChsaWJ4bF9fZ2Mg KmdjLCB1aW50MzJfdCBkb21pZCwgaW50IGNvbnNfbnVtLAogICAgICAgICBpZiAoY29uc19udW0g PT0gMCkKICAgICAgICAgICAgICp0dHlfcGF0aCA9IEdDU1BSSU5URigiJXMvY29uc29sZS90dHki LCBkb21fcGF0aCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICp0dHlfcGF0aCA9IEdDU1BS SU5URigiJXMvZGV2aWNlL2NvbnNvbGUvJWQvdHR5IiwgZG9tX3BhdGgsCisgICAgICAgICAgICAq dHR5X3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZC90dHkiLCBkb21fcGF0aCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3Ry aW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX19ERVZJQ0VfS0lO RF9DT05TT0xFKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zX251bSk7 CiAgICAgICAgIHJjID0gMDsKICAgICAgICAgYnJlYWs7CkBAIC00NTAsOCArNDUyLDEwIEBAIHN0 YXRpYyBpbnQgbGlieGxfX2FwcGVuZF9jaGFubmVsX2xpc3QobGlieGxfX2djICpnYywKICAgICBs aWJ4bF9kZXZpY2VfY2hhbm5lbCAqbmV4dCA9IE5VTEw7CiAgICAgaW50IHJjID0gMCwgaTsKIAot ICAgIGxpYnhsX2Rpcl9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvY29uc29sZSIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlk KSk7CisgICAgbGlieGxfZGlyX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcyIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlk KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9f c3RyaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX19ERVZJQ0VfS0lO RF9DT05TT0xFKSk7CiAgICAgZGlyID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgWEJUX05VTEws IGxpYnhsX2Rpcl9wYXRoLCAmbik7CiAgICAgaWYgKCFkaXIgfHwgIW4pCiAgICAgICBnb3RvIG91 dDsKQEAgLTUyMywxMCArNTI3LDEyIEBAIGludCBsaWJ4bF9kZXZpY2VfY2hhbm5lbF9nZXRpbmZv KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICBkb21wYXRoID0gbGlieGxfX3hz X2dldF9kb21wYXRoKGdjLCBkb21pZCk7CiAgICAgY2hhbm5lbGluZm8tPmRldmlkID0gY2hhbm5l bC0+ZGV2aWQ7CiAKLSAgICBmZV9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvY29uc29sZS8l ZCIsIGRvbXBhdGgsCisgICAgZmVfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzLyVkIiwg ZG9tcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19z dHJpbmcoTElCWExfX0RFVklDRV9LSU5EX0NPTlNPTEUpLAogICAgICAgICAgICAgICAgICAgICAg ICAgY2hhbm5lbGluZm8tPmRldmlkICsgMSk7Ci0gICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigi JXMvZGV2aWNlL2NvbnNvbGUvJWQiLAorICAgIGxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2Rl dmljZS8lcy8lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxf cGF0aChnYywgZG9taWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rldmlj ZV9raW5kX3RvX3N0cmluZyhMSUJYTF9fREVWSUNFX0tJTkRfQ09OU09MRSksCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaGFubmVsaW5mby0+ZGV2aWQgKyAxKTsKICAgICBjaGFubmVsaW5m by0+YmFja2VuZCA9IHhzX3JlYWQoY3R4LT54c2gsIFhCVF9OVUxMLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwg TlVMTCk7CkBAIC02ODIsNyArNjg4LDcgQEAgc3RhdGljIGludCBsaWJ4bF9fc2V0X3hlbnN0b3Jl X3ZmYihsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKIC8qIHZmYiAqLwogTElCWExfREVG SU5FX0RFVklDRV9SRU1PVkUodmZiKQogCi1ERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKHZmYiwK K0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QodmZiLCBWRkIsCiAgICAgLnNraXBfYXR0YWNoID0g MSwKICAgICAuc2V0X3hlbnN0b3JlX2NvbmZpZyA9IChkZXZpY2Vfc2V0X3hlbnN0b3JlX2NvbmZp Z19mbl90KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NldF94ZW5zdG9yZV92 ZmIsCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhs L2xpYnhsX2NyZWF0ZS5jCmluZGV4IDcyNjhmN2YuLjMxZGYwYzYgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBA IC0xNDQyLDcgKzE0NDIsNyBAQCBvdXQ6CiAjZGVmaW5lIGxpYnhsX19kZXZpY2VfZnJvbV9kdGRl diBOVUxMCiAjZGVmaW5lIGxpYnhsX19kZXZpY2VfZHRkZXZfc2V0ZGVmYXVsdCBOVUxMCiAjZGVm aW5lIGxpYnhsX19kZXZpY2VfZHRkZXZfdXBkYXRlX2RldmlkIE5VTEwKLXN0YXRpYyBERUZJTkVf REVWSUNFX1RZUEVfU1RSVUNUKGR0ZGV2KTsKK3N0YXRpYyBERUZJTkVfREVWSUNFX1RZUEVfU1RS VUNUKGR0ZGV2LCBOT05FKTsKIAogY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkZXZp Y2VfdHlwZV90YmxbXSA9IHsKICAgICAmbGlieGxfX2Rpc2tfZGV2dHlwZSwKQEAgLTE0NjksNyAr MTQ2OSw3IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfZGV2aWNlcyhsaWJ4bF9fZWdj ICplZ2MsCiAKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAidW5h YmxlIHRvIGFkZCAlcyBkZXZpY2VzIiwKLSAgICAgICAgICAgICBkZXZpY2VfdHlwZV90YmxbZGNz LT5kZXZpY2VfdHlwZV9pZHhdLT50eXBlKTsKKyAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tp bmRfdG9fc3RyaW5nKGRldmljZV90eXBlX3RibFtkY3MtPmRldmljZV90eXBlX2lkeF0tPnR5cGUp KTsKICAgICAgICAgZ290byBlcnJvcl9vdXQ7CiAgICAgfQogCmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCmluZGV4IDQ2 Y2E1YTQuLjdhYWY0OTMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCisr KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCkBAIC0yMDAyLDcgKzIwMDIsOCBAQCB2b2lk ICpsaWJ4bF9fZGV2aWNlX2xpc3QobGlieGxfX2djICpnYywgY29uc3Qgc3RydWN0IGxpYnhsX2Rl dmljZV90eXBlICpkdCwKICAgICAqbnVtID0gMDsKIAogICAgIGxpYnhsX3BhdGggPSBHQ1NQUklO VEYoIiVzL2RldmljZS8lcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNf bGlieGxfcGF0aChnYywgZG9taWQpLCBkdC0+ZW50cnkpOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoZHQtPnR5cGUpKTsKIAogICAg IGRpciA9IGxpYnhsX194c19kaXJlY3RvcnkoZ2MsIFhCVF9OVUxMLCBsaWJ4bF9wYXRoLCAmbmRp cnMpOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kaXNrLmMgYi90b29scy9saWJ4 bC9saWJ4bF9kaXNrLmMKaW5kZXggMjYzY2I1Ni4uMTNkMzY0NiAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGwvbGlieGxfZGlzay5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rpc2suYwpAQCAtOTcs MTIgKzk3LDE0IEBAIGludCBsaWJ4bF9ldmVuYWJsZV9kaXNrX2VqZWN0KGxpYnhsX2N0eCAqY3R4 LCB1aW50MzJfdCBndWVzdF9kb21pZCwKIAogICAgIGludCBkZXZpZCA9IGxpYnhsX19kZXZpY2Vf ZGlza19kZXZfbnVtYmVyKHZkZXYsIE5VTEwsIE5VTEwpOwogCi0gICAgcGF0aCA9IEdDU1BSSU5U RigiJXMvZGV2aWNlL3ZiZC8lZC9lamVjdCIsCisgICAgcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2 aWNlLyVzLyVkL2VqZWN0IiwKKyAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3Rv X3N0cmluZyhMSUJYTF9fREVWSUNFX0tJTkRfVkJEKSwKICAgICAgICAgICAgICAgICAgbGlieGxf X3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCksCiAgICAgICAgICAgICAgICAgIGRldmlkKTsKICAg ICBpZiAoIXBhdGgpIHsgcmMgPSBFUlJPUl9OT01FTTsgZ290byBvdXQ7IH0KIAotICAgIGNvbnN0 IGNoYXIgKmxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92YmQvJWQiLAorICAgIGNv bnN0IGNoYXIgKmxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZCIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5n KExJQlhMX19ERVZJQ0VfS0lORF9WQkQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRldmlkKTsKICAgICBldmctPmJlX3B0cl9wYXRoID0gbGlieGxfX3Nwcmlu dGYoTk9HQywgIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKTsKQEAgLTYxNCw3ICs2MTYsOSBAQCBp bnQgbGlieGxfdmRldl90b19kZXZpY2VfZGlzayhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9t aWQsCiAgICAgaWYgKCFkb21feGxfcGF0aCkgewogICAgICAgICBnb3RvIG91dDsKICAgICB9Ci0g ICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZC8lZCIsIGRvbV94bF9wYXRo LCBkZXZpZCk7CisgICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzLyVkIiwg ZG9tX3hsX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tp bmRfdG9fc3RyaW5nKExJQlhMX19ERVZJQ0VfS0lORF9WQkQpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGV2aWQpOwogCiAgICAgcmMgPSBsaWJ4bF9fZGlza19mcm9tX3hlbnN0b3JlKGdj LCBsaWJ4bF9wYXRoLCBkZXZpZCwgZGlzayk7CiBvdXQ6CkBAIC02MzYsOSArNjQwLDEzIEBAIGlu dCBsaWJ4bF9kZXZpY2VfZGlza19nZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21p ZCwKICAgICBkaXNraW5mby0+ZGV2aWQgPSBsaWJ4bF9fZGV2aWNlX2Rpc2tfZGV2X251bWJlcihk aXNrLT52ZGV2LCBOVUxMLCBOVUxMKTsKIAogICAgIC8qIHRhcCBkZXZpY2VzIGVudHJpZXMgaW4g eGVuc3RvcmUgYXJlIHdyaXR0ZW4gYXMgdmJkIGRldmljZXMuICovCi0gICAgZmVfcGF0aCA9IEdD U1BSSU5URigiJXMvZGV2aWNlL3ZiZC8lZCIsIGRvbXBhdGgsIGRpc2tpbmZvLT5kZXZpZCk7Ci0g ICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZiZC8lZCIsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLCBkaXNraW5m by0+ZGV2aWQpOworICAgIGZlX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZCIsIGRv bXBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3Ry aW5nKExJQlhMX19ERVZJQ0VfS0lORF9WQkQpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGlz a2luZm8tPmRldmlkKTsKKyAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvJXMv JWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2Ms IGRvbWlkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90 b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZCRCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICBkaXNraW5mby0+ZGV2aWQpOwogICAgIGRpc2tpbmZvLT5iYWNrZW5kID0geHNfcmVhZChj dHgtPnhzaCwgWEJUX05VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BS SU5URigiJXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpLCBOVUxMKTsKICAgICBpZiAoIWRpc2tpbmZv LT5iYWNrZW5kKSB7CkBAIC04OTMsOCArOTAxLDEwIEBAIHN0YXRpYyBjaGFyICogbGlieGxfX2Fs bG9jX3ZkZXYobGlieGxfX2djICpnYywgdm9pZCAqZ2V0X3ZkZXZfdXNlciwKICAgICAgICAgaWYg KGRldmlkIDwgMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAobGlieGxf X3hzX3JlYWQoZ2MsIHQsCi0gICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvZGV2aWNl L3ZiZC8lZC9iYWNrZW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbV9wYXRo LCBkZXZpZCkpID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy9k ZXZpY2UvJXMvJWQvYmFja2VuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21f cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJp bmcoTElCWExfX0RFVklDRV9LSU5EX1ZCRCksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXZp ZCkpID09IE5VTEwpIHsKICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9FTlQpCiAgICAgICAg ICAgICAgICAgcmV0dXJuIGxpYnhsX19kZXZpZF90b192ZGV2KGdjLCBkZXZpZCk7CiAgICAgICAg ICAgICBlbHNlCkBAIC0xMTg3LDcgKzExOTcsNyBAQCBMSUJYTF9ERUZJTkVfREVWSUNFX0xJU1Qo ZGlzaykKIAogI2RlZmluZSBsaWJ4bF9fZGV2aWNlX2Rpc2tfdXBkYXRlX2RldmlkIE5VTEwKIAot REVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVF9YKGRpc2ssIGRpc2ssIHZiZCwKK0RFRklORV9ERVZJ Q0VfVFlQRV9TVFJVQ1QoZGlzaywgVkJELAogICAgIC5tZXJnZSAgICAgICA9IGxpYnhsX2Rldmlj ZV9kaXNrX21lcmdlLAogICAgIC5kbV9uZWVkZWQgICA9IGxpYnhsX2RldmljZV9kaXNrX2RtX25l ZWRlZCwKICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90KWxp YnhsX19kaXNrX2Zyb21feGVuc3RvcmUsCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9k b21haW4uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCmluZGV4IDA0MzRhYjkuLmVmMWEw OTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2RvbWFpbi5jCkBAIC0xNjg2LDcgKzE2ODYsNyBAQCBpbnQgbGlieGxfcmV0cmll dmVfZG9tYWluX2NvbmZpZ3VyYXRpb24obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAog ICAgICAgICAgICAgcCA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgZHQsIGRvbWlkLCAmbnVtKTsK ICAgICAgICAgICAgIGlmIChwID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBMT0dEKERFQlVH LCBkb21pZCwgIk5vICVzIGZyb20geGVuc3RvcmUiLAotICAgICAgICAgICAgICAgICAgICAgZHQt PnR5cGUpOworICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmlu ZyhkdC0+dHlwZSkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZGV2cyA9IGxpYnhsX19k ZXZpY2VfdHlwZV9nZXRfcHRyKGR0LCBkX2NvbmZpZyk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4 IDZiNDAzZGMuLjEwYWQ1MmYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFs LmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzUwMCw4ICszNTAwLDcg QEAgdHlwZWRlZiBpbnQgKCpkZXZpY2Vfc2V0X3hlbnN0b3JlX2NvbmZpZ19mbl90KShsaWJ4bF9f Z2MgKiwgdWludDMyX3QsIHZvaWQgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZmxleGFycmF5X3QgKik7CiAKIHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlw ZSB7Ci0gICAgY2hhciAqdHlwZTsKLSAgICBjaGFyICplbnRyeTsKKyAgICBsaWJ4bF9fZGV2aWNl X2tpbmQgdHlwZTsKICAgICBpbnQgc2tpcF9hdHRhY2g7ICAgLyogU2tpcCBlbnRyeSBpbiBkb21j cmVhdGVfYXR0YWNoX2RldmljZXMoKSBpZiAxICovCiAgICAgaW50IHB0cl9vZmZzZXQ7ICAgIC8q IE9mZnNldCBvZiBkZXZpY2UgYXJyYXkgcHRyIGluIGxpYnhsX2RvbWFpbl9jb25maWcgKi8KICAg ICBpbnQgbnVtX29mZnNldDsgICAgLyogT2Zmc2V0IG9mICMgb2YgZGV2aWNlcyBpbiBsaWJ4bF9k b21haW5fY29uZmlnICovCkBAIC0zNTIxLDEwICszNTIwLDkgQEAgc3RydWN0IGxpYnhsX2Rldmlj ZV90eXBlIHsKICAgICBkZXZpY2Vfc2V0X3hlbnN0b3JlX2NvbmZpZ19mbl90IHNldF94ZW5zdG9y ZV9jb25maWc7CiB9OwogCi0jZGVmaW5lIERFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChuYW1l LCBzbmFtZSwgc2VudHJ5LCAuLi4pICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBERUZJTkVf REVWSUNFX1RZUEVfU1RSVUNUX1gobmFtZSwgc25hbWUsIGtpbmQsIC4uLikgICAgICAgICAgICAg ICAgICAgIFwKICAgICBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgbGlieGxfXyAjIyBu YW1lICMjIF9kZXZ0eXBlID0geyAgICAgICAgICAgICBcCi0gICAgICAgIC50eXBlICAgICAgICAg ID0gI3NuYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAotICAgICAgICAuZW50cnkgICAgICAgICA9ICNzZW50cnksICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLnR5cGUgICAgICAgICAgPSBMSUJY TF9fREVWSUNFX0tJTkRfICMjIGtpbmQsICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg IC5wdHJfb2Zmc2V0ICAgID0gb2Zmc2V0b2YobGlieGxfZG9tYWluX2NvbmZpZywgbmFtZSAjIyBz KSwgICAgICAgICAgICAgXAogICAgICAgICAubnVtX29mZnNldCAgICA9IG9mZnNldG9mKGxpYnhs X2RvbWFpbl9jb25maWcsIG51bV8gIyMgbmFtZSAjIyBzKSwgICAgIFwKICAgICAgICAgLmRldl9l bGVtX3NpemUgPSBzaXplb2YobGlieGxfZGV2aWNlXyAjIyBzbmFtZSksICAgICAgICAgICAgICAg ICAgICAgICBcCkBAIC0zNTQzLDggKzM1NDEsOCBAQCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUg ewogICAgICAgICBfX1ZBX0FSR1NfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9CiAKLSNkZWZpbmUgREVGSU5FX0RFVklD RV9UWVBFX1NUUlVDVChuYW1lLCAuLi4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCi0gICAgREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVF9YKG5hbWUsIG5hbWUsIG5hbWUsIF9f VkFfQVJHU19fKQorI2RlZmluZSBERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKG5hbWUsIGtpbmQs IC4uLikgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBERUZJTkVfREVWSUNFX1RZ UEVfU1RSVUNUX1gobmFtZSwgbmFtZSwga2luZCwgX19WQV9BUkdTX18pCiAKIHN0YXRpYyBpbmxp bmUgdm9pZCAqKmxpYnhsX19kZXZpY2VfdHlwZV9nZXRfcHRyKAogICAgIGNvbnN0IHN0cnVjdCBs aWJ4bF9kZXZpY2VfdHlwZSAqZHQsIGNvbnN0IGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmln KQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgYi90b29scy9saWJ4 bC9saWJ4bF9uZXRidWZmZXIuYwppbmRleCAzMjNjZGQ4Li42NjkwY2U1IDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9uZXRi dWZmZXIuYwpAQCAtMTI2LDggKzEyNiwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3ZpZm5h bWUobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYsCiAgICAgLyogQ29udmVuaWVuY2UgYWxp YXNlcyAqLwogICAgIGNvbnN0IHVpbnQzMl90IGRvbWlkID0gZGV2LT5jZHMtPmRvbWlkOwogCi0g ICAgcGF0aCA9IEdDU1BSSU5URigiJXMvYmFja2VuZC92aWYvJWQvJWQvdmlmbmFtZSIsCi0gICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfZ2V0X2RvbXBhdGgoZ2MsIDApLCBkb21pZCwgbmlj LT5kZXZpZCk7CisgICAgcGF0aCA9IEdDU1BSSU5URigiJXMvYmFja2VuZC8lcy8lZC8lZC92aWZu YW1lIiwKKyAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgMCks CisgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhM X19ERVZJQ0VfS0lORF9WSUYpLAorICAgICAgICAgICAgICAgICAgICAgZG9taWQsIG5pYy0+ZGV2 aWQpOwogICAgIHJjID0gbGlieGxfX3hzX3JlYWRfY2hlY2tlZChnYywgWEJUX05VTEwsIHBhdGgs ICZ2aWZuYW1lKTsKICAgICBpZiAoIXJjICYmICF2aWZuYW1lKSB7CiAgICAgICAgIHZpZm5hbWUg PSBsaWJ4bF9fZGV2aWNlX25pY19kZXZuYW1lKGdjLCBkb21pZCwKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX25pYy5jIGIvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKaW5kZXggOWRhZWNm Ny4uNDRkMGZhNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGxfbmljLmMKQEAgLTQwOSw3ICs0MDksOSBAQCBpbnQgbGlieGxfZGV2aWRf dG9fZGV2aWNlX25pYyhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgaWYgKCFs aWJ4bF9kb21fcGF0aCkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICBsaWJ4bF9wYXRoID0gR0NT UFJJTlRGKCIlcy9kZXZpY2UvdmlmLyVkIiwgbGlieGxfZG9tX3BhdGgsIGRldmlkKTsKKyAgICBs aWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvJXMvJWQiLCBsaWJ4bF9kb21fcGF0aCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmco TElCWExfX0RFVklDRV9LSU5EX1ZJRiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZp ZCk7CiAKICAgICByYyA9IGxpYnhsX19uaWNfZnJvbV94ZW5zdG9yZShnYywgbGlieGxfcGF0aCwg ZGV2aWQsIG5pYyk7CiAgICAgaWYgKHJjKSBnb3RvIG91dDsKQEAgLTQ0OSw5ICs0NTEsMTMgQEAg aW50IGxpYnhsX2RldmljZV9uaWNfZ2V0aW5mbyhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9t aWQsCiAgICAgZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG9taWQpOwogICAg IG5pY2luZm8tPmRldmlkID0gbmljLT5kZXZpZDsKIAotICAgIG5pY3BhdGggPSBHQ1NQUklOVEYo IiVzL2RldmljZS92aWYvJWQiLCBkb21wYXRoLCBuaWNpbmZvLT5kZXZpZCk7Ci0gICAgbGlieGxf cGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZpZi8lZCIsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLCBuaWNpbmZvLT5kZXZpZCk7 CisgICAgbmljcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzLyVkIiwgZG9tcGF0aCwKKyAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExf X0RFVklDRV9LSU5EX1ZJRiksCisgICAgICAgICAgICAgICAgICAgICAgICBuaWNpbmZvLT5kZXZp ZCk7CisgICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzLyVkIiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJ QlhMX19ERVZJQ0VfS0lORF9WSUYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmljaW5m by0+ZGV2aWQpOwogICAgIG5pY2luZm8tPmJhY2tlbmQgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRf TlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy9iYWNr ZW5kIiwgbGlieGxfcGF0aCksIE5VTEwpOwogICAgIGlmICghbmljaW5mby0+YmFja2VuZCkgewpA QCAtNTQwLDcgKzU0Niw3IEBAIExJQlhMX0RFRklORV9ERVZJQ0VfQUREKG5pYykKIExJQlhMX0RF RklORV9ERVZJQ0VTX0FERChuaWMpCiBMSUJYTF9ERUZJTkVfREVWSUNFX1JFTU9WRShuaWMpCiAK LURFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChuaWMsIG5pYywgdmlmLAorREVGSU5FX0RFVklD RV9UWVBFX1NUUlVDVChuaWMsIFZJRiwKICAgICAudXBkYXRlX2NvbmZpZyA9IGxpYnhsX2Rldmlj ZV9uaWNfdXBkYXRlX2NvbmZpZywKICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94 ZW5zdG9yZV9mbl90KWxpYnhsX19uaWNfZnJvbV94ZW5zdG9yZSwKICAgICAuc2V0X3hlbnN0b3Jl X2NvbmZpZyA9IChkZXZpY2Vfc2V0X3hlbnN0b3JlX2NvbmZpZ19mbl90KQpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfcGNpLmMgYi90b29scy9saWJ4bC9saWJ4bF9wY2kuYwppbmRleCA4 OGE1NWNlLi5mODNhYzMyIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9wY2kuYworKysg Yi90b29scy9saWJ4bC9saWJ4bF9wY2kuYwpAQCAtMTI1LDcgKzEyNSw5IEBAIHN0YXRpYyBpbnQg bGlieGxfX2RldmljZV9wY2lfYWRkX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRv bWlkLCBsaWJ4bF9kCiAgICAgbGlieGxfZGV2aWNlX3BjaV9pbml0KCZwY2lkZXZfc2F2ZWQpOwog ICAgIGxpYnhsX2RldmljZV9wY2lfY29weShDVFgsICZwY2lkZXZfc2F2ZWQsIHBjaWRldik7CiAK LSAgICBiZV9wYXRoID0gR0NTUFJJTlRGKCIlcy9iYWNrZW5kL3BjaS8lZC8wIiwgbGlieGxfX3hz X2dldF9kb21wYXRoKGdjLCAwKSwgZG9taWQpOworICAgIGJlX3BhdGggPSBHQ1NQUklOVEYoIiVz L2JhY2tlbmQvJXMvJWQvMCIsIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgMCksCisgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhMX19ERVZJ Q0VfS0lORF9QQ0kpLAorICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQpOwogICAgIG51bV9k ZXZzID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBHQ1NQUklOVEYoIiVzL251bV9kZXZz IiwgYmVfcGF0aCkpOwogICAgIGlmICghbnVtX2RldnMpCiAgICAgICAgIHJldHVybiBsaWJ4bF9f Y3JlYXRlX3BjaV9iYWNrZW5kKGdjLCBkb21pZCwgcGNpZGV2LCAxKTsKQEAgLTE5NSw3ICsxOTcs OSBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfcGNpX3JlbW92ZV94ZW5zdG9yZShsaWJ4bF9f Z2MgKmdjLCB1aW50MzJfdCBkb21pZCwgbGlieAogICAgIGludCBudW0sIGksIGo7CiAgICAgeHNf dHJhbnNhY3Rpb25fdCB0OwogCi0gICAgYmVfcGF0aCA9IEdDU1BSSU5URigiJXMvYmFja2VuZC9w Y2kvJWQvMCIsIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgMCksIGRvbWlkKTsKKyAgICBiZV9w YXRoID0gR0NTUFJJTlRGKCIlcy9iYWNrZW5kLyVzLyVkLzAiLCBsaWJ4bF9feHNfZ2V0X2RvbXBh dGgoZ2MsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3Rv X3N0cmluZyhMSUJYTF9fREVWSUNFX0tJTkRfUENJKSwKKyAgICAgICAgICAgICAgICAgICAgICAg IGRvbWlkKTsKICAgICBudW1fZGV2c19wYXRoID0gR0NTUFJJTlRGKCIlcy9udW1fZGV2cyIsIGJl X3BhdGgpOwogICAgIG51bV9kZXZzID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBudW1f ZGV2c19wYXRoKTsKICAgICBpZiAoIW51bV9kZXZzKQpAQCAtMzE1LDE0ICszMTksMTcgQEAgc3Rh dGljIGludCBnZXRfYWxsX2Fzc2lnbmVkX2RldmljZXMobGlieGxfX2djICpnYywgbGlieGxfZGV2 aWNlX3BjaSAqKmxpc3QsIGludAogICAgIGZvcihpID0gMDsgaSA8IG5kOyBpKyspIHsKICAgICAg ICAgY2hhciAqcGF0aCwgKm51bV9kZXZzOwogCi0gICAgICAgIHBhdGggPSBHQ1NQUklOVEYoIi9s b2NhbC9kb21haW4vMC9iYWNrZW5kL3BjaS8lcy8wL251bV9kZXZzIiwgZG9tbGlzdFtpXSk7Cisg ICAgICAgIHBhdGggPSBHQ1NQUklOVEYoIi9sb2NhbC9kb21haW4vMC9iYWNrZW5kLyVzLyVzLzAv bnVtX2RldnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90 b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1BDSSksCisgICAgICAgICAgICAgICAgICAgICAg ICAgZG9tbGlzdFtpXSk7CiAgICAgICAgIG51bV9kZXZzID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhC VF9OVUxMLCBwYXRoKTsKICAgICAgICAgaWYgKCBudW1fZGV2cyApIHsKICAgICAgICAgICAgIGlu dCBuZGV2ID0gYXRvaShudW1fZGV2cyksIGo7CiAgICAgICAgICAgICBjaGFyICpkZXZwYXRoLCAq YmRmOwogCiAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBuZGV2OyBqKyspIHsKLSAgICAgICAg ICAgICAgICBkZXZwYXRoID0gR0NTUFJJTlRGKCIvbG9jYWwvZG9tYWluLzAvYmFja2VuZC9wY2kv JXMvMC9kZXYtJXUiLAorICAgICAgICAgICAgICAgIGRldnBhdGggPSBHQ1NQUklOVEYoIi9sb2Nh bC9kb21haW4vMC9iYWNrZW5kLyVzLyVzLzAvZGV2LSV1IiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklD RV9LSU5EX1BDSSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21saXN0 W2ldLCBqKTsKICAgICAgICAgICAgICAgICBiZGYgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05V TEwsIGRldnBhdGgpOwogICAgICAgICAgICAgICAgIGlmICggYmRmICkgewpAQCAtMTU4OSw3ICsx NTk2LDkgQEAgbGlieGxfZGV2aWNlX3BjaSAqbGlieGxfZGV2aWNlX3BjaV9saXN0KGxpYnhsX2N0 eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50ICpudW0KIAogICAgICpudW0gPSAwOwogCi0gICAg YmVfcGF0aCA9IEdDU1BSSU5URigiJXMvYmFja2VuZC9wY2kvJWQvMCIsIGxpYnhsX194c19nZXRf ZG9tcGF0aChnYywgMCksIGRvbWlkKTsKKyAgICBiZV9wYXRoID0gR0NTUFJJTlRGKCIlcy9iYWNr ZW5kLyVzLyVkLzAiLCBsaWJ4bF9feHNfZ2V0X2RvbXBhdGgoZ2MsIDApLAorICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhMSUJYTF9fREVWSUNFX0tJ TkRfUENJKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkKTsKICAgICBudW1fZGV2cyA9 IGxpYnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgR0NTUFJJTlRGKCIlcy9udW1fZGV2cyIsIGJl X3BhdGgpKTsKICAgICBpZiAoIW51bV9kZXZzKQogICAgICAgICBnb3RvIG91dDsKQEAgLTE2ODIs NyArMTY5MSw3IEBAIHN0YXRpYyBpbnQgbGlieGxfZGV2aWNlX3BjaV9jb21wYXJlKGxpYnhsX2Rl dmljZV9wY2kgKmQxLAogCiAjZGVmaW5lIGxpYnhsX19kZXZpY2VfcGNpX3VwZGF0ZV9kZXZpZCBO VUxMCiAKLURFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChwY2lkZXYsIHBjaSwgcGNpKTsKK0RF RklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChwY2lkZXYsIHBjaSwgUENJKTsKIAogLyoKICAqIExv Y2FsIHZhcmlhYmxlczoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3VzYi5jIGIvdG9v bHMvbGlieGwvbGlieGxfdXNiLmMKaW5kZXggMWQ1YTI0My4uNmNlNjk1NyAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfdXNiLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdXNiLmMKQEAg LTMxMCw4ICszMTAsMTAgQEAgc3RhdGljIHZvaWQgbGlieGxfX2RldmljZV91c2JjdHJsX2RlbF94 ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICB4c190cmFuc2FjdGlv bl90IHQgPSBYQlRfTlVMTDsKICAgICBpbnQgcmM7CiAKLSAgICBsaWJ4bF9wYXRoID0gR0NTUFJJ TlRGKCIlcy9kZXZpY2UvdnVzYi8lZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLCB1c2JjdHJsLT5kZXZpZCk7CisgICAgbGlieGxf cGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzLyVkIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhMX19ERVZJQ0VfS0lO RF9WVVNCKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYmN0cmwtPmRldmlkKTsKICAg ICBiZV9wYXRoID0gdnVzYl9iZV9mcm9tX3hzX2xpYnhsX3R5cGUoZ2MsIGxpYnhsX3BhdGgsIHVz YmN0cmwtPnR5cGUpOwogCiAgICAgZm9yICg7OykgewpAQCAtNTc0LDggKzU3Niw5IEBAIGxpYnhs X2RldmljZV91c2JjdHJsX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQg Km51bSkKIAogICAgICpudW0gPSAwOwogCi0gICAgbGlieGxfdnVzYnNfcGF0aCA9IEdDU1BSSU5U RigiJXMvZGV2aWNlL3Z1c2IiLAotICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhs X3BhdGgoZ2MsIGRvbWlkKSk7CisgICAgbGlieGxfdnVzYnNfcGF0aCA9IEdDU1BSSU5URigiJXMv ZGV2aWNlLyVzIiwKKyAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdj LCBkb21pZCksCisgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3Ry aW5nKExJQlhMX19ERVZJQ0VfS0lORF9WVVNCKSk7CiAgICAgZW50cnkgPSBsaWJ4bF9feHNfZGly ZWN0b3J5KGdjLCBYQlRfTlVMTCwgbGlieGxfdnVzYnNfcGF0aCwgJm5lbnRyaWVzKTsKIAogICAg IGlmIChlbnRyeSAmJiBuZW50cmllcykgewpAQCAtNjY3LDEzICs2NzAsMTcgQEAgaW50IGxpYnhs X2RldmljZV91c2JjdHJsX2dldGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAog ICAgIH0pCiAKICAgICBsaWJ4bF9kb21fcGF0aCA9IGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBk b21pZCk7Ci0gICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3Z1c2IvJWQiLCBs aWJ4bF9kb21fcGF0aCwgdXNiY3RybC0+ZGV2aWQpOworICAgIGxpYnhsX3BhdGggPSBHQ1NQUklO VEYoIiVzL2RldmljZS8lcy8lZCIsIGxpYnhsX2RvbV9wYXRoLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhMSUJYTF9fREVWSUNFX0tJTkRf VlVTQiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2JjdHJsLT5kZXZpZCk7CiAgICAg bGlieGxfdXNiY3RybF90eXBlX2Zyb21fc3RyaW5nKFJFQURfU1VCUEFUSChsaWJ4bF9wYXRoLCAi dHlwZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdXNiY3RybGluZm8t PnR5cGUpOwogCiAgICAgaWYgKHVzYmN0cmxpbmZvLT50eXBlICE9IExJQlhMX1VTQkNUUkxfVFlQ RV9ERVZJQ0VNT0RFTCkgewogICAgICAgICBkb21wYXRoID0gbGlieGxfX3hzX2dldF9kb21wYXRo KGdjLCBkb21pZCk7Ci0gICAgICAgIGZlX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92dXNi LyVkIiwgZG9tcGF0aCwgdXNiY3RybC0+ZGV2aWQpOworICAgICAgICBmZV9wYXRoID0gR0NTUFJJ TlRGKCIlcy9kZXZpY2UvJXMvJWQiLCBkb21wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZVU0Ip LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYmN0cmwtPmRldmlkKTsKICAgICAgICAg YmVfcGF0aCA9IFJFQURfU1VCUEFUSChsaWJ4bF9wYXRoLCAiYmFja2VuZCIpOwogICAgICAgICB1 c2JjdHJsaW5mby0+YmFja2VuZCA9IGxpYnhsX19zdHJkdXAoTk9HQywgYmVfcGF0aCk7CiAgICAg ICAgIHJjID0gbGlieGxfX2JhY2tlbmRwYXRoX3BhcnNlX2RvbWlkKGdjLCBiZV9wYXRoLApAQCAt ODIxLDggKzgyOCw5IEBAIHN0YXRpYyBpbnQgZ2V0X2Fzc2lnbmVkX2RldmljZXMobGlieGxfX2dj ICpnYywKICAgICAgICAgdW5zaWduZWQgaW50IG5jID0gMDsKICAgICAgICAgdWludDMyX3QgZG9t aWQgPSBhdG9pKGRvbWxpc3RbaV0pOwogCi0gICAgICAgIGxpYnhsX3Z1c2JzX3BhdGggPSBHQ1NQ UklOVEYoIiVzL2RldmljZS92dXNiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpKTsKKyAgICAgICAgbGlieGxfdnVz YnNfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJp bmcoTElCWExfX0RFVklDRV9LSU5EX1ZVU0IpKTsKICAgICAgICAgdXNiY3RybHMgPSBsaWJ4bF9f eHNfZGlyZWN0b3J5KGdjLCBYQlRfTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX3Z1c2JzX3BhdGgsICZuYyk7CiAKQEAgLTkwMCw4ICs5MDgsMTAgQEAg bGlieGxfX2RldmljZV91c2JkZXZfbGlzdF9mb3JfdXNiY3RybChsaWJ4bF9fZ2MgKmdjLAogICAg ICp1c2JkZXZzID0gTlVMTDsKICAgICAqbnVtID0gMDsKIAotICAgIGxpYnhsX3BhdGggPSBHQ1NQ UklOVEYoIiVzL2RldmljZS92dXNiLyVkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCksIHVzYmN0cmwpOworICAgIGxpYnhsX3BhdGgg PSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhMSUJYTF9fREVWSUNFX0tJTkRfVlVT QiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2JjdHJsKTsKIAogICAgIGJlX3BhdGgg PSB2dXNiX2JlX2Zyb21feHNfbGlieGwoZ2MsIGxpYnhsX3BhdGgpOwogICAgIGlmICghYmVfcGF0 aCkgewpAQCAtOTU5LDggKzk2OSwxMCBAQCBsaWJ4bF9kZXZpY2VfdXNiZGV2X2xpc3QobGlieGxf Y3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgKm51bSkKIAogICAgICpudW0gPSAwOwogCi0g ICAgbGlieGxfdnVzYnNfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3Z1c2IiLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlk KSk7CisgICAgbGlieGxfdnVzYnNfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBk b21pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tp bmRfdG9fc3RyaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfX0RF VklDRV9LSU5EX1ZVU0IpKTsKICAgICB1c2JjdHJscyA9IGxpYnhsX194c19kaXJlY3RvcnkoZ2Ms IFhCVF9OVUxMLCBsaWJ4bF92dXNic19wYXRoLCAmbmMpOwogCiAgICAgZm9yIChpID0gMDsgaSA8 IG5jOyBpKyspIHsKQEAgLTk5MCw3ICsxMDAyLDggQEAgc3RhdGljIGNoYXIgKnZ1c2JfZ2V0X3Bv cnRfcGF0aChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICBjaGFyICpwYXRoOwog CiAgICAgaWYgKHR5cGUgPT0gTElCWExfVVNCQ1RSTF9UWVBFX0RFVklDRU1PREVMKQotICAgICAg ICBwYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdnVzYiIsIGxpYnhsX194c19saWJ4bF9wYXRo KGdjLCBkb21pZCkpOworICAgICAgICBwYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvJXMiLCBs aWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLAorICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZVU0IpKTsK ICAgICBlbHNlCiAgICAgICAgIHBhdGggPSBHQ1NQUklOVEYoIiVzL2JhY2tlbmQvJXMvJWQiLAog ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgTElCWExf VE9PTFNUQUNLX0RPTUlEKSwKQEAgLTEwOTYsOCArMTEwOSw5IEBAIHN0YXRpYyBpbnQgbGlieGxf X2RldmljZV91c2JkZXZfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAvKiBBIGNv bnRyb2xsZXIgd2FzIHNwZWNpZmllZDsgbG9vayBpdCB1cCAqLwogICAgICAgICBjb25zdCBjaGFy ICpsaWJ4bF9wYXRoLCAqYmVfcGF0aCwgKnRtcDsKIAotICAgICAgICBsaWJ4bF9wYXRoID0gR0NT UFJJTlRGKCIlcy9kZXZpY2UvdnVzYi8lZCIsCisgICAgICAgIGxpYnhsX3BhdGggPSBHQ1NQUklO VEYoIiVzL2RldmljZS8lcy8lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf X3hzX2xpYnhsX3BhdGgoZ2MsIGRvbWlkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhMX19ERVZJQ0VfS0lORF9WVVNCKSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2JkZXYtPmN0cmwpOwogCiAgICAgICAgIGJlX3Bh dGggPSB2dXNiX2JlX2Zyb21feHNfbGlieGwoZ2MsIGxpYnhsX3BhdGgpOwpAQCAtMTg5Myw3ICsx OTA3LDkgQEAgaW50IGxpYnhsX2N0cmxwb3J0X3RvX2RldmljZV91c2JkZXYobGlieGxfY3R4ICpj dHgsCiAKICAgICBsaWJ4bF9kb21fcGF0aCA9IGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21p ZCk7CiAKLSAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdnVzYi8lZCIsIGxp YnhsX2RvbV9wYXRoLCBjdHJsKTsKKyAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZp Y2UvJXMvJWQiLCBsaWJ4bF9kb21fcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZVU0IpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3RybCk7CiAgICAgYmVfcGF0aCA9IHZ1c2JfYmVfZnJv bV94c19saWJ4bChnYywgbGlieGxfcGF0aCk7CiAgICAgaWYgKCFiZV9wYXRoKSB7CiAgICAgICAg IHJjID0gRVJST1JfRkFJTDsKQEAgLTE5NjIsMTQgKzE5NzgsMTQgQEAgdm9pZCBsaWJ4bF9kZXZp Y2VfdXNiZGV2X2xpc3RfZnJlZShsaWJ4bF9kZXZpY2VfdXNiZGV2ICpsaXN0LCBpbnQgbnIpCiAK ICNkZWZpbmUgbGlieGxfX2RldmljZV91c2JjdHJsX3VwZGF0ZV9kZXZpZCBOVUxMCiAKLURFRklO RV9ERVZJQ0VfVFlQRV9TVFJVQ1QodXNiY3RybCwKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1Qo dXNiY3RybCwgVlVTQiwKICAgICAuZG1fbmVlZGVkID0gbGlieGxfZGV2aWNlX3VzYmN0cmxfZG1f bmVlZGVkCiApOwogCiAjZGVmaW5lIGxpYnhsX19kZXZpY2VfZnJvbV91c2JkZXYgTlVMTAogI2Rl ZmluZSBsaWJ4bF9fZGV2aWNlX3VzYmRldl91cGRhdGVfZGV2aWQgTlVMTAogCi1ERUZJTkVfREVW SUNFX1RZUEVfU1RSVUNUKHVzYmRldik7CitERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKHVzYmRl diwgVlVTQik7CiAKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF92ZGlzcGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3ZkaXNwbC5jCmluZGV4IGU2 MWVmMmQuLjMxNDA5YTQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3ZkaXNwbC5jCisr KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3ZkaXNwbC5jCkBAIC0xNzYsOSArMTc2LDEyIEBAIGludCBs aWJ4bF9kZXZpY2VfdmRpc3BsX2dldGluZm8obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LAogICAgIGRvbXBhdGggPSBsaWJ4bF9feHNfZ2V0X2RvbXBhdGgoZ2MsIGRvbWlkKTsKICAgICBp bmZvLT5kZXZpZCA9IHZkaXNwbC0+ZGV2aWQ7CiAKLSAgICBkZXZwYXRoID0gR0NTUFJJTlRGKCIl cy9kZXZpY2UvdmRpc3BsLyVkIiwgZG9tcGF0aCwgaW5mby0+ZGV2aWQpOwotICAgIGxpYnhsX3Bh dGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92ZGlzcGwvJWQiLAorICAgIGRldnBhdGggPSBHQ1NQ UklOVEYoIiVzL2RldmljZS8lcy8lZCIsIGRvbXBhdGgsCisgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhMX19ERVZJQ0VfS0lORF9WRElTUEwp LAorICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+ZGV2aWQpOworICAgIGxpYnhsX3BhdGgg PSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhMSUJYTF9fREVWSUNFX0tJTkRfVkRJ U1BMKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPmRldmlkKTsKICAgICBpbmZv LT5iYWNrZW5kID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEwsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy9iYWNrZW5kIiwgbGlieGxfcGF0aCksCkBAIC0yNDks NyArMjUyLDcgQEAgTElCWExfREVGSU5FX0RFVklDRV9SRU1PVkUodmRpc3BsKQogc3RhdGljIExJ QlhMX0RFRklORV9VUERBVEVfREVWSUQodmRpc3BsLCAidmRpc3BsIikKIExJQlhMX0RFRklORV9E RVZJQ0VfTElTVCh2ZGlzcGwpCiAKLURFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QodmRpc3BsLAor REVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2ZGlzcGwsIFZESVNQTCwKICAgICAudXBkYXRlX2Nv bmZpZyA9IChkZXZpY2VfdXBkYXRlX2NvbmZpZ19mbl90KWxpYnhsX191cGRhdGVfY29uZmlnX3Zk aXNwbCwKICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90KWxp YnhsX192ZGlzcGxfZnJvbV94ZW5zdG9yZSwKICAgICAuc2V0X3hlbnN0b3JlX2NvbmZpZyA9IChk ZXZpY2Vfc2V0X3hlbnN0b3JlX2NvbmZpZ19mbl90KQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfdmtiLmMgYi90b29scy9saWJ4bC9saWJ4bF92a2IuYwppbmRleCAyNzZjYzhhLi4xY2Q3 ZmViIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF92a2IuYworKysgYi90b29scy9saWJ4 bC9saWJ4bF92a2IuYwpAQCAtMTIyLDkgKzEyMiwxMiBAQCBpbnQgbGlieGxfZGV2aWNlX3ZrYl9n ZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICBkb21wYXRoID0gbGli eGxfX3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCk7CiAgICAgaW5mby0+ZGV2aWQgPSB2a2ItPmRl dmlkOwogCi0gICAgZGV2cGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlL3ZrYmQvJWQiLCBkb21w YXRoLCBpbmZvLT5kZXZpZCk7Ci0gICAgbGlieGxfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNl L3ZrYmQvJWQiLAorICAgIGRldnBhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZCIsIGRv bXBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3Ry aW5nKExJQlhMX19ERVZJQ0VfS0lORF9WS0JEKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGlu Zm8tPmRldmlkKTsKKyAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvJXMvJWQi LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xpYnhsX3BhdGgoZ2MsIGRv bWlkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19z dHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZLQkQpLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5mby0+ZGV2aWQpOwogICAgIGluZm8tPmJhY2tlbmQgPSB4c19yZWFkKGN0eC0+eHNoLCBY QlRfTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2JhY2tl bmQiLCBsaWJ4bF9wYXRoKSwKQEAgLTE2NSw3ICsxNjgsNyBAQCBzdGF0aWMgTElCWExfREVGSU5F X1VQREFURV9ERVZJRCh2a2IsICJ2a2JkIikKIExJQlhMX0RFRklORV9ERVZJQ0VfTElTVCh2a2Ip CiBMSUJYTF9ERUZJTkVfREVWSUNFX1JFTU9WRSh2a2IpCiAKLURFRklORV9ERVZJQ0VfVFlQRV9T VFJVQ1RfWCh2a2IsIHZrYiwgdmtiZCwKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QodmtiLCBW S0JELAogICAgIC5za2lwX2F0dGFjaCA9IDEsCiAgICAgLmRtX25lZWRlZCAgID0gKGRldmljZV9k bV9uZWVkZWRfZm5fdClsaWJ4bF9fZGV2aWNlX3ZrYl9kbV9uZWVkZWQsCiAgICAgLmZyb21feGVu c3RvcmUgPSAoZGV2aWNlX2Zyb21feGVuc3RvcmVfZm5fdClsaWJ4bF9fdmtiX2Zyb21feGVuc3Rv cmUKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3ZzbmQuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsX3ZzbmQuYwppbmRleCAwZTdiMjljLi5mODFhOWUyIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bF92c25kLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdnNuZC5jCkBAIC01NzMsMTEg KzU3MywxNCBAQCBpbnQgbGlieGxfZGV2aWNlX3ZzbmRfZ2V0aW5mbyhsaWJ4bF9jdHggKmN0eCwg dWludDMyX3QgZG9taWQsCiAgICAgZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywg ZG9taWQpOwogICAgIGluZm8tPmRldmlkID0gdnNuZC0+ZGV2aWQ7CiAKLSAgICBkZXZwYXRoID0g R0NTUFJJTlRGKCIlcy9kZXZpY2UvJXMvJWQiLCBkb21wYXRoLCBsaWJ4bF9fdnNuZF9kZXZ0eXBl LmVudHJ5LAorICAgIGRldnBhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS8lcy8lZCIsIGRvbXBh dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rl dmljZV9raW5kX3RvX3N0cmluZygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMSUJYTF9fREVWSUNFX0tJTkRfVlNORCksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5mby0+ZGV2aWQpOwogICAgIGxpYnhsX3BhdGggPSBHQ1NQ UklOVEYoIiVzL2RldmljZS8lcy8lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfX3ZzbmRfZGV2dHlwZS5lbnRyeSwgaW5mby0+ZGV2aWQpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhMSUJYTF9fREVWSUNFX0tJ TkRfVlNORCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT5kZXZpZCk7CiAKICAg ICBpbmZvLT5iYWNrZW5kID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEwsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy9iYWNrZW5kIiwgbGlieGxfcGF0aCksIE5V TEwpOwpAQCAtNjQ0LDcgKzY0Nyw3IEBAIExJQlhMX0RFRklORV9ERVZJQ0VfUkVNT1ZFKHZzbmQp CiBzdGF0aWMgTElCWExfREVGSU5FX1VQREFURV9ERVZJRCh2c25kLCAidnNuZCIpCiBMSUJYTF9E RUZJTkVfREVWSUNFX0xJU1QodnNuZCkKIAotREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2c25k LAorREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2c25kLCBWU05ELAogICAgIC51cGRhdGVfY29u ZmlnID0gKGRldmljZV91cGRhdGVfY29uZmlnX2ZuX3QpIGxpYnhsX191cGRhdGVfY29uZmlnX3Zz bmQsCiAgICAgLmZyb21feGVuc3RvcmUgPSAoZGV2aWNlX2Zyb21feGVuc3RvcmVfZm5fdCkgbGli eGxfX3ZzbmRfZnJvbV94ZW5zdG9yZSwKICAgICAuc2V0X3hlbnN0b3JlX2NvbmZpZyA9IChkZXZp Y2Vfc2V0X3hlbnN0b3JlX2NvbmZpZ19mbl90KQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfdnRwbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfdnRwbS5jCmluZGV4IDNmMGM1NjMuLmM2NDUw NzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3Z0cG0uYworKysgYi90b29scy9saWJ4 bC9saWJ4bF92dHBtLmMKQEAgLTExOCw5ICsxMTgsMTMgQEAgaW50IGxpYnhsX2RldmljZV92dHBt X2dldGluZm8obGlieGxfY3R4ICpjdHgsCiAgICAgZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9t cGF0aChnYywgZG9taWQpOwogICAgIHZ0cG1pbmZvLT5kZXZpZCA9IHZ0cG0tPmRldmlkOwogCi0g ICAgdnRwbXBhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92dHBtLyVkIiwgZG9tcGF0aCwgdnRw bWluZm8tPmRldmlkKTsKLSAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRGKCIlcy9kZXZpY2UvdnRw bS8lZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChn YywgZG9taWQpLCB2dHBtaW5mby0+ZGV2aWQpOworICAgIHZ0cG1wYXRoID0gR0NTUFJJTlRGKCIl cy9kZXZpY2UvJXMvJWQiLCBkb21wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZUUE0pLAorICAgICAg ICAgICAgICAgICAgICAgICAgIHZ0cG1pbmZvLT5kZXZpZCk7CisgICAgbGlieGxfcGF0aCA9IEdD U1BSSU5URigiJXMvZGV2aWNlLyVzLyVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhMX19ERVZJQ0VfS0lORF9WVFBNKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ0cG1pbmZvLT5kZXZpZCk7CiAgICAgdnRwbWlu Zm8tPmJhY2tlbmQgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwKICAgICAgICAgICBHQ1NQ UklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwgTlVMTCk7CiAgICAgaWYgKCF2dHBtaW5m by0+YmFja2VuZCkgewpAQCAtMjQ0LDcgKzI0OCw3IEBAIHN0YXRpYyBMSUJYTF9ERUZJTkVfREVW SUNFU19BREQodnRwbSkKIExJQlhMX0RFRklORV9ERVZJQ0VfUkVNT1ZFKHZ0cG0pCiBMSUJYTF9E RUZJTkVfREVWSUNFX0xJU1QodnRwbSkKIAotREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2dHBt LAorREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2dHBtLCBWVFBNLAogICAgIC51cGRhdGVfY29u ZmlnID0gbGlieGxfZGV2aWNlX3Z0cG1fdXBkYXRlX2NvbmZpZywKICAgICAuZnJvbV94ZW5zdG9y ZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90KWxpYnhsX192dHBtX2Zyb21feGVuc3RvcmUs CiAgICAgLnNldF94ZW5zdG9yZV9jb25maWcgPSAoZGV2aWNlX3NldF94ZW5zdG9yZV9jb25maWdf Zm5fdCkKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==