From: Oleksandr Grytsov Subject: [PATCH] libxl: remove list callback from device framework Date: Fri, 22 Sep 2017 14:38:08 +0300 Message-ID: <1506080288-20502-2-git-send-email-al1img@gmail.com> References: <1506080288-20502-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 1dvMHn-0001TE-84 for xen-devel@lists.xenproject.org; Fri, 22 Sep 2017 11:38:23 +0000 Received: by mail-lf0-f65.google.com with SMTP id h80so478039lfe.1 for ; Fri, 22 Sep 2017 04:38:21 -0700 (PDT) In-Reply-To: <1506080288-20502-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 RnJvbTogT2xla3NhbmRyIEdyeXRzb3YgPG9sZWtzYW5kcl9ncnl0c292QGVwYW0uY29tPgoKQXMg d2UgaGF2ZSBnZW5lcmljIGZ1bmN0aW9ucyB0byBnZXQgZGV2aWNlIGxpc3QKKGxpYnhsX19kZXZp Y2VfbGlzdCkgbm8gbmVlZCB0byBoYXZlIGNhbGxiYWNrIGluCnRoZSBmcmFtZXdvcmsuIFRvIHJl c29sdmUgaXNzdWUgd2hlbiBYUyBlbnRyeQpkb2Vzbid0IG1hdGNoIGRldmljZSBuYW1lLCBkZXZp Y2UgdHlwZSBpcwpleHRlbmRlZCB3aXRoIGZpZWxkICJlbnRyeSIgd2hpY2gga2VlcHMgWFMgZW50 cnkuCgpTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgR3J5dHNvdiA8b2xla3NhbmRyX2dyeXRzb3ZA ZXBhbS5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2ludF9kZXZpY2UuYyB8ICA0 ICsrLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9fc2F2ZS5jICAgICAgICAgfCAgMiArLQogdG9v bHMvbGlieGwvbGlieGxfZGV2aWNlLmMgICAgICAgICAgICB8ICA0ICsrLS0KIHRvb2xzL2xpYnhs L2xpYnhsX2Rpc2suYyAgICAgICAgICAgICAgfCAyNCArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHRvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jICAgICAgICAgICAgfCAgNCArKy0tCiB0b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICAgICAgIHwgMzAgKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9uaWMuYyAgICAgICAgICAgICAgIHwgIDYgKysr LS0tCiB0b29scy9saWJ4bC9saWJ4bF9wY2kuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIHRvb2xz L2xpYnhsL2xpYnhsX3ZkaXNwbC5jICAgICAgICAgICAgfCAyMyArKy0tLS0tLS0tLS0tLS0tLS0t LS0tLQogdG9vbHMvbGlieGwvbGlieGxfdnRwbS5jICAgICAgICAgICAgICB8IDIzICsrKy0tLS0t LS0tLS0tLS0tLS0tLS0tCiAxMCBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCA3OCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2Rl dmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2ludF9kZXZpY2UuYwppbmRleCBlZjIx MmU0Li5mNjM5NWRjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2Rl dmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMKQEAgLTY0 LDExICs2NCwxMSBAQCB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAobGlieGxf X2VnYyAqZWdjLAogCiAgICAgaWYgKGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgJiAoMSA8PCBMSUJY TF9fREVWSUNFX0tJTkRfVklGKSkKICAgICAgICAgY2RzLT5uaWNzID0gbGlieGxfX2RldmljZV9s aXN0KGdjLCAmbGlieGxfX25pY19kZXZ0eXBlLCBjZHMtPmRvbWlkLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInZpZiIsICZjZHMtPm51bV9uaWNzKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjZHMtPm51bV9uaWNzKTsKIAogICAgIGlm IChjZHMtPmRldmljZV9raW5kX2ZsYWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCkp CiAgICAgICAgIGNkcy0+ZGlza3MgPSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9fZGlz a19kZXZ0eXBlLCBjZHMtPmRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ2YmQiLCAmY2RzLT5udW1fZGlza3MpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZjZHMtPm51bV9kaXNrcyk7CiAKICAgICBpZiAoY2RzLT5udW1fbmlj cyA9PSAwICYmIGNkcy0+bnVtX2Rpc2tzID09IDApCiAgICAgICAgIGdvdG8gb3V0OwpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY29sb19zYXZlLmMgYi90b29scy9saWJ4bC9saWJ4bF9j b2xvX3NhdmUuYwppbmRleCA0M2Y3ZGJlLi4zMjQ3Y2NlIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bF9jb2xvX3NhdmUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYwpA QCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgbGlieGxfX2NvbG9fc2F2ZV9zZXR1cChsaWJ4bF9fZWdj ICplZ2MsIGxpYnhsX19jb2xvX3NhdmVfc3RhdGUgKmNzcykKIAogICAgICAgICAvKiBVc2UgdGhp cyBhcmdzIHdlIGNhbiBjb25uZWN0IHRvIHFlbXUgY29sby1jb21wYXJlICovCiAgICAgICAgIGNk cy0+bmljcyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX19uaWNfZGV2dHlwZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkcy0+ZG9taWQsICJ2aWYiLCAm Y2RzLT5udW1fbmljcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj ZHMtPmRvbWlkLCAmY2RzLT5udW1fbmljcyk7CiAgICAgICAgIGlmIChjZHMtPm51bV9uaWNzID4g MCkgewogICAgICAgICAgICAgY3NzLT5jcHMuY2hlY2twb2ludF9ob3N0ID0gY2RzLT5uaWNzWzBd LmNvbG9fY2hlY2twb2ludF9ob3N0OwogICAgICAgICAgICAgY3NzLT5jcHMuY2hlY2twb2ludF9w b3J0ID0gY2RzLT5uaWNzWzBdLmNvbG9fY2hlY2twb2ludF9wb3J0OwpkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYwppbmRl eCA2N2I3YWZiLi40NmNhNWE0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kZXZpY2Uu YworKysgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYwpAQCAtMTk4OSw3ICsxOTg5LDcgQEAg b3V0OgogfQogCiB2b2lkICpsaWJ4bF9fZGV2aWNlX2xpc3QobGlieGxfX2djICpnYywgY29uc3Qg c3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBkb21pZCwgY29uc3QgY2hhciogbmFtZSwgaW50ICpudW0pCisgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgZG9taWQsIGludCAqbnVtKQogewogICAgIHZvaWQgKnIgPSBO VUxMOwogICAgIHZvaWQgKmxpc3QgPSBOVUxMOwpAQCAtMjAwMiw3ICsyMDAyLDcgQEAgdm9pZCAq bGlieGxfX2RldmljZV9saXN0KGxpYnhsX19nYyAqZ2MsIGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZp Y2VfdHlwZSAqZHQsCiAgICAgKm51bSA9IDA7CiAKICAgICBsaWJ4bF9wYXRoID0gR0NTUFJJTlRG KCIlcy9kZXZpY2UvJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2xp YnhsX3BhdGgoZ2MsIGRvbWlkKSwgbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLCBkdC0+ZW50cnkpOwogCiAgICAgZGlyID0g bGlieGxfX3hzX2RpcmVjdG9yeShnYywgWEJUX05VTEwsIGxpYnhsX3BhdGgsICZuZGlycyk7CiAK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rpc2suYyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2Rpc2suYwppbmRleCAwNmRkNGQzLi4yNDYyMjdiIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9kaXNrLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZGlzay5jCkBAIC02MjIsMjQgKzYy Miw2IEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKLWxpYnhsX2RldmljZV9kaXNrICpsaWJ4 bF9kZXZpY2VfZGlza19saXN0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50ICpu dW0pCi17Ci0gICAgbGlieGxfZGV2aWNlX2Rpc2sgKnI7Ci0KLSAgICBHQ19JTklUKGN0eCk7Ci0K LSAgICByID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX2Rpc2tfZGV2dHlwZSwgZG9t aWQsICJ2YmQiLCBudW0pOwotCi0gICAgR0NfRlJFRTsKLQotICAgIHJldHVybiByOwotfQotCi12 b2lkIGxpYnhsX2RldmljZV9kaXNrX2xpc3RfZnJlZShsaWJ4bF9kZXZpY2VfZGlzayAqbGlzdCwg aW50IG51bSkKLXsKLSAgICBsaWJ4bF9fZGV2aWNlX2xpc3RfZnJlZSgmbGlieGxfX2Rpc2tfZGV2 dHlwZSwgbGlzdCwgbnVtKTsKLX0KLQogaW50IGxpYnhsX2RldmljZV9kaXNrX2dldGluZm8obGli eGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssIGxpYnhsX2Rpc2tpbmZvICpkaXNraW5mbykKIHsK QEAgLTc0MSw3ICs3MjMsNyBAQCBpbnQgbGlieGxfY2Ryb21faW5zZXJ0KGxpYnhsX2N0eCAqY3R4 LCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCiAgICAgICAgIGdvdG8g b3V0OwogICAgIH0KIAotICAgIGRpc2tzID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxf X2Rpc2tfZGV2dHlwZSwgZG9taWQsICJ2YmQiLCAmbnVtKTsKKyAgICBkaXNrcyA9IGxpYnhsX19k ZXZpY2VfbGlzdChnYywgJmxpYnhsX19kaXNrX2RldnR5cGUsIGRvbWlkLCAmbnVtKTsKICAgICBm b3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKICAgICAgICAgaWYgKGRpc2tzW2ldLmlzX2Nkcm9t ICYmICFzdHJjbXAoZGlzay0+dmRldiwgZGlza3NbaV0udmRldikpCiAgICAgICAgIHsKQEAgLTEy MDEsOSArMTE4MywxMSBAQCBzdGF0aWMgaW50IGxpYnhsX2RldmljZV9kaXNrX2RtX25lZWRlZCh2 b2lkICplLCB1bnNpZ25lZCBkb21pZCkKICAgICAgICAgICAgZWxlbS0+YmFja2VuZF9kb21pZCA9 PSBkb21pZDsKIH0KIAorTElCWExfREVGSU5FX0RFVklDRV9MSVNUKGRpc2spCisKICNkZWZpbmUg bGlieGxfX2RldmljZV9kaXNrX3VwZGF0ZV9kZXZpZCBOVUxMCiAKLURFRklORV9ERVZJQ0VfVFlQ RV9TVFJVQ1QoZGlzaywKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChkaXNrLCBkaXNrLCB2 YmQsCiAgICAgLm1lcmdlICAgICAgID0gbGlieGxfZGV2aWNlX2Rpc2tfbWVyZ2UsCiAgICAgLmRt X25lZWRlZCAgID0gbGlieGxfZGV2aWNlX2Rpc2tfZG1fbmVlZGVkLAogICAgIC5mcm9tX3hlbnN0 b3JlID0gKGludCAoKikobGlieGxfX2djICosIGNvbnN0IGNoYXIgKiwgbGlieGxfZGV2aWQsIHZv aWQgKikpCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21haW4uYyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2RvbWFpbi5jCmluZGV4IDA4ZWNjZDAuLjA0MzRhYjkgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5j CkBAIC0xNjc5LDExICsxNjc5LDExIEBAIGludCBsaWJ4bF9yZXRyaWV2ZV9kb21haW5fY29uZmln dXJhdGlvbihsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICBpZiAo IWR0KQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBpZiAoIWR0LT5saXN0 IHx8ICFkdC0+Y29tcGFyZSkKKyAgICAgICAgICAgIGlmICghZHQtPmNvbXBhcmUpCiAgICAgICAg ICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIG51bV9kZXYgPSBsaWJ4bF9fZGV2aWNl X3R5cGVfZ2V0X251bShkdCwgZF9jb25maWcpOwotICAgICAgICAgICAgcCA9IGR0LT5saXN0KENU WCwgZG9taWQsICZudW0pOworICAgICAgICAgICAgcCA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywg ZHQsIGRvbWlkLCAmbnVtKTsKICAgICAgICAgICAgIGlmIChwID09IE5VTEwpIHsKICAgICAgICAg ICAgICAgICBMT0dEKERFQlVHLCBkb21pZCwgIk5vICVzIGZyb20geGVuc3RvcmUiLAogICAgICAg ICAgICAgICAgICAgICAgZHQtPnR5cGUpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggODFlODdhZS4u NGEwODg0MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zNDYxLDE1ICszNDYxLDM0IEBAIF9oaWRk ZW4gdm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2VnYyosIGxpYnhsX19ib290bG9h ZGVyX3N0YXRlICpzdCk7CiAgICAgTElCWExfREVGSU5FX0RFVklDRV9SRU1PVkVfRVhUKHR5cGUs IHR5cGUsIHJlbW92ZSwgMCkgICAgICAgICAgICAgICBcCiAgICAgTElCWExfREVGSU5FX0RFVklD RV9SRU1PVkVfRVhUKHR5cGUsIHR5cGUsIGRlc3Ryb3ksIDEpCiAKKyNkZWZpbmUgTElCWExfREVG SU5FX0RFVklDRV9MSVNUKHR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KyAgICBsaWJ4bF9kZXZpY2VfIyN0eXBlICpsaWJ4bF9kZXZpY2VfIyN0eXBlIyNfbGlzdChsaWJ4 bF9jdHggKmN0eCwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKm51bSkgICAgICAgICAgIFwKKyAg ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgbGlieGxfZGV2aWNlXyMjdHlwZSAqcjsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgR0NfSU5JVChjdHgpOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgciA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX18jI3R5cGUjI19kZXZ0eXBlLCAg ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZCwgbnVtKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgR0NfRlJFRTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg cmV0dXJuIHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2b2lkIGxp YnhsX2RldmljZV8jI3R5cGUjI19saXN0X2ZyZWUobGlieGxfZGV2aWNlXyMjdHlwZSAqbGlzdCwg ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG51bSkg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbGlieGxf X2RldmljZV9saXN0X2ZyZWUoJmxpYnhsX18jI3R5cGUjI19kZXZ0eXBlLCBsaXN0LCBudW0pOyAg IFwKKyAgICB9CisKIHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSB7CiAgICAgY2hhciAqdHlwZTsK KyAgICBjaGFyICplbnRyeTsKICAgICBpbnQgc2tpcF9hdHRhY2g7ICAgLyogU2tpcCBlbnRyeSBp biBkb21jcmVhdGVfYXR0YWNoX2RldmljZXMoKSBpZiAxICovCiAgICAgaW50IHB0cl9vZmZzZXQ7 ICAgIC8qIE9mZnNldCBvZiBkZXZpY2UgYXJyYXkgcHRyIGluIGxpYnhsX2RvbWFpbl9jb25maWcg Ki8KICAgICBpbnQgbnVtX29mZnNldDsgICAgLyogT2Zmc2V0IG9mICMgb2YgZGV2aWNlcyBpbiBs aWJ4bF9kb21haW5fY29uZmlnICovCiAgICAgaW50IGRldl9lbGVtX3NpemU7IC8qIFNpemUgb2Yg b25lIGRldmljZSBlbGVtZW50IGluIGFycmF5ICovCiAgICAgdm9pZCAoKmFkZCkobGlieGxfX2Vn YyAqLCBsaWJ4bF9fYW8gKiwgdWludDMyX3QsIGxpYnhsX2RvbWFpbl9jb25maWcgKiwKICAgICAg ICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKik7Ci0gICAgdm9pZCAqKCpsaXN0KShsaWJ4bF9j dHggKiwgdWludDMyX3QsIGludCAqKTsKICAgICBpbnQgKCpzZXRfZGVmYXVsdCkobGlieGxfX2dj ICosIHVpbnQzMl90LCB2b2lkICosIGJvb2wpOwogICAgIGludCAoKnRvX2RldmljZSkobGlieGxf X2djICosIHVpbnQzMl90LCB2b2lkICosIGxpYnhsX19kZXZpY2UgKik7CiAgICAgdm9pZCAoKmlu aXQpKHZvaWQgKik7CkBAIC0zNDg1LDE1ICszNTA0LDE0IEBAIHN0cnVjdCBsaWJ4bF9kZXZpY2Vf dHlwZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleGFycmF5X3QgKiwgZmxl eGFycmF5X3QgKik7CiB9OwogCi0jZGVmaW5lIERFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChu YW1lLCBzbmFtZSwgLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBERUZJ TkVfREVWSUNFX1RZUEVfU1RSVUNUX1gobmFtZSwgc25hbWUsIHNlbnRyeSwgLi4uKSAgICAgICAg ICAgICAgICAgIFwKICAgICBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgbGlieGxfXyAj IyBuYW1lICMjIF9kZXZ0eXBlID0geyAgICAgICAgICAgICBcCiAgICAgICAgIC50eXBlICAgICAg ICAgID0gI3NuYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgICAuZW50cnkgICAgICAgICA9ICNzZW50cnksICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgLnB0cl9vZmZzZXQgICAgPSBv ZmZzZXRvZihsaWJ4bF9kb21haW5fY29uZmlnLCBuYW1lICMjIHMpLCAgICAgICAgICAgICBcCiAg ICAgICAgIC5udW1fb2Zmc2V0ICAgID0gb2Zmc2V0b2YobGlieGxfZG9tYWluX2NvbmZpZywgbnVt XyAjIyBuYW1lICMjIHMpLCAgICAgXAogICAgICAgICAuZGV2X2VsZW1fc2l6ZSA9IHNpemVvZihs aWJ4bF9kZXZpY2VfICMjIHNuYW1lKSwgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg LmFkZCAgICAgICAgICAgPSBsaWJ4bF9fYWRkXyAjIyBuYW1lICMjIHMsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0gICAgICAgIC5saXN0ICAgICAgICAgID0gKHZvaWQgKigqKShsaWJ4 bF9jdHggKiwgdWludDMyX3QsIGludCAqKSkgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX2RldmljZV8gIyMgc25hbWUgIyMgX2xpc3QsICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgLnNldF9kZWZhdWx0ICAgPSAoaW50ICgqKShsaWJ4bF9fZ2MgKiwg dWludDMyX3QsIHZvaWQgKiwgYm9vbCkpXAogICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X19kZXZpY2VfICMjIHNuYW1lICMjIF9zZXRkZWZhdWx0LCAgICAgICAgICAgICAgIFwKICAgICAg ICAgLnRvX2RldmljZSAgICAgPSAoaW50ICgqKShsaWJ4bF9fZ2MgKiwgdWludDMyX3QsICAgICAg ICAgICAgICAgICAgICAgICBcCkBAIC0zNTExLDcgKzM1MjksNyBAQCBzdHJ1Y3QgbGlieGxfZGV2 aWNlX3R5cGUgewogICAgIH0KIAogI2RlZmluZSBERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKG5h bWUsIC4uLikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBERUZJTkVf REVWSUNFX1RZUEVfU1RSVUNUX1gobmFtZSwgbmFtZSwgX19WQV9BUkdTX18pCisgICAgREVGSU5F X0RFVklDRV9UWVBFX1NUUlVDVF9YKG5hbWUsIG5hbWUsIG5hbWUsIF9fVkFfQVJHU19fKQogCiBz dGF0aWMgaW5saW5lIHZvaWQgKipsaWJ4bF9fZGV2aWNlX3R5cGVfZ2V0X3B0cigKICAgICBjb25z dCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgKmR0LCBjb25zdCBsaWJ4bF9kb21haW5fY29uZmln ICpkX2NvbmZpZykKQEAgLTQzMjMsNyArNDM0MSw3IEBAIGludCBsaWJ4bF9fZGV2aWNlX2FkZChs aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAqIGxpYnhsX19kZXZpY2VfbGlzdF9mcmVl CiAgKi8KIHZvaWQqIGxpYnhsX19kZXZpY2VfbGlzdChsaWJ4bF9fZ2MgKmdjLCBjb25zdCBzdHJ1 Y3QgbGlieGxfZGV2aWNlX3R5cGUgKmR0LAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IGRvbWlkLCBjb25zdCBjaGFyKiBuYW1lLCBpbnQgKm51bSk7CisgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZG9taWQsIGludCAqbnVtKTsKIHZvaWQgbGlieGxfX2RldmljZV9s aXN0X2ZyZWUoY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqbGlzdCwgaW50IG51bSk7CiAjZW5kaWYKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX25pYy5jIGIvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKaW5k ZXggZDgxYjk1Yi4uMDc4YzQwYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfbmljLmMK KysrIGIvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKQEAgLTI5LDcgKzI5LDcgQEAgaW50IGxpYnhs X21hY190b19kZXZpY2VfbmljKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICBp ZiAocmMpCiAgICAgICAgIHJldHVybiByYzsKIAotICAgIG5pY3MgPSBsaWJ4bF9fZGV2aWNlX2xp c3QoZ2MsICZsaWJ4bF9fbmljX2RldnR5cGUsIGRvbWlkLCAidmlmIiwgJm5iKTsKKyAgICBuaWNz ID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX25pY19kZXZ0eXBlLCBkb21pZCwgJm5i KTsKICAgICBpZiAoIW5pY3MpCiAgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOwogCkBAIC00MjYs NyArNDI2LDcgQEAgbGlieGxfZGV2aWNlX25pYyAqbGlieGxfZGV2aWNlX25pY19saXN0KGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50ICpudW0KIAogICAgIEdDX0lOSVQoY3R4KTsK IAotICAgIHIgPSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9fbmljX2RldnR5cGUsIGRv bWlkLCAidmlmIiwgbnVtKTsKKyAgICByID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxf X25pY19kZXZ0eXBlLCBkb21pZCwgbnVtKTsKIAogICAgIEdDX0ZSRUU7CiAKQEAgLTU0MCw3ICs1 NDAsNyBAQCBMSUJYTF9ERUZJTkVfREVWSUNFX0FERChuaWMpCiBMSUJYTF9ERUZJTkVfREVWSUNF U19BREQobmljKQogTElCWExfREVGSU5FX0RFVklDRV9SRU1PVkUobmljKQogCi1ERUZJTkVfREVW SUNFX1RZUEVfU1RSVUNUKG5pYywKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChuaWMsIG5p YywgdmlmLAogICAgIC51cGRhdGVfY29uZmlnID0gbGlieGxfZGV2aWNlX25pY191cGRhdGVfY29u ZmlnLAogICAgIC5mcm9tX3hlbnN0b3JlID0gKGludCAoKikobGlieGxfX2djICosIGNvbnN0IGNo YXIgKiwgbGlieGxfZGV2aWQsIHZvaWQgKikpCiAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f bmljX2Zyb21feGVuc3RvcmUsCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9wY2kuYyBi L3Rvb2xzL2xpYnhsL2xpYnhsX3BjaS5jCmluZGV4IGY5MjllNWEuLjg4YTU1Y2UgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3BjaS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3BjaS5j CkBAIC0xNjgyLDcgKzE2ODIsNyBAQCBzdGF0aWMgaW50IGxpYnhsX2RldmljZV9wY2lfY29tcGFy ZShsaWJ4bF9kZXZpY2VfcGNpICpkMSwKIAogI2RlZmluZSBsaWJ4bF9fZGV2aWNlX3BjaV91cGRh dGVfZGV2aWQgTlVMTAogCi1ERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUX1gocGNpZGV2LCBwY2kp OworREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVF9YKHBjaWRldiwgcGNpLCBwY2kpOwogCiAvKgog ICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdmRpc3Bs LmMgYi90b29scy9saWJ4bC9saWJ4bF92ZGlzcGwuYwppbmRleCBiZWZjNTZiLi4zMjM3YjlmIDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF92ZGlzcGwuYworKysgYi90b29scy9saWJ4bC9s aWJ4bF92ZGlzcGwuYwpAQCAtOTQsMjUgKzk0LDYgQEAgc3RhdGljIGludCBsaWJ4bF9fc2V0X3hl bnN0b3JlX3ZkaXNwbChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICByZXR1cm4g MDsKIH0KIAotbGlieGxfZGV2aWNlX3ZkaXNwbCAqbGlieGxfZGV2aWNlX3ZkaXNwbF9saXN0KGxp YnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgKm51bSkKLXsKLSAgICBsaWJ4bF9kZXZpY2VfdmRpc3Bs ICpyOwotCi0gICAgR0NfSU5JVChjdHgpOwotCi0gICAgciA9IGxpYnhsX19kZXZpY2VfbGlzdChn YywgJmxpYnhsX192ZGlzcGxfZGV2dHlwZSwgZG9taWQsICJ2ZGlzcGwiLCBudW0pOwotCi0gICAg R0NfRlJFRTsKLQotICAgIHJldHVybiByOwotfQotCi12b2lkIGxpYnhsX2RldmljZV92ZGlzcGxf bGlzdF9mcmVlKGxpYnhsX2RldmljZV92ZGlzcGwqIGxpc3QsIGludCBudW0pCi17Ci0gICAgbGli eGxfX2RldmljZV9saXN0X2ZyZWUoJmxpYnhsX192ZGlzcGxfZGV2dHlwZSwgbGlzdCwgbnVtKTsK LX0KLQogc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX3ZkaXNwbF9nZXRjb25uZWN0b3JzKGxpYnhs X2N0eCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfdmRpc3BsaW5mbyAqaW5mbykKQEAgLTIzOSw4ICsyMjAsNyBAQCBpbnQg bGlieGxfZGV2aWRfdG9fZGV2aWNlX3ZkaXNwbChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9t aWQsCiAKICAgICBsaWJ4bF9kZXZpY2VfdmRpc3BsX2luaXQodmRpc3BsKTsKIAotICAgIHZkaXNw bHMgPSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9fdmRpc3BsX2RldnR5cGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZCwgInZkaXNwbCIsICZuKTsKKyAgICB2 ZGlzcGxzID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX3ZkaXNwbF9kZXZ0eXBlLCBk b21pZCwgJm4pOwogCiAgICAgaWYgKCF2ZGlzcGxzKSB7IHJjID0gRVJST1JfTk9URk9VTkQ7IGdv dG8gb3V0OyB9CiAKQEAgLTI2Nyw2ICsyNDcsNyBAQCBMSUJYTF9ERUZJTkVfREVWSUNFX0FERCh2 ZGlzcGwpCiBzdGF0aWMgTElCWExfREVGSU5FX0RFVklDRVNfQUREKHZkaXNwbCkKIExJQlhMX0RF RklORV9ERVZJQ0VfUkVNT1ZFKHZkaXNwbCkKIHN0YXRpYyBMSUJYTF9ERUZJTkVfVVBEQVRFX0RF VklEKHZkaXNwbCwgInZkaXNwbCIpCitMSUJYTF9ERUZJTkVfREVWSUNFX0xJU1QodmRpc3BsKQog CiBERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKHZkaXNwbCwKICAgICAudXBkYXRlX2NvbmZpZyA9 ICh2b2lkICgqKShsaWJ4bF9fZ2MgKiwgdm9pZCAqLCB2b2lkICopKQpkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfdnRwbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfdnRwbS5jCmluZGV4IDYx ODJjZmMuLmM1MmI0YjEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3Z0cG0uYworKysg Yi90b29scy9saWJ4bC9saWJ4bF92dHBtLmMKQEAgLTEwNCwyNCArMTA0LDYgQEAgc3RhdGljIGlu dCBsaWJ4bF9fdnRwbV9mcm9tX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIgKmxp YnhsX3BhdGgsCiAgICAgcmV0dXJuIDA7CiB9CiAKLWxpYnhsX2RldmljZV92dHBtICpsaWJ4bF9k ZXZpY2VfdnRwbV9saXN0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50ICpudW0p Ci17Ci0gICAgbGlieGxfZGV2aWNlX3Z0cG0gKnI7Ci0KLSAgICBHQ19JTklUKGN0eCk7Ci0KLSAg ICByID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX3Z0cG1fZGV2dHlwZSwgZG9taWQs ICJ2dHBtIiwgbnVtKTsKLQotICAgIEdDX0ZSRUU7Ci0KLSAgICByZXR1cm4gcjsKLX0KLQotdm9p ZCBsaWJ4bF9kZXZpY2VfdnRwbV9saXN0X2ZyZWUobGlieGxfZGV2aWNlX3Z0cG0qIGxpc3QsIGlu dCBudW0pCi17Ci0gICAgbGlieGxfX2RldmljZV9saXN0X2ZyZWUoJmxpYnhsX192dHBtX2RldnR5 cGUsIGxpc3QsIG51bSk7Ci19Ci0KIGludCBsaWJ4bF9kZXZpY2VfdnRwbV9nZXRpbmZvKGxpYnhs X2N0eCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfdnRwbSAqdnRwbSwK QEAgLTE5Niw3ICsxNzgsNyBAQCBpbnQgbGlieGxfZGV2aWRfdG9fZGV2aWNlX3Z0cG0obGlieGxf Y3R4ICpjdHgsCiAgICAgaW50IG5iLCBpOwogICAgIGludCByYzsKIAotICAgIHZ0cG1zID0gbGli eGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX3Z0cG1fZGV2dHlwZSwgZG9taWQsICJ2dHBtIiwg Jm5iKTsKKyAgICB2dHBtcyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX192dHBtX2Rl dnR5cGUsIGRvbWlkLCAmbmIpOwogICAgIGlmICghdnRwbXMpCiAgICAgICAgIHJldHVybiBFUlJP Ul9GQUlMOwogCkBAIC0yMzEsNyArMjEzLDcgQEAgaW50IGxpYnhsX3V1aWRfdG9fZGV2aWNlX3Z0 cG0obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogICAgIGludCBuYiwgaTsKICAgICBp bnQgcmM7CiAKLSAgICB2dHBtcyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX192dHBt X2RldnR5cGUsIGRvbWlkLCAidnRwbSIsICZuYik7CisgICAgdnRwbXMgPSBsaWJ4bF9fZGV2aWNl X2xpc3QoZ2MsICZsaWJ4bF9fdnRwbV9kZXZ0eXBlLCBkb21pZCwgJm5iKTsKICAgICBpZiAoIXZ0 cG1zKQogICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsKIApAQCAtMjYwLDYgKzI0Miw3IEBAIHN0 YXRpYyB2b2lkIGxpYnhsX2RldmljZV92dHBtX3VwZGF0ZV9jb25maWcobGlieGxfX2djICpnYywg dm9pZCAqZCwgdm9pZCAqcykKIExJQlhMX0RFRklORV9ERVZJQ0VfQUREKHZ0cG0pCiBzdGF0aWMg TElCWExfREVGSU5FX0RFVklDRVNfQUREKHZ0cG0pCiBMSUJYTF9ERUZJTkVfREVWSUNFX1JFTU9W RSh2dHBtKQorTElCWExfREVGSU5FX0RFVklDRV9MSVNUKHZ0cG0pCiAKIERFRklORV9ERVZJQ0Vf VFlQRV9TVFJVQ1QodnRwbSwKICAgICAudXBkYXRlX2NvbmZpZyA9IGxpYnhsX2RldmljZV92dHBt X3VwZGF0ZV9jb25maWcsCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=