From: Oleksandr Grytsov Subject: [PATCH v1] libxl: remove list callback from device framework Date: Fri, 22 Sep 2017 15:28:55 +0300 Message-ID: <1506083335-18754-2-git-send-email-al1img@gmail.com> References: <1506083335-18754-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 1dvN4q-0008HQ-H1 for xen-devel@lists.xenproject.org; Fri, 22 Sep 2017 12:29:04 +0000 Received: by mail-lf0-f68.google.com with SMTP id y15so548049lfd.0 for ; Fri, 22 Sep 2017 05:29:02 -0700 (PDT) In-Reply-To: <1506083335-18754-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 X2Rpc2suYwppbmRleCA3MTExYjQyLi4yNjNjYjU2IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s 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 b3JlID0gKGRldmljZV9mcm9tX3hlbnN0b3JlX2ZuX3QpbGlieGxfX2Rpc2tfZnJvbV94ZW5zdG9y ZSwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jIGIvdG9vbHMvbGlieGwv bGlieGxfZG9tYWluLmMKaW5kZXggMDhlY2NkMC4uMDQzNGFiOSAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGwvbGlieGxfZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMKQEAg LTE2NzksMTEgKzE2NzksMTEgQEAgaW50IGxpYnhsX3JldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0 aW9uKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgIGlmICghZHQp CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgICAgIGlmICghZHQtPmxpc3QgfHwg IWR0LT5jb21wYXJlKQorICAgICAgICAgICAgaWYgKCFkdC0+Y29tcGFyZSkKICAgICAgICAgICAg ICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgbnVtX2RldiA9IGxpYnhsX19kZXZpY2VfdHlw ZV9nZXRfbnVtKGR0LCBkX2NvbmZpZyk7Ci0gICAgICAgICAgICBwID0gZHQtPmxpc3QoQ1RYLCBk b21pZCwgJm51bSk7CisgICAgICAgICAgICBwID0gbGlieGxfX2RldmljZV9saXN0KGdjLCBkdCwg ZG9taWQsICZudW0pOwogICAgICAgICAgICAgaWYgKHAgPT0gTlVMTCkgewogICAgICAgICAgICAg ICAgIExPR0QoREVCVUcsIGRvbWlkLCAiTm8gJXMgZnJvbSB4ZW5zdG9yZSIsCiAgICAgICAgICAg ICAgICAgICAgICBkdC0+dHlwZSk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCBjNzI2NTk1Li44Yjcx NTE3IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTM0NjEsOSArMzQ2MSwyNyBAQCBfaGlkZGVuIHZv aWQgbGlieGxfX2Jvb3Rsb2FkZXJfcnVuKGxpYnhsX19lZ2MqLCBsaWJ4bF9fYm9vdGxvYWRlcl9z dGF0ZSAqc3QpOwogICAgIExJQlhMX0RFRklORV9ERVZJQ0VfUkVNT1ZFX0VYVCh0eXBlLCB0eXBl LCByZW1vdmUsIDApICAgICAgICAgICAgICAgXAogICAgIExJQlhMX0RFRklORV9ERVZJQ0VfUkVN T1ZFX0VYVCh0eXBlLCB0eXBlLCBkZXN0cm95LCAxKQogCisjZGVmaW5lIExJQlhMX0RFRklORV9E RVZJQ0VfTElTVCh0eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg bGlieGxfZGV2aWNlXyMjdHlwZSAqbGlieGxfZGV2aWNlXyMjdHlwZSMjX2xpc3QobGlieGxfY3R4 ICpjdHgsICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZG9taWQsICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpudW0pICAgICAgICAgICBcCisgICAgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisgICAgICAgIGxpYnhsX2RldmljZV8jI3R5cGUgKnI7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEdDX0lOSVQoY3R4KTsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHIg PSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9fIyN0eXBlIyNfZGV2dHlwZSwgICAgICAg ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQsIG51bSk7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEdDX0ZSRUU7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHJldHVy biByOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdm9pZCBsaWJ4bF9k ZXZpY2VfIyN0eXBlIyNfbGlzdF9mcmVlKGxpYnhsX2RldmljZV8jI3R5cGUgKmxpc3QsICAgICBc CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW0pICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGxpYnhsX19kZXZp Y2VfbGlzdF9mcmVlKCZsaWJ4bF9fIyN0eXBlIyNfZGV2dHlwZSwgbGlzdCwgbnVtKTsgICBcCisg ICAgfQorCiB0eXBlZGVmIHZvaWQgKCpkZXZpY2VfYWRkX2ZuX3QpKGxpYnhsX19lZ2MgKiwgbGli eGxfX2FvICosIHVpbnQzMl90LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9kb21haW5fY29uZmlnICosIGxpYnhsX19tdWx0aWRldiAqKTsKLXR5cGVkZWYgdm9pZCAqKCpk ZXZpY2VfbGlzdF9mbl90KShsaWJ4bF9jdHggKiwgdWludDMyX3QsIGludCAqKTsKIHR5cGVkZWYg aW50ICgqZGV2aWNlX3NldF9kZWZhdWx0X2ZuX3QpKGxpYnhsX19nYyAqLCB1aW50MzJfdCwgdm9p ZCAqLCBib29sKTsKIHR5cGVkZWYgaW50ICgqZGV2aWNlX3RvX2RldmljZV9mbl90KShsaWJ4bF9f Z2MgKiwgdWludDMyX3QsIHZvaWQgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9fZGV2aWNlICopOwpAQCAtMzQ4MywxMiArMzUwMSwxMiBAQCB0eXBlZGVmIGlu dCAoKmRldmljZV9zZXRfeGVuc3RvcmVfY29uZmlnX2ZuX3QpKGxpYnhsX19nYyAqLCB1aW50MzJf dCwgdm9pZCAqLAogCiBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgewogICAgIGNoYXIgKnR5cGU7 CisgICAgY2hhciAqZW50cnk7CiAgICAgaW50IHNraXBfYXR0YWNoOyAgIC8qIFNraXAgZW50cnkg aW4gZG9tY3JlYXRlX2F0dGFjaF9kZXZpY2VzKCkgaWYgMSAqLwogICAgIGludCBwdHJfb2Zmc2V0 OyAgICAvKiBPZmZzZXQgb2YgZGV2aWNlIGFycmF5IHB0ciBpbiBsaWJ4bF9kb21haW5fY29uZmln ICovCiAgICAgaW50IG51bV9vZmZzZXQ7ICAgIC8qIE9mZnNldCBvZiAjIG9mIGRldmljZXMgaW4g bGlieGxfZG9tYWluX2NvbmZpZyAqLwogICAgIGludCBkZXZfZWxlbV9zaXplOyAvKiBTaXplIG9m IG9uZSBkZXZpY2UgZWxlbWVudCBpbiBhcnJheSAqLwogICAgIGRldmljZV9hZGRfZm5fdCAgICAg ICAgICAgICAgICAgYWRkOwotICAgIGRldmljZV9saXN0X2ZuX3QgICAgICAgICAgICAgICAgbGlz dDsKICAgICBkZXZpY2Vfc2V0X2RlZmF1bHRfZm5fdCAgICAgICAgIHNldF9kZWZhdWx0OwogICAg IGRldmljZV90b19kZXZpY2VfZm5fdCAgICAgICAgICAgdG9fZGV2aWNlOwogICAgIGRldmljZV9p bml0X2ZuX3QgICAgICAgICAgICAgICAgaW5pdDsKQEAgLTM1MDMsMTQgKzM1MjEsMTQgQEAgc3Ry dWN0IGxpYnhsX2RldmljZV90eXBlIHsKICAgICBkZXZpY2Vfc2V0X3hlbnN0b3JlX2NvbmZpZ19m bl90IHNldF94ZW5zdG9yZV9jb25maWc7CiB9OwogCi0jZGVmaW5lIERFRklORV9ERVZJQ0VfVFlQ RV9TVFJVQ1RfWChuYW1lLCBzbmFtZSwgLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAor I2RlZmluZSBERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUX1gobmFtZSwgc25hbWUsIHNlbnRyeSwg Li4uKSAgICAgICAgICAgICAgICAgIFwKICAgICBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5 cGUgbGlieGxfXyAjIyBuYW1lICMjIF9kZXZ0eXBlID0geyAgICAgICAgICAgICBcCiAgICAgICAg IC50eXBlICAgICAgICAgID0gI3NuYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorICAgICAgICAuZW50cnkgICAgICAgICA9ICNzZW50cnksICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgLnB0cl9v ZmZzZXQgICAgPSBvZmZzZXRvZihsaWJ4bF9kb21haW5fY29uZmlnLCBuYW1lICMjIHMpLCAgICAg ICAgICAgICBcCiAgICAgICAgIC5udW1fb2Zmc2V0ICAgID0gb2Zmc2V0b2YobGlieGxfZG9tYWlu X2NvbmZpZywgbnVtXyAjIyBuYW1lICMjIHMpLCAgICAgXAogICAgICAgICAuZGV2X2VsZW1fc2l6 ZSA9IHNpemVvZihsaWJ4bF9kZXZpY2VfICMjIHNuYW1lKSwgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAgICAgLmFkZCAgICAgICAgICAgPSBsaWJ4bF9fYWRkXyAjIyBuYW1lICMjIHMsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC5saXN0ICAgICAgICAgID0gKGRl dmljZV9saXN0X2ZuX3QpbGlieGxfZGV2aWNlXyAjIyBzbmFtZSAjIyBfbGlzdCwgICAgXAogICAg ICAgICAuc2V0X2RlZmF1bHQgICA9IChkZXZpY2Vfc2V0X2RlZmF1bHRfZm5fdCkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2 aWNlXyAjIyBzbmFtZSAjIyBfc2V0ZGVmYXVsdCwgICAgICAgICAgICAgICBcCiAgICAgICAgIC50 b19kZXZpY2UgICAgID0gKGRldmljZV90b19kZXZpY2VfZm5fdClsaWJ4bF9fZGV2aWNlX2Zyb21f ICMjIG5hbWUsICAgXApAQCAtMzUyNiw3ICszNTQ0LDcgQEAgc3RydWN0IGxpYnhsX2RldmljZV90 eXBlIHsKICAgICB9CiAKICNkZWZpbmUgREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVChuYW1lLCAu Li4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgREVGSU5FX0RFVklD RV9UWVBFX1NUUlVDVF9YKG5hbWUsIG5hbWUsIF9fVkFfQVJHU19fKQorICAgIERFRklORV9ERVZJ Q0VfVFlQRV9TVFJVQ1RfWChuYW1lLCBuYW1lLCBuYW1lLCBfX1ZBX0FSR1NfXykKIAogc3RhdGlj IGlubGluZSB2b2lkICoqbGlieGxfX2RldmljZV90eXBlX2dldF9wdHIoCiAgICAgY29uc3Qgc3Ry dWN0IGxpYnhsX2RldmljZV90eXBlICpkdCwgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9j b25maWcpCkBAIC00MzM4LDcgKzQzNTYsNyBAQCBpbnQgbGlieGxfX2RldmljZV9hZGQobGlieGxf X2djICpnYywgdWludDMyX3QgZG9taWQsCiAgKiBsaWJ4bF9fZGV2aWNlX2xpc3RfZnJlZQogICov CiB2b2lkKiBsaWJ4bF9fZGV2aWNlX2xpc3QobGlieGxfX2djICpnYywgY29uc3Qgc3RydWN0IGxp YnhsX2RldmljZV90eXBlICpkdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBk b21pZCwgY29uc3QgY2hhciogbmFtZSwgaW50ICpudW0pOworICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGRvbWlkLCBpbnQgKm51bSk7CiB2b2lkIGxpYnhsX19kZXZpY2VfbGlzdF9m cmVlKGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSAqZHQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZvaWQgKmxpc3QsIGludCBudW0pOwogI2VuZGlmCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9uaWMuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX25pYy5jCmluZGV4IGNm OGZkNWMuLjlkYWVjZjcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX25pYy5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX25pYy5jCkBAIC0yOSw3ICsyOSw3IEBAIGludCBsaWJ4bF9tYWNf dG9fZGV2aWNlX25pYyhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgaWYgKHJj KQogICAgICAgICByZXR1cm4gcmM7CiAKLSAgICBuaWNzID0gbGlieGxfX2RldmljZV9saXN0KGdj LCAmbGlieGxfX25pY19kZXZ0eXBlLCBkb21pZCwgInZpZiIsICZuYik7CisgICAgbmljcyA9IGxp YnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX19uaWNfZGV2dHlwZSwgZG9taWQsICZuYik7CiAg ICAgaWYgKCFuaWNzKQogICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsKIApAQCAtNDI2LDcgKzQy Niw3IEBAIGxpYnhsX2RldmljZV9uaWMgKmxpYnhsX2RldmljZV9uaWNfbGlzdChsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsIGludCAqbnVtCiAKICAgICBHQ19JTklUKGN0eCk7CiAKLSAg ICByID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX25pY19kZXZ0eXBlLCBkb21pZCwg InZpZiIsIG51bSk7CisgICAgciA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX19uaWNf ZGV2dHlwZSwgZG9taWQsIG51bSk7CiAKICAgICBHQ19GUkVFOwogCkBAIC01NDAsNyArNTQwLDcg QEAgTElCWExfREVGSU5FX0RFVklDRV9BREQobmljKQogTElCWExfREVGSU5FX0RFVklDRVNfQURE KG5pYykKIExJQlhMX0RFRklORV9ERVZJQ0VfUkVNT1ZFKG5pYykKIAotREVGSU5FX0RFVklDRV9U WVBFX1NUUlVDVChuaWMsCitERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUX1gobmljLCBuaWMsIHZp ZiwKICAgICAudXBkYXRlX2NvbmZpZyA9IGxpYnhsX2RldmljZV9uaWNfdXBkYXRlX2NvbmZpZywK ICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90KWxpYnhsX19u aWNfZnJvbV94ZW5zdG9yZSwKICAgICAuc2V0X3hlbnN0b3JlX2NvbmZpZyA9IChkZXZpY2Vfc2V0 X3hlbnN0b3JlX2NvbmZpZ19mbl90KQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcGNp LmMgYi90b29scy9saWJ4bC9saWJ4bF9wY2kuYwppbmRleCBmOTI5ZTVhLi44OGE1NWNlIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9wY2kuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9w Y2kuYwpAQCAtMTY4Miw3ICsxNjgyLDcgQEAgc3RhdGljIGludCBsaWJ4bF9kZXZpY2VfcGNpX2Nv bXBhcmUobGlieGxfZGV2aWNlX3BjaSAqZDEsCiAKICNkZWZpbmUgbGlieGxfX2RldmljZV9wY2lf dXBkYXRlX2RldmlkIE5VTEwKIAotREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVF9YKHBjaWRldiwg cGNpKTsKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1RfWChwY2lkZXYsIHBjaSwgcGNpKTsKIAog LyoKICAqIExvY2FsIHZhcmlhYmxlczoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3Zk aXNwbC5jIGIvdG9vbHMvbGlieGwvbGlieGxfdmRpc3BsLmMKaW5kZXggYTIzNzFlZC4uZTYxZWYy ZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdmRpc3BsLmMKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfdmRpc3BsLmMKQEAgLTk0LDI1ICs5NCw2IEBAIHN0YXRpYyBpbnQgbGlieGxfX3Nl dF94ZW5zdG9yZV92ZGlzcGwobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgcmV0 dXJuIDA7CiB9CiAKLWxpYnhsX2RldmljZV92ZGlzcGwgKmxpYnhsX2RldmljZV92ZGlzcGxfbGlz dChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpudW0pCi17Ci0gICAgbGlieGxfZGV2aWNlX3Zk aXNwbCAqcjsKLQotICAgIEdDX0lOSVQoY3R4KTsKLQotICAgIHIgPSBsaWJ4bF9fZGV2aWNlX2xp c3QoZ2MsICZsaWJ4bF9fdmRpc3BsX2RldnR5cGUsIGRvbWlkLCAidmRpc3BsIiwgbnVtKTsKLQot ICAgIEdDX0ZSRUU7Ci0KLSAgICByZXR1cm4gcjsKLX0KLQotdm9pZCBsaWJ4bF9kZXZpY2VfdmRp c3BsX2xpc3RfZnJlZShsaWJ4bF9kZXZpY2VfdmRpc3BsKiBsaXN0LCBpbnQgbnVtKQotewotICAg IGxpYnhsX19kZXZpY2VfbGlzdF9mcmVlKCZsaWJ4bF9fdmRpc3BsX2RldnR5cGUsIGxpc3QsIG51 bSk7Ci19Ci0KIHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV92ZGlzcGxfZ2V0Y29ubmVjdG9ycyhs aWJ4bF9jdHggKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyICpwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX3ZkaXNwbGluZm8gKmluZm8pCkBAIC0yMzksOCArMjIwLDcgQEAg aW50IGxpYnhsX2RldmlkX3RvX2RldmljZV92ZGlzcGwobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90 IGRvbWlkLAogCiAgICAgbGlieGxfZGV2aWNlX3ZkaXNwbF9pbml0KHZkaXNwbCk7CiAKLSAgICB2 ZGlzcGxzID0gbGlieGxfX2RldmljZV9saXN0KGdjLCAmbGlieGxfX3ZkaXNwbF9kZXZ0eXBlLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQsICJ2ZGlzcGwiLCAmbik7Cisg ICAgdmRpc3BscyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX192ZGlzcGxfZGV2dHlw ZSwgZG9taWQsICZuKTsKIAogICAgIGlmICghdmRpc3BscykgeyByYyA9IEVSUk9SX05PVEZPVU5E OyBnb3RvIG91dDsgfQogCkBAIC0yNjcsNiArMjQ3LDcgQEAgTElCWExfREVGSU5FX0RFVklDRV9B REQodmRpc3BsKQogc3RhdGljIExJQlhMX0RFRklORV9ERVZJQ0VTX0FERCh2ZGlzcGwpCiBMSUJY TF9ERUZJTkVfREVWSUNFX1JFTU9WRSh2ZGlzcGwpCiBzdGF0aWMgTElCWExfREVGSU5FX1VQREFU RV9ERVZJRCh2ZGlzcGwsICJ2ZGlzcGwiKQorTElCWExfREVGSU5FX0RFVklDRV9MSVNUKHZkaXNw bCkKIAogREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2ZGlzcGwsCiAgICAgLnVwZGF0ZV9jb25m aWcgPSAoZGV2aWNlX3VwZGF0ZV9jb25maWdfZm5fdClsaWJ4bF9fdXBkYXRlX2NvbmZpZ192ZGlz cGwsCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF92dHBtLmMgYi90b29scy9saWJ4bC9s aWJ4bF92dHBtLmMKaW5kZXggYTA2ZjE1ZC4uM2YwYzU2MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGwvbGlieGxfdnRwbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Z0cG0uYwpAQCAtMTA0LDI0 ICsxMDQsNiBAQCBzdGF0aWMgaW50IGxpYnhsX192dHBtX2Zyb21feGVuc3RvcmUobGlieGxfX2dj ICpnYywgY29uc3QgY2hhciAqbGlieGxfcGF0aCwKICAgICByZXR1cm4gMDsKIH0KIAotbGlieGxf ZGV2aWNlX3Z0cG0gKmxpYnhsX2RldmljZV92dHBtX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQz Ml90IGRvbWlkLCBpbnQgKm51bSkKLXsKLSAgICBsaWJ4bF9kZXZpY2VfdnRwbSAqcjsKLQotICAg IEdDX0lOSVQoY3R4KTsKLQotICAgIHIgPSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9f dnRwbV9kZXZ0eXBlLCBkb21pZCwgInZ0cG0iLCBudW0pOwotCi0gICAgR0NfRlJFRTsKLQotICAg IHJldHVybiByOwotfQotCi12b2lkIGxpYnhsX2RldmljZV92dHBtX2xpc3RfZnJlZShsaWJ4bF9k ZXZpY2VfdnRwbSogbGlzdCwgaW50IG51bSkKLXsKLSAgICBsaWJ4bF9fZGV2aWNlX2xpc3RfZnJl ZSgmbGlieGxfX3Z0cG1fZGV2dHlwZSwgbGlzdCwgbnVtKTsKLX0KLQogaW50IGxpYnhsX2Rldmlj ZV92dHBtX2dldGluZm8obGlieGxfY3R4ICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X2RldmljZV92dHBtICp2dHBtLApAQCAtMTk2LDcgKzE3OCw3IEBAIGludCBsaWJ4bF9kZXZpZF90 b19kZXZpY2VfdnRwbShsaWJ4bF9jdHggKmN0eCwKICAgICBpbnQgbmIsIGk7CiAgICAgaW50IHJj OwogCi0gICAgdnRwbXMgPSBsaWJ4bF9fZGV2aWNlX2xpc3QoZ2MsICZsaWJ4bF9fdnRwbV9kZXZ0 eXBlLCBkb21pZCwgInZ0cG0iLCAmbmIpOworICAgIHZ0cG1zID0gbGlieGxfX2RldmljZV9saXN0 KGdjLCAmbGlieGxfX3Z0cG1fZGV2dHlwZSwgZG9taWQsICZuYik7CiAgICAgaWYgKCF2dHBtcykK ICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiAKQEAgLTIzMSw3ICsyMTMsNyBAQCBpbnQgbGli eGxfdXVpZF90b19kZXZpY2VfdnRwbShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAg ICAgaW50IG5iLCBpOwogICAgIGludCByYzsKIAotICAgIHZ0cG1zID0gbGlieGxfX2RldmljZV9s aXN0KGdjLCAmbGlieGxfX3Z0cG1fZGV2dHlwZSwgZG9taWQsICJ2dHBtIiwgJm5iKTsKKyAgICB2 dHBtcyA9IGxpYnhsX19kZXZpY2VfbGlzdChnYywgJmxpYnhsX192dHBtX2RldnR5cGUsIGRvbWlk LCAmbmIpOwogICAgIGlmICghdnRwbXMpCiAgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOwogCkBA IC0yNjAsNiArMjQyLDcgQEAgc3RhdGljIHZvaWQgbGlieGxfZGV2aWNlX3Z0cG1fdXBkYXRlX2Nv bmZpZyhsaWJ4bF9fZ2MgKmdjLCB2b2lkICpkLCB2b2lkICpzKQogTElCWExfREVGSU5FX0RFVklD RV9BREQodnRwbSkKIHN0YXRpYyBMSUJYTF9ERUZJTkVfREVWSUNFU19BREQodnRwbSkKIExJQlhM X0RFRklORV9ERVZJQ0VfUkVNT1ZFKHZ0cG0pCitMSUJYTF9ERUZJTkVfREVWSUNFX0xJU1QodnRw bSkKIAogREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh2dHBtLAogICAgIC51cGRhdGVfY29uZmln ID0gbGlieGxfZGV2aWNlX3Z0cG1fdXBkYXRlX2NvbmZpZywKLS0gCjIuNy40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==