From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v2 3/7] libxl: add support for hotplug interface v2 in domain creation/destroy Date: Mon, 18 Mar 2013 12:47:07 +0100 Message-ID: <1363607231-35228-4-git-send-email-roger.pau@citrix.com> References: <1363607231-35228-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1363607231-35228-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IHZhcmlhYmxlIHRvIGxpYnhsX2RldmljZV9kaXNrICJob3RwbHVnX3ZlcnNpb24i LCB0aGF0IHdpbGwKYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdGhlIGRldGVjdGVkIGhvdHBsdWcg c2NyaXB0IGludGVyZmFjZSB2ZXJzaW9uLgoKVGhpcyBwYXRjaCBhZGRzIHRoZSBiYXNpYyBzdXBw b3J0IHRvIGhhbmRsZSB0aGlzIG5ldyBzY3JpcHRzLCBieQphZGRpbmcgdGhlIHByZXBhcmUgcHJp dmF0ZSBsaWJ4bCBmdW5jdGlvbiwgYW5kIG1vZGlmeWluZwp0aGUgY3VycmVudCBkb21haW4gY3Jl YXRpb24vZGVzdHJ1Y3Rpb24gdG8gY2FsbCB0aGlzIGZ1bmN0aW9ucyBhdCB0aGUKYXBwcm9wcmlh dGUgc3BvdHMuIFRoZSBob3RwbHVnIGludGVyZmFjZSBkZXRlY3Rpb24gaXMgZG9uZSBpbiB0aGUK X3ByZXBhcmUgY2FsbC4KClRoaXMgcGF0Y2ggYWxzbyBhZGRzIHNvbWUgaGVscGVycywgdGhhdCB3 aWxsIGJlIHVzZWQgaGVyZSBhbmQgaW4gbGF0ZXIKcGF0Y2hlcy4KClNpZ25lZC1vZmYtYnk6IFJv Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpDYzogSWFuIENhbXBiZWxsIDxp YW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBjaXRy aXguY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToKICogS2VlcCB0cmFjayBvZiBob3RwbHVnIHN0 YXR1cyBpbiB4ZW5zdG9yZQotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgfCAgMTQ0 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0 ZS5jICAgfCAgIDMyICsrKysrKystCiB0b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyAgIHwgIDE5 OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaCB8ICAgNDcgKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxfdHlw ZXMuaWRsICB8ICAgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA0MDAgaW5zZXJ0aW9ucygrKSwgMjMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xp YnhsL2xpYnhsLmMKaW5kZXggYTA5YzBmYS4uZTZkNGE5OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC0yMDExLDYgKzIwMTEsMTE5 IEBAIGludCBsaWJ4bF9fZGV2aWNlX2Zyb21fZGlzayhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBk b21pZCwKICAgICByZXR1cm4gMDsKIH0KIAorLyogQ2FsbGJhY2tzIGZvciBsaWJ4bF9fZGV2aWNl X2Rpc2tfcHJlcGFyZSAqLworCitzdGF0aWMgdm9pZCBkZXZpY2VfZGlza19wcmVwYXJlX2NiKGxp YnhsX19lZ2MgKiwgbGlieGxfX2FvX2RldmljZSAqKTsKKwordm9pZCBsaWJ4bF9fZGV2aWNlX2Rp c2tfcHJlcGFyZShsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2FvX2RldmljZSAqcHJlcGFyZV9hb2RldikKK3sK KyAgICBTVEFURV9BT19HQyhwcmVwYXJlX2FvZGV2LT5hbyk7CisgICAgY2hhciAqaG90cGx1Z19w YXRoOworICAgIGNoYXIgKnNjcmlwdF9wYXRoOworICAgIGludCByYzsKKyAgICB4c190cmFuc2Fj dGlvbl90IHQgPSBYQlRfTlVMTDsKKyAgICBsaWJ4bF9fZGlza19wcmVwYXJlICpkcDsKKyAgICBs aWJ4bF9fYW9fZGV2aWNlICphb2RldjsKKworICAgIGlmICghZGlzay0+c2NyaXB0KSB7CisgICAg ICAgIC8qIElmIHNjcmlwdCBpcyBub3Qgc2V0IGFzc3VtZSB2MSAqLworICAgICAgICBkaXNrLT5o b3RwbHVnX3ZlcnNpb24gPSAxOworICAgICAgICBwcmVwYXJlX2FvZGV2LT5jYWxsYmFjayhlZ2Ms IHByZXBhcmVfYW9kZXYpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgR0NORVcoZHAp OworICAgIGRwLT5kaXNrID0gZGlzazsKKyAgICAvKiBTYXZlIG9yaWdpbmFsIGFvZGV2LCBzaW5j ZSB3ZSB3aWxsIGNhbGwgaXQgb25jZSBob3RwbHVnCisgICAgICogc2NyaXB0IGRldGVjdGlvbiBo YXMgZmluaXNoZWQKKyAgICAgKi8KKyAgICBkcC0+YW9kZXYgPSBwcmVwYXJlX2FvZGV2OworICAg IGFvZGV2ID0gJmRwLT52ZXJzaW9uX2FvZGV2OworICAgIGxpYnhsX19wcmVwYXJlX2FvX2Rldmlj ZShhbywgYW9kZXYpOworCisgICAgR0NORVcoYW9kZXYtPmRldik7CisgICAgcmMgPSBsaWJ4bF9f ZGV2aWNlX2Zyb21fZGlzayhnYywgZG9taWQsIGRpc2ssIGFvZGV2LT5kZXYpOworICAgIGlmIChy YyAhPSAwKSB7CisgICAgICAgIExPRyhFUlJPUiwgIkludmFsaWQgb3IgdW5zdXBwb3J0ZWQgdmly dHVhbCBkaXNrIGlkZW50aWZpZXIgJXMiLAorICAgICAgICAgICAgICAgICAgIGRpc2stPnZkZXYp OworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIHNjcmlwdF9wYXRoID0gbGlieGxf X2Fic19wYXRoKGdjLCBkaXNrLT5zY3JpcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CisKKyAgICBob3RwbHVnX3BhdGgg PSBsaWJ4bF9fZGV2aWNlX3hzX2hvdHBsdWdfcGF0aChnYywgYW9kZXYtPmRldik7CisgICAgZm9y ICg7OykgeworICAgICAgICByYyA9IGxpYnhsX194c190cmFuc2FjdGlvbl9zdGFydChnYywgJnQp OworICAgICAgICBpZiAocmMpIGdvdG8gZXJyb3I7CisKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNf d3JpdGVfY2hlY2tlZChnYywgdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdD U1BSSU5URigiJXMvcGFyYW1zIiwgaG90cGx1Z19wYXRoKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRpc2stPnBkZXZfcGF0aCk7CisgICAgICAgIGlmIChyYykKKyAgICAgICAg ICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfd3JpdGVfY2hlY2tlZChn YywgdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvc2Ny aXB0IiwgaG90cGx1Z19wYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj cmlwdF9wYXRoKTsKKyAgICAgICAgaWYgKHJjKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKwor ICAgICAgICByYyA9IGxpYnhsX194c190cmFuc2FjdGlvbl9jb21taXQoZ2MsICZ0KTsKKyAgICAg ICAgaWYgKCFyYykgYnJlYWs7CisgICAgICAgIGlmIChyYyA8IDApIGdvdG8gZXJyb3I7CisgICAg fQorCisgICAgYW9kZXYtPmNhbGxiYWNrID0gZGV2aWNlX2Rpc2tfcHJlcGFyZV9jYjsKKyAgICBh b2Rldi0+YWN0aW9uID0gTElCWExfX0RFVklDRV9BQ1RJT05fVkVSU0lPTjsKKyAgICBhb2Rldi0+ ZGlzayA9IGRpc2s7CisgICAgYW9kZXYtPmhvdHBsdWcudmVyc2lvbiA9IDI7CisgICAgbGlieGxf X2RldmljZV9ob3RwbHVnKGVnYywgYW9kZXYpOworICAgIHJldHVybjsKKworZXJyb3I6CisgICAg YXNzZXJ0KHJjKTsKKyAgICBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKKyAg ICBwcmVwYXJlX2FvZGV2LT5yYyA9IHJjOworICAgIHByZXBhcmVfYW9kZXYtPmNhbGxiYWNrKGVn YywgcHJlcGFyZV9hb2Rldik7CisgICAgcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBkZXZpY2Vf ZGlza19wcmVwYXJlX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX2FvX2RldmljZSAqdmVyc2lvbl9hb2RldikKK3sKKyAgICBTVEFU RV9BT19HQyh2ZXJzaW9uX2FvZGV2LT5hbyk7CisgICAgbGlieGxfX2Rpc2tfcHJlcGFyZSAqZHAg PSBDT05UQUlORVJfT0YodmVyc2lvbl9hb2RldiwgKmRwLCB2ZXJzaW9uX2FvZGV2KTsKKyAgICBs aWJ4bF9fYW9fZGV2aWNlICphb2RldiA9IGRwLT5hb2RldjsKKworICAgIGlmIChkcC0+ZGlzay0+ aG90cGx1Z192ZXJzaW9uID09IDEpIHsKKyAgICAgICAgYW9kZXYtPmNhbGxiYWNrKGVnYywgYW9k ZXYpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYW9kZXYtPmFjdGlvbiA9IExJQlhM X19ERVZJQ0VfQUNUSU9OX1BSRVBBUkU7CisgICAgYW9kZXYtPmhvdHBsdWcudmVyc2lvbiA9IGRw LT5kaXNrLT5ob3RwbHVnX3ZlcnNpb247CisgICAgYW9kZXYtPmRldiA9IHZlcnNpb25fYW9kZXYt PmRldjsKKworICAgIC8qCisgICAgICogV3JpdGUgc3RhdHVzIGluZm9ybWF0aW9uIHRvIHhlbnN0 b3JlLCBzbyB3ZSBrbm93IHRoaXMgZGV2aWNlCisgICAgICogaGFzIGJlZW4gcHJlcGFyZWQKKyAg ICAgKi8KKyAgICBhb2Rldi0+cmMgPSBsaWJ4bF9feHNfd3JpdGVfY2hlY2tlZChnYywgWEJUX05V TEwsCisgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFja2VuZF9kb21pZCIsCisg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX3hzX2hvdHBsdWdfc3RhdHVzX3Bh dGgoZ2MsIGFvZGV2LT5kZXYpKSwKKyAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIldSIs IGFvZGV2LT5kZXYtPmJhY2tlbmRfZG9taWQpKTsKKyAgICBpZiAoYW9kZXYtPnJjKSB7CisgICAg ICAgIGFvZGV2LT5jYWxsYmFjayhlZ2MsIGFvZGV2KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K KworICAgIGxpYnhsX19kZXZpY2VfaG90cGx1ZyhlZ2MsIGFvZGV2KTsKKyAgICByZXR1cm47Cit9 CisKIC8qIFNwZWNpZmljIGZ1bmN0aW9uIGNhbGxlZCBkaXJlY3RseSBvbmx5IGJ5IGxvY2FsIGRp c2sgYXR0YWNoLAogICogYWxsIG90aGVyIHVzZXJzIHNob3VsZCBpbnN0ZWFkIHVzZSB0aGUgcmVn dWxhcgogICogbGlieGxfX2RldmljZV9kaXNrX2FkZCB3cmFwcGVyCkBAIC0yMDcwLDggKzIxODMs MTUgQEAgc3RhdGljIHZvaWQgZGV2aWNlX2Rpc2tfYWRkKGxpYnhsX19lZ2MgKmVnYywgdWludDMy X3QgZG9taWQsCiAgICAgICAgICAgICAgICAgZGV2ID0gZGlzay0+cGRldl9wYXRoOwogCiAgICAg ICAgIGRvX2JhY2tlbmRfcGh5OgotICAgICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoYmFj aywgInBhcmFtcyIpOwotICAgICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoYmFjaywgZGV2 KTsKKyAgICAgICAgICAgICAgICBpZiAoZGlzay0+aG90cGx1Z192ZXJzaW9uID09IDEpIHsKKyAg ICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogSWYgdGhlIG5ldyBo b3RwbHVnIHZlcnNpb24gaXMgdXNlZCBwYXJhbXMgaXMKKyAgICAgICAgICAgICAgICAgICAgICog c3RvcmVkIHVuZGVyIGEgcHJpdmF0ZSBwYXRoLCBzaW5jZSBpdCBjYW4gY29udGFpbgorICAgICAg ICAgICAgICAgICAgICAgKiBkYXRhIHRoYXQgdGhlIGd1ZXN0IHNob3VsZCBub3Qgc2VlLgorICAg ICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVu ZChiYWNrLCAicGFyYW1zIik7CisgICAgICAgICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQo YmFjaywgZGV2KTsKKyAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBzY3JpcHQg PSBsaWJ4bF9fYWJzX3BhdGgoZ2MsIGRpc2stPnNjcmlwdD86ICJibG9jayIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194ZW5fc2NyaXB0X2Rpcl9wYXRo KCkpOwpAQCAtMjE2Nyw2ICsyMjg3LDggQEAgc3RhdGljIHZvaWQgZGV2aWNlX2Rpc2tfYWRkKGxp YnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQsCiAKICAgICBhb2Rldi0+ZGV2ID0gZGV2aWNl OwogICAgIGFvZGV2LT5hY3Rpb24gPSBMSUJYTF9fREVWSUNFX0FDVElPTl9BREQ7CisgICAgYW9k ZXYtPmhvdHBsdWcudmVyc2lvbiA9IGRpc2stPmhvdHBsdWdfdmVyc2lvbjsKKyAgICBhb2Rldi0+ ZGlzayA9IGRpc2s7CiAgICAgbGlieGxfX3dhaXRfZGV2aWNlX2Nvbm5lY3Rpb24oZWdjLCBhb2Rl dik7CiAKICAgICByYyA9IDA7CkBAIC0yMjYwLDYgKzIzODIsNyBAQCBpbnQgbGlieGxfdmRldl90 b19kZXZpY2VfZGlzayhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgR0NfSU5J VChjdHgpOwogICAgIGNoYXIgKmRvbXBhdGgsICpwYXRoOwogICAgIGludCBkZXZpZCA9IGxpYnhs X19kZXZpY2VfZGlza19kZXZfbnVtYmVyKHZkZXYsIE5VTEwsIE5VTEwpOworICAgIGxpYnhsX19k ZXZpY2UgZGV2OwogICAgIGludCByYyA9IEVSUk9SX0ZBSUw7CiAKICAgICBpZiAoZGV2aWQgPCAw KQpAQCAtMjI3OCw2ICsyNDAxLDIzIEBAIGludCBsaWJ4bF92ZGV2X3RvX2RldmljZV9kaXNrKGxp YnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBy YyA9IGxpYnhsX19kZXZpY2VfZGlza19mcm9tX3hzX2JlKGdjLCBwYXRoLCBkaXNrKTsKKyAgICBp ZiAocmMpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIHBhcnNlIGRpc2sgZGV2aWNl IGZyb20gcGF0aCAlcyIsIHBhdGgpOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICAv KiBDaGVjayBpZiB0aGUgZGV2aWNlIGlzIHVzaW5nIHRoZSBuZXcgaG90cGx1ZyBpbnRlcmZhY2Ug Ki8KKyAgICByYyA9IGxpYnhsX19kZXZpY2VfZnJvbV9kaXNrKGdjLCBkb21pZCwgZGlzaywgJmRl dik7CisgICAgaWYgKHJjKSB7CisgICAgICAgIExPRyhFUlJPUiwgImludmFsaWQgb3IgdW5zdXBw b3J0ZWQgdmlydHVhbCBkaXNrIGlkZW50aWZpZXIgJXMiLAorICAgICAgICAgICAgICAgICAgICBk aXNrLT52ZGV2KTsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAgIGRpc2stPmhvdHBsdWdf dmVyc2lvbiA9IDE7CisgICAgcGF0aCA9IGxpYnhsX19kZXZpY2VfeHNfaG90cGx1Z19wYXRoKGdj LCAmZGV2KTsKKyAgICBpZiAobGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBwYXRoKSkKKyAg ICAgICAgZGlzay0+aG90cGx1Z192ZXJzaW9uID0gMjsKKwogb3V0OgogICAgIEdDX0ZSRUU7CiAg ICAgcmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90 b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCAyZWE2MjhhLi5hZDVmOGM0IDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9j cmVhdGUuYwpAQCAtNTkyLDYgKzU5MiwxMCBAQCBzdGF0aWMgaW50IHN0b3JlX2xpYnhsX2VudHJ5 KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICovCiAKIC8qIEV2ZW50IGNhbGxiYWNr cywgaW4gdGhpcyBvcmRlcjogKi8KKworc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xhdW5jaF9ib290 bG9hZGVyKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCByZXQpOwogc3RhdGljIHZvaWQgZG9tY3JlYXRlX2Rldm1v ZGVsX3N0YXJ0ZWQobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX2RtX3NwYXduX3N0YXRlICpkbXNzLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKQEAgLTYzOCw3ICs2NDIsNiBAQCBzdGF0 aWMgdm9pZCBpbml0aWF0ZV9kb21haW5fY3JlYXRlKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIC8q IGNvbnZlbmllbmNlIGFsaWFzZXMgKi8KICAgICBsaWJ4bF9kb21haW5fY29uZmlnICpjb25zdCBk X2NvbmZpZyA9IGRjcy0+Z3Vlc3RfY29uZmlnOwotICAgIGNvbnN0IGludCByZXN0b3JlX2ZkID0g ZGNzLT5yZXN0b3JlX2ZkOwogICAgIG1lbXNldCgmZGNzLT5idWlsZF9zdGF0ZSwgMCwgc2l6ZW9m KGRjcy0+YnVpbGRfc3RhdGUpKTsKIAogICAgIGRvbWlkID0gMDsKQEAgLTY3MSw2ICs2NzQsMzMg QEAgc3RhdGljIHZvaWQgaW5pdGlhdGVfZG9tYWluX2NyZWF0ZShsaWJ4bF9fZWdjICplZ2MsCiAg ICAgICAgIGlmIChyZXQpIGdvdG8gZXJyb3Jfb3V0OwogICAgIH0KIAorICAgIGxpYnhsX19tdWx0 aWRldl9iZWdpbihhbywgJmRjcy0+bXVsdGlkZXYpOworICAgIGRjcy0+bXVsdGlkZXYuY2FsbGJh Y2sgPSBkb21jcmVhdGVfbGF1bmNoX2Jvb3Rsb2FkZXI7CisgICAgbGlieGxfX3ByZXBhcmVfZGlz a3MoZWdjLCBhbywgZG9taWQsIGRfY29uZmlnLCAmZGNzLT5tdWx0aWRldik7CisgICAgbGlieGxf X211bHRpZGV2X3ByZXBhcmVkKGVnYywgJmRjcy0+bXVsdGlkZXYsIDApOworICAgIHJldHVybjsK KworZXJyb3Jfb3V0OgorICAgIGFzc2VydChyZXQpOworICAgIGRvbWNyZWF0ZV9jb21wbGV0ZShl Z2MsIGRjcywgcmV0KTsKK30KKworc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xhdW5jaF9ib290bG9h ZGVyKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCByZXQpCit7CisgICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3Rh dGUgKmRjcyA9IENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmRjcywgbXVsdGlkZXYpOworICAgIFNU QVRFX0FPX0dDKGRjcy0+YW8pOworCisgICAgLyogY29udmVuaWVuY2UgYWxpYXNlcyAqLworICAg IGNvbnN0IGludCByZXN0b3JlX2ZkID0gZGNzLT5yZXN0b3JlX2ZkOworICAgIGxpYnhsX2RvbWFp bl9jb25maWcgKmNvbnN0IGRfY29uZmlnID0gZGNzLT5ndWVzdF9jb25maWc7CisKKyAgICBpZiAo cmV0KSB7CisgICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBwcmVwYXJlIGRldmljZXMiKTsK KyAgICAgICAgZ290byBlcnJvcl9vdXQ7CisgICAgfQorCiAgICAgZGNzLT5ibC5hbyA9IGFvOwog ICAgIGxpYnhsX2RldmljZV9kaXNrICpib290ZGlzayA9CiAgICAgICAgIGRfY29uZmlnLT5udW1f ZGlza3MgPiAwID8gJmRfY29uZmlnLT5kaXNrc1swXSA6IE5VTEw7CmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCmluZGV4 IDAyNGJjMWYuLjI3YTQxMWIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5j CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCkBAIC01OCw2ICs1OCwzNyBAQCBpbnQg bGlieGxfX3BhcnNlX2JhY2tlbmRfcGF0aChsaWJ4bF9fZ2MgKmdjLAogICAgIHJldHVybiBsaWJ4 bF9fZGV2aWNlX2tpbmRfZnJvbV9zdHJpbmcoc3Rya2luZCwgJmRldi0+YmFja2VuZF9raW5kKTsK IH0KIAoraW50IGxpYnhsX19wYXJzZV9ob3RwbHVnX3N0YXR1c19wYXRoKGxpYnhsX19nYyAqZ2Ms CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlICpkZXYp Cit7CisgICAgLyogL2xpYnhsLzxkb21pZD4vaG90cGx1Zy9zdGF0dXMvPGtpbmQ+LzxkZXZpZD4g Ki8KKyAgICBjaGFyIHN0cmtpbmRbMTZdOworICAgIGNoYXIgKnhzX3BhdGg7CisgICAgY29uc3Qg Y2hhciAqYmFja2VuZF9kb21pZDsKKyAgICBpbnQgcmMgPSBzc2NhbmYocGF0aCwgIi9saWJ4bC8l dS9ob3RwbHVnL3N0YXR1cy8lMTVbXi9dLyV1IiwKKyAgICAgICAgICAgICAgICAgICAgJmRldi0+ ZG9taWQsCisgICAgICAgICAgICAgICAgICAgIHN0cmtpbmQsCisgICAgICAgICAgICAgICAgICAg ICZkZXYtPmRldmlkKTsKKworICAgIGlmIChyYyAhPSAzKQorICAgICAgICByZXR1cm4gRVJST1Jf RkFJTDsKKworICAgIHhzX3BhdGggPSBHQ1NQUklOVEYoIiVzL2JhY2tlbmRfZG9taWQiLCBwYXRo KTsKKyAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLCB4c19wYXRo LCAmYmFja2VuZF9kb21pZCk7CisgICAgaWYgKHJjKQorICAgICAgICByZXR1cm4gcmM7CisKKyAg ICByYyA9IGxpYnhsX19kZXZpY2Vfa2luZF9mcm9tX3N0cmluZyhzdHJraW5kLCAmZGV2LT5iYWNr ZW5kX2tpbmQpOworICAgIGlmIChyYykKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAgZGV2LT5i YWNrZW5kX2RvbWlkID0gYXRvaShiYWNrZW5kX2RvbWlkKTsKKyAgICBkZXYtPmtpbmQgPSBkZXYt PmJhY2tlbmRfa2luZDsKKworICAgIHJldHVybiAwOworfQorCiBpbnQgbGlieGxfX25pY190eXBl KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19kZXZpY2UgKmRldiwgbGlieGxfbmljX3R5cGUgKm5pY3R5 cGUpCiB7CiAgICAgY2hhciAqc25pY3R5cGUsICpiZV9wYXRoOwpAQCAtOTEsNiArMTIyLDE0IEBA IGNoYXIgKmxpYnhsX19kZXZpY2VfeHNfaG90cGx1Z19wYXRoKGxpYnhsX19nYyAqZ2MsIGxpYnhs X19kZXZpY2UgKmRldikKICAgICAgICAgICAgICAgICAgICAgIGRldi0+ZGV2aWQpOwogfQogCitj aGFyICpsaWJ4bF9fZGV2aWNlX3hzX2hvdHBsdWdfc3RhdHVzX3BhdGgobGlieGxfX2djICpnYywg bGlieGxfX2RldmljZSAqZGV2KQoreworICAgIHJldHVybiBHQ1NQUklOVEYoIi9saWJ4bC8ldS9o b3RwbHVnL3N0YXR1cy8lcy8ldSIsCisgICAgICAgICAgICAgICAgICAgICBkZXYtPmRvbWlkLAor ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhkZXYtPmJh Y2tlbmRfa2luZCksCisgICAgICAgICAgICAgICAgICAgICBkZXYtPmRldmlkKTsKK30KKwogaW50 IGxpYnhsX19kZXZpY2VfZ2VuZXJpY19hZGQobGlieGxfX2djICpnYywgeHNfdHJhbnNhY3Rpb25f dCB0LAogICAgICAgICBsaWJ4bF9fZGV2aWNlICpkZXZpY2UsIGNoYXIgKipiZW50cywgY2hhciAq KmZlbnRzKQogewpAQCAtNTAwLDE4ICs1MzksMjAgQEAgdm9pZCBsaWJ4bF9fbXVsdGlkZXZfcHJl cGFyZWQobGlieGxfX2VnYyAqZWdjLAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi0vKiBN YWNybyBmb3IgZGVmaW5pbmcgdGhlIGZ1bmN0aW9ucyB0aGF0IHdpbGwgYWRkIGEgYnVuY2ggb2Yg ZGlza3Mgd2hlbgorLyogTWFjcm8gZm9yIGRlZmluaW5nIHRoZSBmdW5jdGlvbnMgdGhhdCB3aWxs IG9wZXJhdGUgYSBidW5jaCBvZiBkZXZpY2VzIHdoZW4KICAqIGluc2lkZSBhbiBhc3luYyBvcCB3 aXRoIG11bHRpZGV2LgogICogVGhpcyBtYWNybyBpcyBhZGRlZCB0byBwcmV2ZW50IHJlcGV0aXRp b24gb2YgY29kZS4KICAqCiAgKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZDoK KyAqIGxpYnhsX19wcmVwYXJlX2Rpc2tzCiAgKiBsaWJ4bF9fYWRkX2Rpc2tzCiAgKiBsaWJ4bF9f YWRkX25pY3MKICAqIGxpYnhsX19hZGRfdnRwbXMKICAqLwogCi0jZGVmaW5lIERFRklORV9ERVZJ Q0VTX0FERCh0eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g ICAgdm9pZCBsaWJ4bF9fYWRkXyMjdHlwZSMjcyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hbyAq YW8sIHVpbnQzMl90IGRvbWlkLCBcCisjZGVmaW5lIERFRklORV9ERVZJQ0VTX0ZVTkModHlwZSwg b3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdm9pZCBsaWJ4bF9f IyNvcCMjXyMjdHlwZSMjcyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hbyAqYW8sICAgICAgICBc CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9k b21haW5fY29uZmlnICpkX2NvbmZpZywgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2KSAgICAgICAgICAgICAgICBcCiAg ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCkBAIC01MTksMTYgKzU2MCwxOCBAQCB2b2lkIGxpYnhsX19tdWx0aWRl dl9wcmVwYXJlZChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIGludCBpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+bnVtXyMjdHlwZSMjczsgaSsrKSB7ICAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2RldiA9IGxpYnhsX19tdWx0 aWRldl9wcmVwYXJlKG11bHRpZGV2KTsgIFwKLSAgICAgICAgICAgIGxpYnhsX19kZXZpY2VfIyN0 eXBlIyNfYWRkKGVnYywgZG9taWQsICZkX2NvbmZpZy0+dHlwZSMjc1tpXSwgXAorICAgICAgICAg ICAgbGlieGxfX2RldmljZV8jI3R5cGUjI18jI29wKGVnYywgZG9taWQsICZkX2NvbmZpZy0+dHlw ZSMjc1tpXSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW9kZXYp OyAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICB9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0KIAot REVGSU5FX0RFVklDRVNfQUREKGRpc2spCi1ERUZJTkVfREVWSUNFU19BREQobmljKQotREVGSU5F X0RFVklDRVNfQUREKHZ0cG0pCitERUZJTkVfREVWSUNFU19GVU5DKGRpc2ssIGFkZCkKK0RFRklO RV9ERVZJQ0VTX0ZVTkMobmljLCBhZGQpCitERUZJTkVfREVWSUNFU19GVU5DKHZ0cG0sIGFkZCkK KworREVGSU5FX0RFVklDRVNfRlVOQyhkaXNrLCBwcmVwYXJlKQogCi0jdW5kZWYgREVGSU5FX0RF VklDRVNfQURECisjdW5kZWYgREVGSU5FX0RFVklDRVNfRlVOQwogCiAvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLwogCkBAIC01MzYsNyArNTc5LDkgQEAgaW50IGxpYnhsX19kZXZpY2VfZGVzdHJveShs aWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZGV2aWNlICpkZXYpCiB7CiAgICAgY29uc3QgY2hhciAqYmVf cGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCBkZXYpOwogICAgIGNvbnN0IGNo YXIgKmZlX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2Zyb250ZW5kX3BhdGgoZ2MsIGRldik7CisgICAg Y29uc3QgY2hhciAqaG90cGx1Z19wYXRoID0gbGlieGxfX2RldmljZV94c19ob3RwbHVnX3BhdGgo Z2MsIGRldik7CiAgICAgY29uc3QgY2hhciAqdGFwZGlza19wYXRoID0gR0NTUFJJTlRGKCIlcy8l cyIsIGJlX3BhdGgsICJ0YXBkaXNrLXBhcmFtcyIpOworICAgIGNvbnN0IGNoYXIgKmhvdHBsdWdf c3RhdHVzID0gbGlieGxfX2RldmljZV94c19ob3RwbHVnX3N0YXR1c19wYXRoKGdjLCBkZXYpOwog ICAgIGNvbnN0IGNoYXIgKnRhcGRpc2tfcGFyYW1zOwogICAgIHhzX3RyYW5zYWN0aW9uX3QgdCA9 IDA7CiAgICAgaW50IHJjOwpAQCAtNTUxLDYgKzU5Niw4IEBAIGludCBsaWJ4bF9fZGV2aWNlX2Rl c3Ryb3kobGlieGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2KQogCiAgICAgICAgIGxpYnhs X194c19wYXRoX2NsZWFudXAoZ2MsIHQsIGZlX3BhdGgpOwogICAgICAgICBsaWJ4bF9feHNfcGF0 aF9jbGVhbnVwKGdjLCB0LCBiZV9wYXRoKTsKKyAgICAgICAgbGlieGxfX3hzX3BhdGhfY2xlYW51 cChnYywgdCwgaG90cGx1Z19wYXRoKTsKKyAgICAgICAgbGlieGxfX3hzX3BhdGhfY2xlYW51cChn YywgdCwgaG90cGx1Z19zdGF0dXMpOwogCiAgICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0 aW9uX2NvbW1pdChnYywgJnQpOwogICAgICAgICBpZiAoIXJjKSBicmVhazsKQEAgLTU3OCw2ICs2 MjUsNyBAQCB2b2lkIGxpYnhsX19kZXZpY2VzX2Rlc3Ryb3kobGlieGxfX2VnYyAqZWdjLCBsaWJ4 bF9fZGV2aWNlc19yZW1vdmVfc3RhdGUgKmRycykKICAgICBjaGFyICpwYXRoOwogICAgIHVuc2ln bmVkIGludCBudW1fa2luZHMsIG51bV9kZXZfeHNlbnRyaWVzOwogICAgIGNoYXIgKipraW5kcyA9 IE5VTEwsICoqZGV2cyA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqYmFja2VuZDsKICAgICBpbnQg aSwgaiwgcmMgPSAwOwogICAgIGxpYnhsX19kZXZpY2UgKmRldjsKICAgICBsaWJ4bF9fbXVsdGlk ZXYgKm11bHRpZGV2ID0gJmRycy0+bXVsdGlkZXY7CkBAIC02MjIsNiArNjcwLDE5IEBAIHZvaWQg bGlieGxfX2RldmljZXNfZGVzdHJveShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kZXZpY2VzX3Jl bW92ZV9zdGF0ZSAqZHJzKQogICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2Rlc3Ry b3koZ2MsIGRldik7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIENoZWNrIGlmIHRo ZSBkZXZpY2UgaGFzIGhvdHBsdWcgZW50cmllcyBpbiB4ZW5zdG9yZSwKKyAgICAgICAgICAgICAg ICAgKiB3aGljaCB3b3VsZCBtZWFuIGl0J3MgdXNpbmcgdGhlIG5ldyBob3RwbHVnIGNhbGxpbmcK KyAgICAgICAgICAgICAgICAgKiBjb252ZW50aW9uLgorICAgICAgICAgICAgICAgICAqLworICAg ICAgICAgICAgICAgIHBhdGggPSBsaWJ4bF9fZGV2aWNlX3hzX2hvdHBsdWdfcGF0aChnYywgZGV2 KTsKKyAgICAgICAgICAgICAgICBpZiAobGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLCBwYXRo KSAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAg KiBUaGlzIGRldmljZSB3aWxsIGJlIGNsZWFuZWQgaW4gdGhlIG5leHQgbG9vcCwKKyAgICAgICAg ICAgICAgICAgICAgICogc2luY2UgaXQncyB1c2luZyB0aGUgbmV3IGhvdHBsdWcgaW50ZXJmYWNl LgorICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7 CisKICAgICAgICAgICAgICAgICBhb2RldiA9IGxpYnhsX19tdWx0aWRldl9wcmVwYXJlKG11bHRp ZGV2KTsKICAgICAgICAgICAgICAgICBhb2Rldi0+YWN0aW9uID0gTElCWExfX0RFVklDRV9BQ1RJ T05fUkVNT1ZFOwogICAgICAgICAgICAgICAgIGFvZGV2LT5kZXYgPSBkZXY7CkBAIC02MzEsNiAr NjkyLDMzIEBAIHZvaWQgbGlieGxfX2RldmljZXNfZGVzdHJveShsaWJ4bF9fZWdjICplZ2MsIGxp YnhsX19kZXZpY2VzX3JlbW92ZV9zdGF0ZSAqZHJzKQogICAgICAgICB9CiAgICAgfQogCisgICAg LyogUmVtb3ZlIGRldmljZXMgdGhhdCBhcmUgdXNpbmcgaG90cGx1ZyBpbnRlcmZhY2UgdjIgKi8K KyAgICBwYXRoID0gR0NTUFJJTlRGKCIvbGlieGwvJXUvaG90cGx1Zy9zdGF0dXMvdmJkIiwgZG9t aWQpOworICAgIGRldnMgPSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdjLCBYQlRfTlVMTCwgcGF0aCwg Jm51bV9kZXZfeHNlbnRyaWVzKTsKKyAgICBpZiAoZGV2cykgeworICAgICAgICBmb3IgKGogPSAw OyBqIDwgbnVtX2Rldl94c2VudHJpZXM7IGorKykgeworICAgICAgICAgICAgcGF0aCA9IEdDU1BS SU5URigiL2xpYnhsLyV1L2hvdHBsdWcvc3RhdHVzL3ZiZC8lcyIsIGRvbWlkLCBkZXZzW2pdKTsK KyAgICAgICAgICAgIEdDTkVXKGRldik7CisgICAgICAgICAgICBpZiAobGlieGxfX3BhcnNlX2hv dHBsdWdfc3RhdHVzX3BhdGgoZ2MsIHBhdGgsIGRldikgPT0gMCkgeworICAgICAgICAgICAgICAg IGFvZGV2ID0gbGlieGxfX211bHRpZGV2X3ByZXBhcmUobXVsdGlkZXYpOworICAgICAgICAgICAg ICAgIGFvZGV2LT5kZXYgPSBkZXY7CisgICAgICAgICAgICAgICAgYW9kZXYtPmZvcmNlID0gZHJz LT5mb3JjZTsKKyAgICAgICAgICAgICAgICBhb2Rldi0+aG90cGx1Zy52ZXJzaW9uID0gMjsKKyAg ICAgICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUgZGV2aWNlIGhhcyBiZWVuIGNvbm5lY3RlZCAq LworICAgICAgICAgICAgICAgIHBhdGggPSBHQ1NQUklOVEYoIi9sb2NhbC9kb21haW4vJXUvZGV2 aWNlL3ZiZC8ldS9iYWNrZW5kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGV2LT5kb21pZCwgZGV2LT5kZXZpZCk7CisgICAgICAgICAgICAgICAgcmMgPSBsaWJ4bF9feHNf cmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwgcGF0aCwgJmJhY2tlbmQpOworICAgICAgICAgICAg ICAgIGlmIChyYykgeworICAgICAgICAgICAgICAgICAgICBhb2Rldi0+YWN0aW9uID0gTElCWExf X0RFVklDRV9BQ1RJT05fVU5QUkVQQVJFOworICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2 aWNlX2hvdHBsdWcoZWdjLCBhb2Rldik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICAgICAgICAgICAgYW9kZXYtPmFjdGlvbiA9IExJQlhMX19ERVZJQ0VfQUNUSU9OX1JFTU9W RTsKKyAgICAgICAgICAgICAgICAgICAgbGlieGxfX2luaXRpYXRlX2RldmljZV9yZW1vdmUoZWdj LCBhb2Rldik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9Cisg ICAgfQorCiAgICAgLyogY29uc29sZSAwIGZyb250ZW5kIGRpcmVjdG9yeSBpcyBub3QgdW5kZXIg L2xvY2FsL2RvbWFpbi88ZG9taWQ+L2RldmljZSAqLwogICAgIHBhdGggPSBsaWJ4bF9fc3ByaW50 ZihnYywgIi9sb2NhbC9kb21haW4vJWQvY29uc29sZS9iYWNrZW5kIiwgZG9taWQpOwogICAgIHBh dGggPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIHBhdGgpOwpAQCAtNjc1LDggKzc2Myw2 IEBAIHN0YXRpYyB2b2lkIGRldmljZV9iYWNrZW5kX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywg bGlieGxfX2V2X2RldnN0YXRlICpkcywKIHN0YXRpYyB2b2lkIGRldmljZV9iYWNrZW5kX2NsZWFu dXAobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfX2FvX2RldmljZSAqYW9kZXYpOwogCi1zdGF0aWMgdm9pZCBkZXZpY2VfaG90cGx1ZyhsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KTsKLQogc3RhdGljIHZvaWQgZGV2 aWNlX2hvdHBsdWdfdGltZW91dF9jYihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpl diwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRp bWV2YWwgKnJlcXVlc3RlZF9hYnMpOwogCkBAIC03MTEsNyArNzk3LDcgQEAgdm9pZCBsaWJ4bF9f d2FpdF9kZXZpY2VfY29ubmVjdGlvbihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2Ug KmFvZGV2KQogICAgICAgICAgKiBJZiBRZW11IGlzIHJ1bm5pbmcsIGl0IHdpbGwgc2V0IHRoZSBz dGF0ZSBvZiB0aGUgZGV2aWNlIHRvCiAgICAgICAgICAqIDQgZGlyZWN0bHksIHdpdGhvdXQgd2Fp dGluZyBpbiBzdGF0ZSAyIGZvciBhbnkgaG90cGx1ZyBleGVjdXRpb24uCiAgICAgICAgICAqLwot ICAgICAgICBkZXZpY2VfaG90cGx1ZyhlZ2MsIGFvZGV2KTsKKyAgICAgICAgbGlieGxfX2Rldmlj ZV9ob3RwbHVnKGVnYywgYW9kZXYpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC04NDMs NyArOTI5LDcgQEAgc3RhdGljIHZvaWQgZGV2aWNlX3FlbXVfdGltZW91dChsaWJ4bF9fZWdjICpl Z2MsIGxpYnhsX19ldl90aW1lICpldiwKICAgICByYyA9IGxpYnhsX194c193cml0ZV9jaGVja2Vk KGdjLCBYQlRfTlVMTCwgc3RhdGVfcGF0aCwgIjYiKTsKICAgICBpZiAocmMpIGdvdG8gb3V0Owog Ci0gICAgZGV2aWNlX2hvdHBsdWcoZWdjLCBhb2Rldik7CisgICAgbGlieGxfX2RldmljZV9ob3Rw bHVnKGVnYywgYW9kZXYpOwogICAgIHJldHVybjsKIAogb3V0OgpAQCAtODczLDcgKzk1OSw3IEBA IHN0YXRpYyB2b2lkIGRldmljZV9iYWNrZW5kX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywgbGli eGxfX2V2X2RldnN0YXRlICpkcywKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgZGV2 aWNlX2hvdHBsdWcoZWdjLCBhb2Rldik7CisgICAgbGlieGxfX2RldmljZV9ob3RwbHVnKGVnYywg YW9kZXYpOwogICAgIHJldHVybjsKIAogb3V0OgpAQCAtODg4LDcgKzk3NCw3IEBAIHN0YXRpYyB2 b2lkIGRldmljZV9iYWNrZW5kX2NsZWFudXAobGlieGxfX2djICpnYywgbGlieGxfX2FvX2Rldmlj ZSAqYW9kZXYpCiAgICAgbGlieGxfX2V2X2RldnN0YXRlX2NhbmNlbChnYywgJmFvZGV2LT5iYWNr ZW5kX2RzKTsKIH0KIAotc3RhdGljIHZvaWQgZGV2aWNlX2hvdHBsdWcobGlieGxfX2VnYyAqZWdj LCBsaWJ4bF9fYW9fZGV2aWNlICphb2RldikKK3ZvaWQgbGlieGxfX2RldmljZV9ob3RwbHVnKGxp YnhsX19lZ2MgKmVnYywgbGlieGxfX2FvX2RldmljZSAqYW9kZXYpCiB7CiAgICAgU1RBVEVfQU9f R0MoYW9kZXYtPmFvKTsKICAgICBjaGFyICpiZV9wYXRoID0gbGlieGxfX2RldmljZV9iYWNrZW5k X3BhdGgoZ2MsIGFvZGV2LT5kZXYpOwpAQCAtOTk2LDEwICsxMDgyLDEzIEBAIHN0YXRpYyB2b2lk IGRldmljZV9ob3RwbHVnX2NoaWxkX2RlYXRoX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAg aWYgKGhvdHBsdWdfZXJyb3IpCiAgICAgICAgICAgICBMT0coRVJST1IsICJzY3JpcHQ6ICVzIiwg aG90cGx1Z19lcnJvcik7CiAgICAgICAgIGFvZGV2LT5yYyA9IEVSUk9SX0ZBSUw7Ci0gICAgICAg IGlmIChhb2Rldi0+YWN0aW9uID09IExJQlhMX19ERVZJQ0VfQUNUSU9OX0FERCkKKyAgICAgICAg aWYgKGFvZGV2LT5hY3Rpb24gPT0gTElCWExfX0RFVklDRV9BQ1RJT05fQUREIHx8CisgICAgICAg ICAgICBhb2Rldi0+YWN0aW9uID09IExJQlhMX19ERVZJQ0VfQUNUSU9OX1BSRVBBUkUgfHwKKyAg ICAgICAgICAgIGFvZGV2LT5hY3Rpb24gPT0gTElCWExfX0RFVklDRV9BQ1RJT05fTE9DQUxBVFRB Q0gpCiAgICAgICAgICAgICAvKgotICAgICAgICAgICAgICogT25seSBmYWlsIG9uIGRldmljZSBj b25uZWN0aW9uLCBvbiBkaXNjb25uZWN0aW9uCi0gICAgICAgICAgICAgKiBpZ25vcmUgZXJyb3Is IGFuZCBjb250aW51ZSB3aXRoIHRoZSByZW1vdmUgcHJvY2VzcworICAgICAgICAgICAgICogT25s eSBmYWlsIG9uIGRldmljZSBjb25uZWN0aW9uLCBwcmVwYXJlIG9yIGxvY2FsYXR0YWNoLAorICAg ICAgICAgICAgICogb24gb3RoZXIgY2FzZXMgaWdub3JlIGVycm9yLCBhbmQgY29udGludWUgd2l0 aCB0aGUgcmVtb3ZlCisgICAgICAgICAgICAgKiBwcm9jZXNzLgogICAgICAgICAgICAgICovCiAg ICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CkBAIC0xMDA5LDcgKzEwOTgsNyBAQCBzdGF0 aWMgdm9pZCBkZXZpY2VfaG90cGx1Z19jaGlsZF9kZWF0aF9jYihsaWJ4bF9fZWdjICplZ2MsCiAg ICAgICogZGV2aWNlX2hvdHBsdWdfZG9uZSBicmVha2luZyB0aGUgbG9vcC4KICAgICAgKi8KICAg ICBhb2Rldi0+aG90cGx1Zy5udW1fZXhlYysrOwotICAgIGRldmljZV9ob3RwbHVnKGVnYywgYW9k ZXYpOworICAgIGxpYnhsX19kZXZpY2VfaG90cGx1ZyhlZ2MsIGFvZGV2KTsKIAogICAgIHJldHVy bjsKIApAQCAtMTAyMSwxNyArMTExMCw4NyBAQCBlcnJvcjoKIHN0YXRpYyB2b2lkIGRldmljZV9o b3RwbHVnX2RvbmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYW9fZGV2aWNlICphb2RldikKIHsK ICAgICBTVEFURV9BT19HQyhhb2Rldi0+YW8pOworICAgIGNoYXIgKmhvdHBsdWdfcGF0aDsKKyAg ICBjb25zdCBjaGFyICpwZGV2LCAqaG90cGx1Z192ZXJzaW9uOwogICAgIGludCByYzsKIAogICAg IGRldmljZV9ob3RwbHVnX2NsZWFuKGdjLCBhb2Rldik7CiAKLSAgICAvKiBDbGVhbiB4ZW5zdG9y ZSBpZiBpdCdzIGEgZGlzY29ubmVjdGlvbiAqLwotICAgIGlmIChhb2Rldi0+YWN0aW9uID09IExJ QlhMX19ERVZJQ0VfQUNUSU9OX1JFTU9WRSkgeworICAgIHN3aXRjaCAoYW9kZXYtPmFjdGlvbikg eworICAgIGNhc2UgTElCWExfX0RFVklDRV9BQ1RJT05fUkVNT1ZFOgorICAgICAgICBzd2l0Y2gg KGFvZGV2LT5ob3RwbHVnLnZlcnNpb24pIHsKKyAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAg LyogQ2xlYW4geGVuc3RvcmUgaWYgaXQncyBhIGRpc2Nvbm5lY3Rpb24gKi8KKyAgICAgICAgICAg IHJjID0gbGlieGxfX2RldmljZV9kZXN0cm95KGdjLCBhb2Rldi0+ZGV2KTsKKyAgICAgICAgICAg IGlmICghYW9kZXYtPnJjKQorICAgICAgICAgICAgICAgIGFvZGV2LT5yYyA9IHJjOworICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIC8qCisgICAgICAgICAg ICAgKiBDaGFpbiB1bnByZXBhcmUgaG90cGx1ZyBleGVjdXRpb24KKyAgICAgICAgICAgICAqIGFm dGVyIGRpc2Nvbm5lY3Rpb24gb2YgZGV2aWNlLgorICAgICAgICAgICAgICovCisgICAgICAgICAg ICBhb2Rldi0+aG90cGx1Zy5udW1fZXhlYyA9IDA7CisgICAgICAgICAgICBhb2Rldi0+YWN0aW9u ID0gTElCWExfX0RFVklDRV9BQ1RJT05fVU5QUkVQQVJFOworICAgICAgICAgICAgbGlieGxfX2Rl dmljZV9ob3RwbHVnKGVnYywgYW9kZXYpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBk ZWZhdWx0OgorICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5rbm93biBob3RwbHVnIHNjcmlwdCB2 ZXJzaW9uICglZCkiLAorICAgICAgICAgICAgICAgICAgICAgICBhb2Rldi0+aG90cGx1Zy52ZXJz aW9uKTsKKyAgICAgICAgICAgIGlmICghYW9kZXYtPnJjKQorICAgICAgICAgICAgICAgIGFvZGV2 LT5yYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAg ICBicmVhazsKKyAgICBjYXNlIExJQlhMX19ERVZJQ0VfQUNUSU9OX1VOUFJFUEFSRToKKyAgICAg ICAgLyogQ2xlYW4gaG90cGx1ZyB4ZW5zdG9yZSBwYXRoICovCiAgICAgICAgIHJjID0gbGlieGxf X2RldmljZV9kZXN0cm95KGdjLCBhb2Rldi0+ZGV2KTsKICAgICAgICAgaWYgKCFhb2Rldi0+cmMp CiAgICAgICAgICAgICBhb2Rldi0+cmMgPSByYzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBM SUJYTF9fREVWSUNFX0FDVElPTl9BREQ6CisgICAgICAgIGlmIChhb2Rldi0+aG90cGx1Zy52ZXJz aW9uID09IDEpCisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgLyoKKyAgICAgICAgICog VXBkYXRlIHBkZXZfcGF0aCBpbiBsaWJ4bF9kZXZpY2VfZGlzayB0byBwb2ludCB0byB0aGUgYmxv Y2sKKyAgICAgICAgICogZGV2aWNlCisgICAgICAgICAqLworICAgICAgICBob3RwbHVnX3BhdGgg PSBsaWJ4bF9fZGV2aWNlX3hzX2hvdHBsdWdfcGF0aChnYywgYW9kZXYtPmRldik7CisgICAgICAg IHJjID0gbGlieGxfX3hzX3JlYWRfY2hlY2tlZChnYywgWEJUX05VTEwsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL3BkZXYiLCBob3RwbHVnX3BhdGgp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBkZXYpOworICAgICAgICBp ZiAocmMgfHwgIXBkZXYpIHsKKyAgICAgICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBnZXQg cGh5c2ljYWwgZGlzayBmcm9tICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRG KCIlcy9wZGV2IiwgaG90cGx1Z19wYXRoKSk7CisgICAgICAgICAgICBhb2Rldi0+cmMgPSByYyA/ IHJjIDogRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAg ICAgICAgZnJlZShhb2Rldi0+ZGlzay0+cGRldl9wYXRoKTsKKyAgICAgICAgYW9kZXYtPmRpc2st PnBkZXZfcGF0aCA9IGxpYnhsX19zdHJkdXAoTk9HQywgcGRldik7CisgICAgICAgIGJyZWFrOwor ICAgIGNhc2UgTElCWExfX0RFVklDRV9BQ1RJT05fVkVSU0lPTjoKKyAgICAgICAgLyogRmV0Y2gg aG90cGx1ZyB2ZXJzaW9uIG91dHB1dCAqLworICAgICAgICBob3RwbHVnX3BhdGggPSBsaWJ4bF9f ZGV2aWNlX3hzX2hvdHBsdWdfcGF0aChnYywgYW9kZXYtPmRldik7CisgICAgICAgIHJjID0gbGli eGxfX3hzX3JlYWRfY2hlY2tlZChnYywgWEJUX05VTEwsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL3ZlcnNpb24iLCBob3RwbHVnX3BhdGgpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhvdHBsdWdfdmVyc2lvbik7CisgICAg ICAgIGlmIChyYykgeworICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIGdldCBob3Rw bHVnX3ZlcnNpb24gZnJvbSAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigi JXMvdmVyc2lvbiIsIGhvdHBsdWdfcGF0aCkpOworICAgICAgICAgICAgYW9kZXYtPnJjID0gcmM7 CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgICAgICBpZiAoIWhvdHBsdWdf dmVyc2lvbikKKyAgICAgICAgICAgIGFvZGV2LT5kaXNrLT5ob3RwbHVnX3ZlcnNpb24gPSAxOwor ICAgICAgICBlbHNlCisgICAgICAgICAgICBhb2Rldi0+ZGlzay0+aG90cGx1Z192ZXJzaW9uID0g YXRvaShob3RwbHVnX3ZlcnNpb24pOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg ICAgICBicmVhazsKICAgICB9CiAKK291dDoKICAgICBhb2Rldi0+Y2FsbGJhY2soZWdjLCBhb2Rl dik7CiAgICAgcmV0dXJuOwogfQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggZmUwYjIwZC4uZDk1N2Vk MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0yMDE4LDYgKzIwMTgsOSBAQCBzdHJ1Y3QgbGlieGxf X211bHRpZGV2IHsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZGV2aWNlX2Rpc2tfYWRkKGxpYnhsX19l Z2MgKmVnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KTsKK19oaWRkZW4gdm9pZCBsaWJ4bF9f ZGV2aWNlX2Rpc2tfcHJlcGFyZShsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICpk aXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19hb19k ZXZpY2UgKmFvZGV2KTsKIAogLyogQU8gb3BlcmF0aW9uIHRvIGNvbm5lY3QgYSBuaWMgZGV2aWNl ICovCiBfaGlkZGVuIHZvaWQgbGlieGxfX2RldmljZV9uaWNfYWRkKGxpYnhsX19lZ2MgKmVnYywg dWludDMyX3QgZG9taWQsCkBAIC0yMDcwLDYgKzIwNzMsMjMgQEAgX2hpZGRlbiB2b2lkIGxpYnhs X19pbml0aWF0ZV9kZXZpY2VfcmVtb3ZlKGxpYnhsX19lZ2MgKmVnYywKIF9oaWRkZW4gY2hhciAq bGlieGxfX2RldmljZV94c19ob3RwbHVnX3BhdGgobGlieGxfX2djICpnYywgbGlieGxfX2Rldmlj ZSAqZGV2KTsKIAogLyoKKyAqIGxpYnhsX19kZXZpY2VfeHNfaG90cGx1Z19zdGF0dXNfcGF0aCBy ZXR1cm5zIHRoZSB4ZW5zdG9yZSBob3RwbHVnCisgKiBwYXRoIHRoYXQgaXMgdXNlZCB0byBzdG9y ZSBzdGF0dXMgaW5mb3JtYXRpb24gYWJvdXQgYSBkZXZpY2UgdGhhdAorICogaXMgdXNpbmcgdGhl IHYyIGhvdHBsdWcgaW50ZXJmYWNlLgorICovCitfaGlkZGVuIGNoYXIgKmxpYnhsX19kZXZpY2Vf eHNfaG90cGx1Z19zdGF0dXNfcGF0aChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZSAqZGV2KTsKKwor LyoKKyAqIGxpYnhsX19wYXJzZV9ob3RwbHVnX3N0YXR1c19wYXRoIHJldHVybnMgYSBkZXZpY2Ug dGhhdCBpcyBmaWxsZWQKKyAqIHdpdGggdGhlIGluZm9ybWF0aW9uIHN0b3JlZCBpbiB4ZW5zdG9y ZS4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkCisgKiBvbiBkZXZpY2VzIHRoYXQgdXNlIHRoZSB2 MiBob3RwbHVnIGludGVyZmFjZQorICovCitfaGlkZGVuIGludCBsaWJ4bF9fcGFyc2VfaG90cGx1 Z19zdGF0dXNfcGF0aChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2UgKmRldik7CisKKy8qCiAgKiBs aWJ4bF9fZ2V0X2hvdHBsdWdfc2NyaXB0X2luZm8gcmV0dXJucyB0aGUgYXJncyBhbmQgZW52IHRo YXQgc2hvdWxkCiAgKiBiZSBwYXNzZWQgdG8gdGhlIGhvdHBsdWcgc2NyaXB0IGZvciB0aGUgcmVx dWVzdGVkIGRldmljZS4KICAqCkBAIC0yMDkyLDYgKzIxMTIsMjggQEAgX2hpZGRlbiBpbnQgbGli eGxfX2dldF9ob3RwbHVnX3NjcmlwdF9pbmZvKGxpYnhsX19nYyAqZ2MsIGxpYnhsX19kZXZpY2Ug KmRldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f ZGV2aWNlX2FjdGlvbiBhY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2hvdHBsdWcgKmhvdHBsdWcpOwogCisvKgorICogbGlieGxfX2Rldmlj ZV9ob3RwbHVnIHJ1bnMgdGhlIGhvdHBsdWcgc2NyaXB0IGFzc29jaWF0ZWQKKyAqIHdpdGggdGhl IGRldmljZSBwYXNzZWQgaW4gYW9kZXYtPmRldi4KKyAqCisgKiBUaGUgbGlieGxfX2FvX2Rldmlj ZSBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUKKyAqIHByZXBhcmVkIHVzaW5nIGxp YnhsX19wcmVwYXJlX2FvX2RldmljZSBwcmlvciB0byBjYWxsaW5nCisgKiB0aGlzIGZ1bmN0aW9u LgorICoKKyAqIE9uY2UgZmluaXNoZWQsIGFvZGV2LT5jYWxsYmFjayB3aWxsIGJlIGV4ZWN1dGVk LgorICovCitfaGlkZGVuIHZvaWQgbGlieGxfX2RldmljZV9ob3RwbHVnKGxpYnhsX19lZ2MgKmVn YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2FvX2RldmljZSAq YW9kZXYpOworCisvKiBJbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gaG9sZCBkZXZpY2VfZGlza19wcmVw YXJlIHNwZWNpZmljIGluZm9ybWF0aW9uICovCit0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fZGlza19w cmVwYXJlIGxpYnhsX19kaXNrX3ByZXBhcmU7CitzdHJ1Y3QgbGlieGxfX2Rpc2tfcHJlcGFyZSB7 CisgICAgbGlieGxfX2FvX2RldmljZSB2ZXJzaW9uX2FvZGV2OworICAgIGxpYnhsX19hb19kZXZp Y2UgKmFvZGV2OworICAgIGxpYnhsX2RldmljZV9kaXNrICpkaXNrOworICAgIGxpYnhsX19kZXZp Y2VfY2FsbGJhY2sgKmNhbGxiYWNrOworfTsKKwogLyotLS0tLSBsb2NhbCBkaXNrIGF0dGFjaDog YXR0YWNoIGEgZGlzayBsb2NhbGx5IHRvIHJ1biB0aGUgYm9vdGxvYWRlciAtLS0tLSovCiAKIHR5 cGVkZWYgc3RydWN0IGxpYnhsX19kaXNrX2xvY2FsX3N0YXRlIGxpYnhsX19kaXNrX2xvY2FsX3N0 YXRlOwpAQCAtMjQ2NSw2ICsyNTA3LDExIEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fYWRkX2Rpc2tz KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2FvICphbywgdWludDMyX3QgZG9taWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYpOwog CitfaGlkZGVuIHZvaWQgbGlieGxfX3ByZXBhcmVfZGlza3MobGlieGxfX2VnYyAqZWdjLCBsaWJ4 bF9fYW8gKmFvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRv bWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25m aWcgKmRfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19t dWx0aWRldiAqbXVsdGlkZXYpOworCiBfaGlkZGVuIHZvaWQgbGlieGxfX2FkZF9uaWNzKGxpYnhs X19lZ2MgKmVnYywgbGlieGxfX2FvICphbywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2KTsKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVz LmlkbAppbmRleCA1YjA4MGVkLi5hYzgzNjFiIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC0zNzAsNiAr MzcwLDcgQEAgbGlieGxfZGV2aWNlX2Rpc2sgPSBTdHJ1Y3QoImRldmljZV9kaXNrIiwgWwogICAg ICgicmVtb3ZhYmxlIiwgaW50ZWdlciksCiAgICAgKCJyZWFkd3JpdGUiLCBpbnRlZ2VyKSwKICAg ICAoImlzX2Nkcm9tIiwgaW50ZWdlciksCisgICAgKCJob3RwbHVnX3ZlcnNpb24iLCBpbnRlZ2Vy KSwKICAgICBdKQogCiBsaWJ4bF9kZXZpY2VfbmljID0gU3RydWN0KCJkZXZpY2VfbmljIiwgWwot LSAKMS43LjcuNSAoQXBwbGUgR2l0LTI2KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==