From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: [PATCH V4 2/5] xen/arm: drivers: scif: Extend driver to handle other interfaces Date: Wed, 17 Apr 2019 17:59:32 +0300 Message-ID: <1555513175-7596-3-git-send-email-olekstysh@gmail.com> References: <1555513175-7596-1-git-send-email-olekstysh@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGm2U-0004XP-L3 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2019 14:59:54 +0000 Received: by mail-lj1-x244.google.com with SMTP id v13so22772796ljk.4 for ; Wed, 17 Apr 2019 07:59:52 -0700 (PDT) In-Reply-To: <1555513175-7596-1-git-send-email-olekstysh@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Oleksandr Tyshchenko , julien.grall@arm.com, sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKRXh0ZW5kIGRyaXZlciB0byBiZSBhYmxlIHRvIGhhbmRsZSBvdGhlciBTQ0lGKFgpIGNvbXBh dGlibGUKaW50ZXJmYWNlcyBhcyB3ZWxsLiBUaGVzZSBpbnRlcmZhY2VzIGhhdmUgbG90IGluIGNv bW1vbiwKYnV0IG1vc3RseSBkaWZmZXIgaW4gb2Zmc2V0cyBhbmQgYml0cyBmb3Igc29tZSByZWdp c3RlcnMuCgpGb3IgZXhhbXBsZSwgdGhlIG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuIFNDSUYgYW5k IFNDSUZBIGludGVyZmFjZXMKZnJvbSAic2NpZi11YXJ0IiBkcml2ZXIncyBwb2ludCBvZiB2aWV3 OgotIFJlZ2lzdGVycyBvZmZzZXQ6IHNlcmlhbCBzdGF0dXMsIHJlY2VpdmUvdHJhbnNtaXQgRklG TyBkYXRhCiAgcmVnaXN0ZXJzIGhhdmUgZGlmZmVyZW50IG9mZnNldAotIEludGVybmFsIEZJRk8g c2l6ZTogNjQgYnl0ZXMgZm9yIFNDSUZBIGFuZCAxNiBieXRlcyBmb3IgU0NJRgotIE92ZXJydW4g Yml0IGxvY2F0aW9uOiBzZXJpYWwgc3RhdHVzIHJlZ2lzdGVyIGZvciBTQ0lGQSBhbmQKICBkZWRp Y2F0ZWQgbGluZSBzdGF0dXMgcmVnaXN0ZXIgZm9yIFNDSUYKCkludHJvZHVjZSAicG9ydF9wYXJh bXMiIGFycmF5IHRvIGtlZXAgaW50ZXJmYWNlIHNwZWNpZmljIHRoaW5ncy4KClRoZSAiZGF0YSIg ZmllbGQgaW4gc3RydWN0IGR0X2RldmljZV9tYXRjaCBpcyB1c2VkIGZvciByZWNvZ25pemluZwp3 aGF0IGludGVyZmFjZSBpcyBwcmVzZW50IG9uIGEgdGFyZ2V0IGJvYXJkLgoKUGxlYXNlIG5vdGUs IG5vdGhpbmcgaGFzIGJlZW4gdGVjaG5pY2FsbHkgY2hhbmdlZCBmb3IgUmVuZXNhcyAiTGFnZXIi CmFuZCBvdGhlciBzdXBwb3J0ZWQgYm9hcmRzIChTQ0lGKS4KClNpZ25lZC1vZmYtYnk6IE9sZWtz YW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQ0M6IEp1bGll biBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KICAgIENoYW5nZXMgaW4gdjI6CiAg ICAgICAgLSBOYW1lIGEgZW51bSBmb3IgZGVzY3JpYmluZyBpbnRlcmZhY2VzIHRoaXMgZHJpdmVy IHN1cHBvcnRzCiAgICAgICAgLSBVc2UgbG9jYWwgdmFyaWFibGUgZm9yICJwYXJhbXMiIHdoZXJl IGFwcHJvcHJpYXRlCiAgICAgICAgLSBVc2UgImRhdGEiIGZpZWxkIGluIHN0cnVjdCBkdF9kZXZp Y2VfbWF0Y2ggaW5zdGVhZCBvZiBjYWxsaW5nCiAgICAgICAgICBkdF9kZXZpY2VfaXNfY29tcGF0 aWJsZSgpCiAgICAgICAgLSBEb24ndCBjaGVjayBmb3IgIm92ZXJydW5fcmVnICE9IHN0YXR1c19y ZWciIGNvbmRpdGlvbiBkdXJpbmcKICAgICAgICAgIGluaXRpYWxpemF0aW9uCgogICAgQ2hhbmdl cyBpbiB2MzoKICAgICAgICAtIFRoaXMgcGF0Y2ggaXMgYSByZXN1bHQgb2Ygc3BsaXR0aW5nIGFu IGluaXRpYWwgcGF0Y2gKICAgICAgICAgICJ4ZW4vYXJtOiBkcml2ZXJzOiBzY2lmOiBBZGQgc3Vw cG9ydCBmb3IgU0NJRkEgY29tcGF0aWJsZSBVQVJUcyIKICAgICAgICAgIGFuZCBvbmx5IHJld29y a3MgYSBkcml2ZXIKICAgICAgICAtIERyb3AgInBvcnRfdHlwZSIgdmFyaWFibGUgZnJvbSBzY2lm X3VhcnRfaW5pdCgpLCBwYXNzIGEgcG9pbnRlcgogICAgICAgICAgZGlyZWN0bHkKCiAgICBDaGFu Z2VzIGluIHY0OgogICAgICAgIC0gQWRkIEFTU0VSVChtYXRjaCkgaW4gc2NpZl91YXJ0X2luaXQo KQogICAgICAgIC0gRHJvcCAiaWYgKCBwYXJhbXMtPm92ZXJydW5fcmVnICE9IHBhcmFtcy0+c3Rh dHVzX3JlZyApIiBjaGVjawogICAgICAgICAgaW4gc2NpZl91YXJ0X2ludGVycnVwdCgpIGFuZCBz Y2lmX3VhcnRfaW5pdF9wb3N0aXJxKCkKICAgICAgICAtIEFkZCBhbiBleHBsYW5hdGlvbiB0byBj b21taXQgbWVzc2FnZQotLS0KIHhlbi9kcml2ZXJzL2NoYXIvc2NpZi11YXJ0LmMgICAgfCAxMTQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNt LWFybS9zY2lmLXVhcnQuaCB8ICAgNCAtLQogMiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25z KCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYt dWFydC5jIGIveGVuL2RyaXZlcnMvY2hhci9zY2lmLXVhcnQuYwppbmRleCA0NjVmYjM0Li44NTQ4 M2VlIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYtdWFydC5jCisrKyBiL3hlbi9k cml2ZXJzL2NoYXIvc2NpZi11YXJ0LmMKQEAgLTQwLDE2ICs0MCw1MSBAQCBzdGF0aWMgc3RydWN0 IHNjaWZfdWFydCB7CiAgICAgY2hhciBfX2lvbWVtICpyZWdzOwogICAgIHN0cnVjdCBpcnFhY3Rp b24gaXJxYWN0aW9uOwogICAgIHN0cnVjdCB2dWFydF9pbmZvIHZ1YXJ0OworICAgIGNvbnN0IHN0 cnVjdCBwb3J0X3BhcmFtcyAqcGFyYW1zOwogfSBzY2lmX2NvbSA9IHswfTsKIAorZW51bSBwb3J0 X3R5cGVzCit7CisgICAgU0NJRl9QT1JULAorICAgIE5SX1BPUlRTLAorfTsKKworc3RydWN0IHBv cnRfcGFyYW1zCit7CisgICAgdW5zaWduZWQgaW50IHN0YXR1c19yZWc7CisgICAgdW5zaWduZWQg aW50IHR4X2ZpZm9fcmVnOworICAgIHVuc2lnbmVkIGludCByeF9maWZvX3JlZzsKKyAgICB1bnNp Z25lZCBpbnQgb3ZlcnJ1bl9yZWc7CisgICAgdW5zaWduZWQgaW50IG92ZXJydW5fbWFzazsKKyAg ICB1bnNpZ25lZCBpbnQgZXJyb3JfbWFzazsKKyAgICB1bnNpZ25lZCBpbnQgaXJxX2ZsYWdzOwor ICAgIHVuc2lnbmVkIGludCBmaWZvX3NpemU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHBv cnRfcGFyYW1zIHBvcnRfcGFyYW1zW05SX1BPUlRTXSA9Cit7CisgICAgW1NDSUZfUE9SVF0gPQor ICAgIHsKKyAgICAgICAgLnN0YXR1c19yZWcgICA9IFNDSUZfU0NGU1IsCisgICAgICAgIC50eF9m aWZvX3JlZyAgPSBTQ0lGX1NDRlREUiwKKyAgICAgICAgLnJ4X2ZpZm9fcmVnICA9IFNDSUZfU0NG UkRSLAorICAgICAgICAub3ZlcnJ1bl9yZWcgID0gU0NJRl9TQ0xTUiwKKyAgICAgICAgLm92ZXJy dW5fbWFzayA9IFNDTFNSX09SRVIsCisgICAgICAgIC5lcnJvcl9tYXNrICAgPSBTQ0ZTUl9QRVIg fCBTQ0ZTUl9GRVIgfCBTQ0ZTUl9CUksgfCBTQ0ZTUl9FUiwKKyAgICAgICAgLmlycV9mbGFncyAg ICA9IFNDU0NSX1JJRSB8IFNDU0NSX1RJRSB8IFNDU0NSX1JFSUUsCisgICAgICAgIC5maWZvX3Np emUgICAgPSAxNiwKKyAgICB9LAorfTsKKwogc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVw dChpbnQgaXJxLCB2b2lkICpkYXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAg ICBzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQgPSBkYXRhOwogICAgIHN0cnVjdCBzY2lmX3VhcnQg KnVhcnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFtcyAqcGFyYW1z ID0gdWFydC0+cGFyYW1zOwogICAgIHVpbnQxNl90IHN0YXR1cywgY3RybDsKIAogICAgIGN0cmwg PSBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NTQ1IpOwotICAgIHN0YXR1cyA9IHNjaWZfcmVhZHco dWFydCwgU0NJRl9TQ0ZTUikgJiB+U0NGU1JfVEVORDsKKyAgICBzdGF0dXMgPSBzY2lmX3JlYWR3 KHVhcnQsIHBhcmFtcy0+c3RhdHVzX3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAvKiBJZ25vcmUg bmV4dCBmbGFnIGlmIFRYIEludGVycnVwdCBpcyBkaXNhYmxlZCAqLwogICAgIGlmICggIShjdHJs ICYgU0NTQ1JfVElFKSApCiAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTY1LDEz ICsxMDAsMTMgQEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lk ICpkYXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgIHNlcmlhbF9y eF9pbnRlcnJ1cHQocG9ydCwgcmVncyk7CiAKICAgICAgICAgLyogRXJyb3IgSW50ZXJydXB0ICov Ci0gICAgICAgIGlmICggc3RhdHVzICYgU0NJRl9FUlJPUlMgKQotICAgICAgICAgICAgc2NpZl93 cml0ZXcodWFydCwgU0NJRl9TQ0ZTUiwgflNDSUZfRVJST1JTKTsKLSAgICAgICAgaWYgKCBzY2lm X3JlYWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NMU1JfT1JFUiApCi0gICAgICAgICAgICBzY2lm X3dyaXRldyh1YXJ0LCBTQ0lGX1NDTFNSLCAwKTsKKyAgICAgICAgaWYgKCBzdGF0dXMgJiBwYXJh bXMtPmVycm9yX21hc2sgKQorICAgICAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5z dGF0dXNfcmVnLCB+cGFyYW1zLT5lcnJvcl9tYXNrKTsKKyAgICAgICAgaWYgKCBzY2lmX3JlYWR3 KHVhcnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcpICYgcGFyYW1zLT5vdmVycnVuX21hc2sgKQorICAg ICAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5vdmVycnVuX3JlZywgfnBhcmFtcy0+ b3ZlcnJ1bl9tYXNrKTsKIAogICAgICAgICBjdHJsID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1ND U0NSKTsKLSAgICAgICAgc3RhdHVzID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIH5T Q0ZTUl9URU5EOworICAgICAgICBzdGF0dXMgPSBzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3Rh dHVzX3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAgICAgLyogSWdub3JlIG5leHQgZmxhZyBpZiBU WCBJbnRlcnJ1cHQgaXMgZGlzYWJsZWQgKi8KICAgICAgICAgaWYgKCAhKGN0cmwgJiBTQ1NDUl9U SUUpICkKICAgICAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTgxLDEyICsxMTYs MTMgQEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkYXRh LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3Vh cnRfaW5pdF9wcmVpcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogewogICAgIHN0cnVjdCBz Y2lmX3VhcnQgKnVhcnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFt cyAqcGFyYW1zID0gdWFydC0+cGFyYW1zOwogCiAgICAgLyoKICAgICAgKiBXYWl0IHVudGlsIGxh c3QgYml0IGhhcyBiZWVuIHRyYW5zbWl0dGVkLiBUaGlzIGlzIG5lZWRlZCBmb3IgYSBzbW9vdGgK ICAgICAgKiB0cmFuc2l0aW9uIHdoZW4gd2UgY29tZSBmcm9tIGVhcmx5IHByaW50awogICAgICAq LwotICAgIHdoaWxlICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgU0NGU1JfVEVO RCkgKTsKKyAgICB3aGlsZSAoICEoc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcp ICYgU0NGU1JfVEVORCkgKTsKIAogICAgIC8qIERpc2FibGUgVFgvUlggcGFydHMgYW5kIGFsbCBp bnRlcnJ1cHRzICovCiAgICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ1NDUiwgMCk7CkBAIC05 NSwxMCArMTMxLDEwIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3VhcnRfaW5pdF9wcmVpcnEo c3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NG Q1IsIFNDRkNSX1JGUlNUIHwgU0NGQ1JfVEZSU1QpOwogCiAgICAgLyogQ2xlYXIgYWxsIGVycm9y cyBhbmQgZmxhZ3MgKi8KLSAgICBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOwotICAgIHNj aWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIDApOwotICAgIHNjaWZfcmVhZHcodWFydCwgU0NJ Rl9TQ0xTUik7Ci0gICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ0xTUiwgMCk7CisgICAgc2Np Zl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpOworICAgIHNjaWZfd3JpdGV3KHVhcnQs IHBhcmFtcy0+c3RhdHVzX3JlZywgMCk7CisgICAgc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPm92 ZXJydW5fcmVnKTsKKyAgICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPm92ZXJydW5fcmVnLCAw KTsKIAogICAgIC8qIFNldHVwIHRyaWdnZXIgbGV2ZWwgZm9yIFRYL1JYIEZJRk9zICovCiAgICAg c2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ0ZDUiwgU0NGQ1JfUlRSRzExIHwgU0NGQ1JfVFRSRzEx KTsKQEAgLTExMSw2ICsxNDcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRf cHJlaXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lm X3VhcnRfaW5pdF9wb3N0aXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHsKICAgICBzdHJ1 Y3Qgc2NpZl91YXJ0ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9w YXJhbXMgKnBhcmFtcyA9IHVhcnQtPnBhcmFtczsKICAgICBpbnQgcmM7CiAKICAgICB1YXJ0LT5p cnFhY3Rpb24uaGFuZGxlciA9IHNjaWZfdWFydF9pbnRlcnJ1cHQ7CkBAIC0xMjIsMTQgKzE1OSwx NCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRfcG9zdGlycShzdHJ1Y3Qgc2Vy aWFsX3BvcnQgKnBvcnQpCiAgICAgICAgICAgICAgICAgdWFydC0+aXJxKTsKIAogICAgIC8qIENs ZWFyIGFsbCBlcnJvcnMgKi8KLSAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikg JiBTQ0lGX0VSUk9SUyApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH5T Q0lGX0VSUk9SUyk7Ci0gICAgaWYgKCBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NM U1JfT1JFUiApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NMU1IsIDApOworICAg IGlmICggc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgcGFyYW1zLT5lcnJv cl9tYXNrICkKKyAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5zdGF0dXNfcmVnLCB+ cGFyYW1zLT5lcnJvcl9tYXNrKTsKKyAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgcGFyYW1zLT5v dmVycnVuX3JlZykgJiBwYXJhbXMtPm92ZXJydW5fbWFzayApCisgICAgICAgIHNjaWZfd3JpdGV3 KHVhcnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcsIH5wYXJhbXMtPm92ZXJydW5fbWFzayk7CiAKICAg ICAvKiBFbmFibGUgVFgvUlggYW5kIEVycm9yIEludGVycnVwdHMgICovCiAgICAgc2NpZl93cml0 ZXcodWFydCwgU0NJRl9TQ1NDUiwgc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDU0NSKSB8Ci0gICAg ICAgICAgICAgICAgIFNDU0NSX1RJRSB8IFNDU0NSX1JJRSB8IFNDU0NSX1JFSUUpOworICAgICAg ICAgICAgICAgIHBhcmFtcy0+aXJxX2ZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgc2NpZl91YXJ0 X3N1c3BlbmQoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQpAQCAtMTQ1LDQzICsxODIsNDcgQEAg c3RhdGljIHZvaWQgc2NpZl91YXJ0X3Jlc3VtZShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiBz dGF0aWMgaW50IHNjaWZfdWFydF90eF9yZWFkeShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiB7 CiAgICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVhcnQ7CisgICAgY29uc3Qgc3Ry dWN0IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7CiAgICAgdWludDE2X3QgY250 OwogCiAgICAgLyogQ2hlY2sgZm9yIGVtcHR5IHNwYWNlIGluIFRYIEZJRk8gKi8KLSAgICBpZiAo ICEoc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIFNDRlNSX1RERkUpICkKKyAgICBpZiAo ICEoc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgU0NGU1JfVERGRSkgKQog ICAgICAgICByZXR1cm4gMDsKIAogICAgICAvKiBDaGVjayBudW1iZXIgb2YgZGF0YSBieXRlcyBz dG9yZWQgaW4gVFggRklGTyAqLwogICAgIGNudCA9IHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZE UikgPj4gODsKLSAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBTQ0lGX0ZJRk9fTUFYX1NJ WkUgKTsKKyAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBwYXJhbXMtPmZpZm9fc2l6ZSAp OwogCi0gICAgcmV0dXJuIChTQ0lGX0ZJRk9fTUFYX1NJWkUgLSBjbnQpOworICAgIHJldHVybiAo cGFyYW1zLT5maWZvX3NpemUgLSBjbnQpOwogfQogCiBzdGF0aWMgdm9pZCBzY2lmX3VhcnRfcHV0 YyhzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQsIGNoYXIgYykKIHsKICAgICBzdHJ1Y3Qgc2NpZl91 YXJ0ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9wYXJhbXMgKnBh cmFtcyA9IHVhcnQtPnBhcmFtczsKIAotICAgIHNjaWZfd3JpdGViKHVhcnQsIFNDSUZfU0NGVERS LCBjKTsKKyAgICBzY2lmX3dyaXRlYih1YXJ0LCBwYXJhbXMtPnR4X2ZpZm9fcmVnLCBjKTsKICAg ICAvKiBDbGVhciByZXF1aXJlZCBUWCBmbGFncyAqLwotICAgIHNjaWZfd3JpdGV3KHVhcnQsIFND SUZfU0NGU1IsIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikgJgotICAgICAgICAgICAgICAg ICB+KFNDRlNSX1RFTkQgfCBTQ0ZTUl9UREZFKSk7CisgICAgc2NpZl93cml0ZXcodWFydCwgcGFy YW1zLT5zdGF0dXNfcmVnLAorICAgICAgICAgICAgICAgIHNjaWZfcmVhZHcodWFydCwgcGFyYW1z LT5zdGF0dXNfcmVnKSAmCisgICAgICAgICAgICAgICAgfihTQ0ZTUl9URU5EIHwgU0NGU1JfVERG RSkpOwogfQogCiBzdGF0aWMgaW50IHNjaWZfdWFydF9nZXRjKHN0cnVjdCBzZXJpYWxfcG9ydCAq cG9ydCwgY2hhciAqcGMpCiB7CiAgICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVh cnQ7CisgICAgY29uc3Qgc3RydWN0IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7 CiAKICAgICAvKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRhdGEgYnl0ZXMgaW4gUlggRklGTyAqLwot ICAgIGlmICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgKFNDRlNSX1JERiB8IFND RlNSX0RSKSkgKQorICAgIGlmICggIShzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3RhdHVzX3Jl ZykgJiAoU0NGU1JfUkRGIHwgU0NGU1JfRFIpKSApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg KnBjID0gc2NpZl9yZWFkYih1YXJ0LCBTQ0lGX1NDRlJEUik7CisgICAgKnBjID0gc2NpZl9yZWFk Yih1YXJ0LCBwYXJhbXMtPnJ4X2ZpZm9fcmVnKTsKIAogICAgIC8qIGR1bW15IHJlYWQgKi8KLSAg ICBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOworICAgIHNjaWZfcmVhZHcodWFydCwgcGFy YW1zLT5zdGF0dXNfcmVnKTsKICAgICAvKiBDbGVhciByZXF1aXJlZCBSWCBmbGFncyAqLwotICAg IHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH4oU0NGU1JfUkRGIHwgU0NGU1JfRFIpKTsK KyAgICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcsIH4oU0NGU1JfUkRGIHwg U0NGU1JfRFIpKTsKIAogICAgIHJldHVybiAxOwogfQpAQCAtMjI5LDkgKzI3MCwxNiBAQCBzdGF0 aWMgc3RydWN0IHVhcnRfZHJpdmVyIF9fcmVhZF9tb3N0bHkgc2NpZl91YXJ0X2RyaXZlciA9IHsK ICAgICAudnVhcnRfaW5mbyAgID0gc2NpZl92dWFydF9pbmZvLAogfTsKIAorc3RhdGljIGNvbnN0 IHN0cnVjdCBkdF9kZXZpY2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3Qg PQoreworICAgIHsgLmNvbXBhdGlibGUgPSAicmVuZXNhcyxzY2lmIiwgIC5kYXRhID0gKHZvaWQg KilTQ0lGX1BPUlQgfSwKKyAgICB7IC8qIHNlbnRpbmVsICovIH0sCit9OworCiBzdGF0aWMgaW50 IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRldiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCiB7CisgICAgY29u c3Qgc3RydWN0IGR0X2RldmljZV9tYXRjaCAqbWF0Y2g7CiAgICAgY29uc3QgY2hhciAqY29uZmln ID0gZGF0YTsKICAgICBzdHJ1Y3Qgc2NpZl91YXJ0ICp1YXJ0OwogICAgIGludCByZXM7CkBAIC0y NjUsMTAgKzMxMywxNCBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3Qg ZHRfZGV2aWNlX25vZGUgKmRldiwKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgfQogCisg ICAgbWF0Y2ggPSBkdF9tYXRjaF9ub2RlKHNjaWZfdWFydF9kdF9tYXRjaCwgZGV2KTsKKyAgICBB U1NFUlQoIG1hdGNoICk7CisgICAgdWFydC0+cGFyYW1zID0gJnBvcnRfcGFyYW1zWyhlbnVtIHBv cnRfdHlwZXMpbWF0Y2gtPmRhdGFdOworCiAgICAgdWFydC0+dnVhcnQuYmFzZV9hZGRyICA9IGFk ZHI7CiAgICAgdWFydC0+dnVhcnQuc2l6ZSAgICAgICA9IHNpemU7Ci0gICAgdWFydC0+dnVhcnQu ZGF0YV9vZmYgICA9IFNDSUZfU0NGVERSOwotICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSBT Q0lGX1NDRlNSOworICAgIHVhcnQtPnZ1YXJ0LmRhdGFfb2ZmICAgPSB1YXJ0LT5wYXJhbXMtPnR4 X2ZpZm9fcmVnOworICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSB1YXJ0LT5wYXJhbXMtPnN0 YXR1c19yZWc7CiAgICAgdWFydC0+dnVhcnQuc3RhdHVzICAgICA9IFNDRlNSX1RERkU7CiAKICAg ICAvKiBSZWdpc3RlciB3aXRoIGdlbmVyaWMgc2VyaWFsIGRyaXZlciAqLwpAQCAtMjc5LDEyICsz MzEsNiBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNl X25vZGUgKmRldiwKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkdF9k ZXZpY2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3QgPQotewotICAgIERU X01BVENIX0NPTVBBVElCTEUoInJlbmVzYXMsc2NpZiIpLAotICAgIHsgLyogc2VudGluZWwgKi8g fSwKLX07Ci0KIERUX0RFVklDRV9TVEFSVChzY2lmX3VhcnQsICJTQ0lGIFVBUlQiLCBERVZJQ0Vf U0VSSUFMKQogICAgIC5kdF9tYXRjaCA9IHNjaWZfdWFydF9kdF9tYXRjaCwKICAgICAuaW5pdCA9 IHNjaWZfdWFydF9pbml0LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVh cnQuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2NpZi11YXJ0LmgKaW5kZXggODEzNzg1MC4uYzM0 M2YyZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVhcnQuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20tYXJtL3NjaWYtdWFydC5oCkBAIC0yMSw4ICsyMSw2IEBACiAjaWZuZGVm IF9fQVNNX0FSTV9TQ0lGX1VBUlRfSAogI2RlZmluZSBfX0FTTV9BUk1fU0NJRl9VQVJUX0gKIAot I2RlZmluZSBTQ0lGX0ZJRk9fTUFYX1NJWkUgICAgMTYKLQogLyogUmVnaXN0ZXIgb2Zmc2V0cyAq LwogI2RlZmluZSBTQ0lGX1NDU01SICAgICAoMHgwMCkgICAgLyogU2VyaWFsIG1vZGUgcmVnaXN0 ZXIgICAgICAgICAgICovCiAjZGVmaW5lIFNDSUZfU0NCUlIgICAgICgweDA0KSAgICAvKiBCaXQg cmF0ZSByZWdpc3RlciAgICAgICAgICAgICAgKi8KQEAgLTU3LDggKzU1LDYgQEAKICNkZWZpbmUg U0NGU1JfUkRGICAgICAoMSA8PCAxKSAgICAvKiBSZWNlaXZlIEZJRk8gRGF0YSBGdWxsICovCiAj ZGVmaW5lIFNDRlNSX0RSICAgICAgKDEgPDwgMCkgICAgLyogUmVjZWl2ZSBEYXRhIFJlYWR5ICov CiAKLSNkZWZpbmUgU0NJRl9FUlJPUlMgICAgKFNDRlNSX1BFUiB8IFNDRlNSX0ZFUiB8IFNDRlNS X0VSIHwgU0NGU1JfQlJLKQotCiAvKiBMaW5lIFN0YXR1cyBSZWdpc3RlciAoU0NMU1IpICovCiAj ZGVmaW5lIFNDTFNSX1RPICAgICAgKDEgPDwgMikgICAgLyogVGltZW91dCAqLwogI2RlZmluZSBT Q0xTUl9PUkVSICAgICgxIDw8IDApICAgIC8qIE92ZXJydW4gRXJyb3IgKi8KLS0gCjIuNy40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE602C282DC for ; Wed, 17 Apr 2019 15:00:23 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B3CDC205C9 for ; Wed, 17 Apr 2019 15:00:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZRa4iuum" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B3CDC205C9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGm2V-0004Xa-HH; Wed, 17 Apr 2019 14:59:55 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGm2U-0004XP-L3 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2019 14:59:54 +0000 X-Inumbo-ID: 74023403-6121-11e9-92d7-bc764e045a96 Received: from mail-lj1-x244.google.com (unknown [2a00:1450:4864:20::244]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 74023403-6121-11e9-92d7-bc764e045a96; Wed, 17 Apr 2019 14:59:52 +0000 (UTC) Received: by mail-lj1-x244.google.com with SMTP id v13so22772796ljk.4 for ; Wed, 17 Apr 2019 07:59:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=x3xSy6QzALEoh1F0M9A/bhjWDfB8dGoDlovI8FLb5y4=; b=ZRa4iuumA2f5B5mLV2PHtRYcl1W8bWSx9QxQ5PmBEhzWFfQIqKSBPcES3WmIhvgUTx 8uZ0xssBqleLM/fOxldPb5YmRY5QpNbqPFEbas9oQdgjU3bg4oSTreKc34PmsgKa12nH 0SVsnwZbp8/DDgxaMifrf3xRrWVcI3SQB64aa60uBti6MLpfr40cBaUJqSV426qIQwIG Z2NMaLyhFRxhdYqtSODWPCRBSraq95xTON/6lYVGLv9qZ+xwlO/b8eYWJlVk67iGVQX1 Upq7U1zknxrQlBlRuwohHeRNSD9Ha8ysgNHgkoH9oMlT7BThL6GwLPgfQJmKPYlfbenN f1CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=x3xSy6QzALEoh1F0M9A/bhjWDfB8dGoDlovI8FLb5y4=; b=E1XkYKgI5OJcUXUQBniklHRS3rVcVsDtlZhGNx77+cdsKT3WJEUS+H+Bml9PX1jS5P O20KFuWChapB5+Ejs0l4B2BqL5atbZ/N6tqXmfyB6Y9P2T55h9LMNqDJ+YQ8Nx0m6gFi L3gSWByiMhuhhMCLnMK030nKdqKjdOU/UCxWh0aaUCq+7mRtlSEGVvMkvA9LCVbuMyCO qYEi4/GMtK8oUeXXNULjA541j6TzDoicwG/SkJhCcq7TpTL/7hT2je6Nm4jcppL+E9g3 52d+l7cnkqY0Hqxe3cKlaKsjwr4xrhtKIrtps/kB0bq5y0p5W507Mfcj1AIx5c+e2Src FxbQ== X-Gm-Message-State: APjAAAWterlYTg75J8SNKYyzqpz0dyNkLfmE7/pvX+m4faMY2J0135im Wa4pS69XgLNoG6fDlnXryobswb7YYoc= X-Google-Smtp-Source: APXvYqy4xN4UVQbOUeYtAVQSWKTWsUgi4slFmsKsvMzpEiS8XYZm1q46jPQnSSV61rK2N6hjm84mZw== X-Received: by 2002:a2e:29da:: with SMTP id p87mr46825907ljp.33.1555513191207; Wed, 17 Apr 2019 07:59:51 -0700 (PDT) Received: from otyshchenko.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua. [85.223.209.22]) by smtp.gmail.com with ESMTPSA id u8sm950273lfi.83.2019.04.17.07.59.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 17 Apr 2019 07:59:50 -0700 (PDT) From: Oleksandr Tyshchenko To: xen-devel@lists.xenproject.org Date: Wed, 17 Apr 2019 17:59:32 +0300 Message-Id: <1555513175-7596-3-git-send-email-olekstysh@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1555513175-7596-1-git-send-email-olekstysh@gmail.com> References: <1555513175-7596-1-git-send-email-olekstysh@gmail.com> Subject: [Xen-devel] [PATCH V4 2/5] xen/arm: drivers: scif: Extend driver to handle other interfaces X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Oleksandr Tyshchenko , julien.grall@arm.com, sstabellini@kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190417145932.ObETrZ_DrKcwsozfwMnDnEdq4ErQDtJH0nBmwPhVpJU@z> RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKRXh0ZW5kIGRyaXZlciB0byBiZSBhYmxlIHRvIGhhbmRsZSBvdGhlciBTQ0lGKFgpIGNvbXBh dGlibGUKaW50ZXJmYWNlcyBhcyB3ZWxsLiBUaGVzZSBpbnRlcmZhY2VzIGhhdmUgbG90IGluIGNv bW1vbiwKYnV0IG1vc3RseSBkaWZmZXIgaW4gb2Zmc2V0cyBhbmQgYml0cyBmb3Igc29tZSByZWdp c3RlcnMuCgpGb3IgZXhhbXBsZSwgdGhlIG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuIFNDSUYgYW5k IFNDSUZBIGludGVyZmFjZXMKZnJvbSAic2NpZi11YXJ0IiBkcml2ZXIncyBwb2ludCBvZiB2aWV3 OgotIFJlZ2lzdGVycyBvZmZzZXQ6IHNlcmlhbCBzdGF0dXMsIHJlY2VpdmUvdHJhbnNtaXQgRklG TyBkYXRhCiAgcmVnaXN0ZXJzIGhhdmUgZGlmZmVyZW50IG9mZnNldAotIEludGVybmFsIEZJRk8g c2l6ZTogNjQgYnl0ZXMgZm9yIFNDSUZBIGFuZCAxNiBieXRlcyBmb3IgU0NJRgotIE92ZXJydW4g Yml0IGxvY2F0aW9uOiBzZXJpYWwgc3RhdHVzIHJlZ2lzdGVyIGZvciBTQ0lGQSBhbmQKICBkZWRp Y2F0ZWQgbGluZSBzdGF0dXMgcmVnaXN0ZXIgZm9yIFNDSUYKCkludHJvZHVjZSAicG9ydF9wYXJh bXMiIGFycmF5IHRvIGtlZXAgaW50ZXJmYWNlIHNwZWNpZmljIHRoaW5ncy4KClRoZSAiZGF0YSIg ZmllbGQgaW4gc3RydWN0IGR0X2RldmljZV9tYXRjaCBpcyB1c2VkIGZvciByZWNvZ25pemluZwp3 aGF0IGludGVyZmFjZSBpcyBwcmVzZW50IG9uIGEgdGFyZ2V0IGJvYXJkLgoKUGxlYXNlIG5vdGUs IG5vdGhpbmcgaGFzIGJlZW4gdGVjaG5pY2FsbHkgY2hhbmdlZCBmb3IgUmVuZXNhcyAiTGFnZXIi CmFuZCBvdGhlciBzdXBwb3J0ZWQgYm9hcmRzIChTQ0lGKS4KClNpZ25lZC1vZmYtYnk6IE9sZWtz YW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQ0M6IEp1bGll biBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KICAgIENoYW5nZXMgaW4gdjI6CiAg ICAgICAgLSBOYW1lIGEgZW51bSBmb3IgZGVzY3JpYmluZyBpbnRlcmZhY2VzIHRoaXMgZHJpdmVy IHN1cHBvcnRzCiAgICAgICAgLSBVc2UgbG9jYWwgdmFyaWFibGUgZm9yICJwYXJhbXMiIHdoZXJl IGFwcHJvcHJpYXRlCiAgICAgICAgLSBVc2UgImRhdGEiIGZpZWxkIGluIHN0cnVjdCBkdF9kZXZp Y2VfbWF0Y2ggaW5zdGVhZCBvZiBjYWxsaW5nCiAgICAgICAgICBkdF9kZXZpY2VfaXNfY29tcGF0 aWJsZSgpCiAgICAgICAgLSBEb24ndCBjaGVjayBmb3IgIm92ZXJydW5fcmVnICE9IHN0YXR1c19y ZWciIGNvbmRpdGlvbiBkdXJpbmcKICAgICAgICAgIGluaXRpYWxpemF0aW9uCgogICAgQ2hhbmdl cyBpbiB2MzoKICAgICAgICAtIFRoaXMgcGF0Y2ggaXMgYSByZXN1bHQgb2Ygc3BsaXR0aW5nIGFu IGluaXRpYWwgcGF0Y2gKICAgICAgICAgICJ4ZW4vYXJtOiBkcml2ZXJzOiBzY2lmOiBBZGQgc3Vw cG9ydCBmb3IgU0NJRkEgY29tcGF0aWJsZSBVQVJUcyIKICAgICAgICAgIGFuZCBvbmx5IHJld29y a3MgYSBkcml2ZXIKICAgICAgICAtIERyb3AgInBvcnRfdHlwZSIgdmFyaWFibGUgZnJvbSBzY2lm X3VhcnRfaW5pdCgpLCBwYXNzIGEgcG9pbnRlcgogICAgICAgICAgZGlyZWN0bHkKCiAgICBDaGFu Z2VzIGluIHY0OgogICAgICAgIC0gQWRkIEFTU0VSVChtYXRjaCkgaW4gc2NpZl91YXJ0X2luaXQo KQogICAgICAgIC0gRHJvcCAiaWYgKCBwYXJhbXMtPm92ZXJydW5fcmVnICE9IHBhcmFtcy0+c3Rh dHVzX3JlZyApIiBjaGVjawogICAgICAgICAgaW4gc2NpZl91YXJ0X2ludGVycnVwdCgpIGFuZCBz Y2lmX3VhcnRfaW5pdF9wb3N0aXJxKCkKICAgICAgICAtIEFkZCBhbiBleHBsYW5hdGlvbiB0byBj b21taXQgbWVzc2FnZQotLS0KIHhlbi9kcml2ZXJzL2NoYXIvc2NpZi11YXJ0LmMgICAgfCAxMTQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNt LWFybS9zY2lmLXVhcnQuaCB8ICAgNCAtLQogMiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25z KCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYt dWFydC5jIGIveGVuL2RyaXZlcnMvY2hhci9zY2lmLXVhcnQuYwppbmRleCA0NjVmYjM0Li44NTQ4 M2VlIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYtdWFydC5jCisrKyBiL3hlbi9k cml2ZXJzL2NoYXIvc2NpZi11YXJ0LmMKQEAgLTQwLDE2ICs0MCw1MSBAQCBzdGF0aWMgc3RydWN0 IHNjaWZfdWFydCB7CiAgICAgY2hhciBfX2lvbWVtICpyZWdzOwogICAgIHN0cnVjdCBpcnFhY3Rp b24gaXJxYWN0aW9uOwogICAgIHN0cnVjdCB2dWFydF9pbmZvIHZ1YXJ0OworICAgIGNvbnN0IHN0 cnVjdCBwb3J0X3BhcmFtcyAqcGFyYW1zOwogfSBzY2lmX2NvbSA9IHswfTsKIAorZW51bSBwb3J0 X3R5cGVzCit7CisgICAgU0NJRl9QT1JULAorICAgIE5SX1BPUlRTLAorfTsKKworc3RydWN0IHBv cnRfcGFyYW1zCit7CisgICAgdW5zaWduZWQgaW50IHN0YXR1c19yZWc7CisgICAgdW5zaWduZWQg aW50IHR4X2ZpZm9fcmVnOworICAgIHVuc2lnbmVkIGludCByeF9maWZvX3JlZzsKKyAgICB1bnNp Z25lZCBpbnQgb3ZlcnJ1bl9yZWc7CisgICAgdW5zaWduZWQgaW50IG92ZXJydW5fbWFzazsKKyAg ICB1bnNpZ25lZCBpbnQgZXJyb3JfbWFzazsKKyAgICB1bnNpZ25lZCBpbnQgaXJxX2ZsYWdzOwor ICAgIHVuc2lnbmVkIGludCBmaWZvX3NpemU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHBv cnRfcGFyYW1zIHBvcnRfcGFyYW1zW05SX1BPUlRTXSA9Cit7CisgICAgW1NDSUZfUE9SVF0gPQor ICAgIHsKKyAgICAgICAgLnN0YXR1c19yZWcgICA9IFNDSUZfU0NGU1IsCisgICAgICAgIC50eF9m aWZvX3JlZyAgPSBTQ0lGX1NDRlREUiwKKyAgICAgICAgLnJ4X2ZpZm9fcmVnICA9IFNDSUZfU0NG UkRSLAorICAgICAgICAub3ZlcnJ1bl9yZWcgID0gU0NJRl9TQ0xTUiwKKyAgICAgICAgLm92ZXJy dW5fbWFzayA9IFNDTFNSX09SRVIsCisgICAgICAgIC5lcnJvcl9tYXNrICAgPSBTQ0ZTUl9QRVIg fCBTQ0ZTUl9GRVIgfCBTQ0ZTUl9CUksgfCBTQ0ZTUl9FUiwKKyAgICAgICAgLmlycV9mbGFncyAg ICA9IFNDU0NSX1JJRSB8IFNDU0NSX1RJRSB8IFNDU0NSX1JFSUUsCisgICAgICAgIC5maWZvX3Np emUgICAgPSAxNiwKKyAgICB9LAorfTsKKwogc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVw dChpbnQgaXJxLCB2b2lkICpkYXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAg ICBzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQgPSBkYXRhOwogICAgIHN0cnVjdCBzY2lmX3VhcnQg KnVhcnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFtcyAqcGFyYW1z ID0gdWFydC0+cGFyYW1zOwogICAgIHVpbnQxNl90IHN0YXR1cywgY3RybDsKIAogICAgIGN0cmwg PSBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NTQ1IpOwotICAgIHN0YXR1cyA9IHNjaWZfcmVhZHco dWFydCwgU0NJRl9TQ0ZTUikgJiB+U0NGU1JfVEVORDsKKyAgICBzdGF0dXMgPSBzY2lmX3JlYWR3 KHVhcnQsIHBhcmFtcy0+c3RhdHVzX3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAvKiBJZ25vcmUg bmV4dCBmbGFnIGlmIFRYIEludGVycnVwdCBpcyBkaXNhYmxlZCAqLwogICAgIGlmICggIShjdHJs ICYgU0NTQ1JfVElFKSApCiAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTY1LDEz ICsxMDAsMTMgQEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lk ICpkYXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgIHNlcmlhbF9y eF9pbnRlcnJ1cHQocG9ydCwgcmVncyk7CiAKICAgICAgICAgLyogRXJyb3IgSW50ZXJydXB0ICov Ci0gICAgICAgIGlmICggc3RhdHVzICYgU0NJRl9FUlJPUlMgKQotICAgICAgICAgICAgc2NpZl93 cml0ZXcodWFydCwgU0NJRl9TQ0ZTUiwgflNDSUZfRVJST1JTKTsKLSAgICAgICAgaWYgKCBzY2lm X3JlYWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NMU1JfT1JFUiApCi0gICAgICAgICAgICBzY2lm X3dyaXRldyh1YXJ0LCBTQ0lGX1NDTFNSLCAwKTsKKyAgICAgICAgaWYgKCBzdGF0dXMgJiBwYXJh bXMtPmVycm9yX21hc2sgKQorICAgICAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5z dGF0dXNfcmVnLCB+cGFyYW1zLT5lcnJvcl9tYXNrKTsKKyAgICAgICAgaWYgKCBzY2lmX3JlYWR3 KHVhcnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcpICYgcGFyYW1zLT5vdmVycnVuX21hc2sgKQorICAg ICAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5vdmVycnVuX3JlZywgfnBhcmFtcy0+ b3ZlcnJ1bl9tYXNrKTsKIAogICAgICAgICBjdHJsID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1ND U0NSKTsKLSAgICAgICAgc3RhdHVzID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIH5T Q0ZTUl9URU5EOworICAgICAgICBzdGF0dXMgPSBzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3Rh dHVzX3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAgICAgLyogSWdub3JlIG5leHQgZmxhZyBpZiBU WCBJbnRlcnJ1cHQgaXMgZGlzYWJsZWQgKi8KICAgICAgICAgaWYgKCAhKGN0cmwgJiBTQ1NDUl9U SUUpICkKICAgICAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTgxLDEyICsxMTYs MTMgQEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkYXRh LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3Vh cnRfaW5pdF9wcmVpcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogewogICAgIHN0cnVjdCBz Y2lmX3VhcnQgKnVhcnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFt cyAqcGFyYW1zID0gdWFydC0+cGFyYW1zOwogCiAgICAgLyoKICAgICAgKiBXYWl0IHVudGlsIGxh c3QgYml0IGhhcyBiZWVuIHRyYW5zbWl0dGVkLiBUaGlzIGlzIG5lZWRlZCBmb3IgYSBzbW9vdGgK ICAgICAgKiB0cmFuc2l0aW9uIHdoZW4gd2UgY29tZSBmcm9tIGVhcmx5IHByaW50awogICAgICAq LwotICAgIHdoaWxlICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgU0NGU1JfVEVO RCkgKTsKKyAgICB3aGlsZSAoICEoc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcp ICYgU0NGU1JfVEVORCkgKTsKIAogICAgIC8qIERpc2FibGUgVFgvUlggcGFydHMgYW5kIGFsbCBp bnRlcnJ1cHRzICovCiAgICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ1NDUiwgMCk7CkBAIC05 NSwxMCArMTMxLDEwIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3VhcnRfaW5pdF9wcmVpcnEo c3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NG Q1IsIFNDRkNSX1JGUlNUIHwgU0NGQ1JfVEZSU1QpOwogCiAgICAgLyogQ2xlYXIgYWxsIGVycm9y cyBhbmQgZmxhZ3MgKi8KLSAgICBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOwotICAgIHNj aWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIDApOwotICAgIHNjaWZfcmVhZHcodWFydCwgU0NJ Rl9TQ0xTUik7Ci0gICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ0xTUiwgMCk7CisgICAgc2Np Zl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpOworICAgIHNjaWZfd3JpdGV3KHVhcnQs IHBhcmFtcy0+c3RhdHVzX3JlZywgMCk7CisgICAgc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPm92 ZXJydW5fcmVnKTsKKyAgICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPm92ZXJydW5fcmVnLCAw KTsKIAogICAgIC8qIFNldHVwIHRyaWdnZXIgbGV2ZWwgZm9yIFRYL1JYIEZJRk9zICovCiAgICAg c2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ0ZDUiwgU0NGQ1JfUlRSRzExIHwgU0NGQ1JfVFRSRzEx KTsKQEAgLTExMSw2ICsxNDcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRf cHJlaXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lm X3VhcnRfaW5pdF9wb3N0aXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHsKICAgICBzdHJ1 Y3Qgc2NpZl91YXJ0ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9w YXJhbXMgKnBhcmFtcyA9IHVhcnQtPnBhcmFtczsKICAgICBpbnQgcmM7CiAKICAgICB1YXJ0LT5p cnFhY3Rpb24uaGFuZGxlciA9IHNjaWZfdWFydF9pbnRlcnJ1cHQ7CkBAIC0xMjIsMTQgKzE1OSwx NCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRfcG9zdGlycShzdHJ1Y3Qgc2Vy aWFsX3BvcnQgKnBvcnQpCiAgICAgICAgICAgICAgICAgdWFydC0+aXJxKTsKIAogICAgIC8qIENs ZWFyIGFsbCBlcnJvcnMgKi8KLSAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikg JiBTQ0lGX0VSUk9SUyApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH5T Q0lGX0VSUk9SUyk7Ci0gICAgaWYgKCBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NM U1JfT1JFUiApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NMU1IsIDApOworICAg IGlmICggc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgcGFyYW1zLT5lcnJv cl9tYXNrICkKKyAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5zdGF0dXNfcmVnLCB+ cGFyYW1zLT5lcnJvcl9tYXNrKTsKKyAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgcGFyYW1zLT5v dmVycnVuX3JlZykgJiBwYXJhbXMtPm92ZXJydW5fbWFzayApCisgICAgICAgIHNjaWZfd3JpdGV3 KHVhcnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcsIH5wYXJhbXMtPm92ZXJydW5fbWFzayk7CiAKICAg ICAvKiBFbmFibGUgVFgvUlggYW5kIEVycm9yIEludGVycnVwdHMgICovCiAgICAgc2NpZl93cml0 ZXcodWFydCwgU0NJRl9TQ1NDUiwgc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDU0NSKSB8Ci0gICAg ICAgICAgICAgICAgIFNDU0NSX1RJRSB8IFNDU0NSX1JJRSB8IFNDU0NSX1JFSUUpOworICAgICAg ICAgICAgICAgIHBhcmFtcy0+aXJxX2ZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgc2NpZl91YXJ0 X3N1c3BlbmQoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQpAQCAtMTQ1LDQzICsxODIsNDcgQEAg c3RhdGljIHZvaWQgc2NpZl91YXJ0X3Jlc3VtZShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiBz dGF0aWMgaW50IHNjaWZfdWFydF90eF9yZWFkeShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiB7 CiAgICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVhcnQ7CisgICAgY29uc3Qgc3Ry dWN0IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7CiAgICAgdWludDE2X3QgY250 OwogCiAgICAgLyogQ2hlY2sgZm9yIGVtcHR5IHNwYWNlIGluIFRYIEZJRk8gKi8KLSAgICBpZiAo ICEoc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIFNDRlNSX1RERkUpICkKKyAgICBpZiAo ICEoc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgU0NGU1JfVERGRSkgKQog ICAgICAgICByZXR1cm4gMDsKIAogICAgICAvKiBDaGVjayBudW1iZXIgb2YgZGF0YSBieXRlcyBz dG9yZWQgaW4gVFggRklGTyAqLwogICAgIGNudCA9IHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZE UikgPj4gODsKLSAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBTQ0lGX0ZJRk9fTUFYX1NJ WkUgKTsKKyAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBwYXJhbXMtPmZpZm9fc2l6ZSAp OwogCi0gICAgcmV0dXJuIChTQ0lGX0ZJRk9fTUFYX1NJWkUgLSBjbnQpOworICAgIHJldHVybiAo cGFyYW1zLT5maWZvX3NpemUgLSBjbnQpOwogfQogCiBzdGF0aWMgdm9pZCBzY2lmX3VhcnRfcHV0 YyhzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQsIGNoYXIgYykKIHsKICAgICBzdHJ1Y3Qgc2NpZl91 YXJ0ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9wYXJhbXMgKnBh cmFtcyA9IHVhcnQtPnBhcmFtczsKIAotICAgIHNjaWZfd3JpdGViKHVhcnQsIFNDSUZfU0NGVERS LCBjKTsKKyAgICBzY2lmX3dyaXRlYih1YXJ0LCBwYXJhbXMtPnR4X2ZpZm9fcmVnLCBjKTsKICAg ICAvKiBDbGVhciByZXF1aXJlZCBUWCBmbGFncyAqLwotICAgIHNjaWZfd3JpdGV3KHVhcnQsIFND SUZfU0NGU1IsIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikgJgotICAgICAgICAgICAgICAg ICB+KFNDRlNSX1RFTkQgfCBTQ0ZTUl9UREZFKSk7CisgICAgc2NpZl93cml0ZXcodWFydCwgcGFy YW1zLT5zdGF0dXNfcmVnLAorICAgICAgICAgICAgICAgIHNjaWZfcmVhZHcodWFydCwgcGFyYW1z LT5zdGF0dXNfcmVnKSAmCisgICAgICAgICAgICAgICAgfihTQ0ZTUl9URU5EIHwgU0NGU1JfVERG RSkpOwogfQogCiBzdGF0aWMgaW50IHNjaWZfdWFydF9nZXRjKHN0cnVjdCBzZXJpYWxfcG9ydCAq cG9ydCwgY2hhciAqcGMpCiB7CiAgICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVh cnQ7CisgICAgY29uc3Qgc3RydWN0IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7 CiAKICAgICAvKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRhdGEgYnl0ZXMgaW4gUlggRklGTyAqLwot ICAgIGlmICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgKFNDRlNSX1JERiB8IFND RlNSX0RSKSkgKQorICAgIGlmICggIShzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3RhdHVzX3Jl ZykgJiAoU0NGU1JfUkRGIHwgU0NGU1JfRFIpKSApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg KnBjID0gc2NpZl9yZWFkYih1YXJ0LCBTQ0lGX1NDRlJEUik7CisgICAgKnBjID0gc2NpZl9yZWFk Yih1YXJ0LCBwYXJhbXMtPnJ4X2ZpZm9fcmVnKTsKIAogICAgIC8qIGR1bW15IHJlYWQgKi8KLSAg ICBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOworICAgIHNjaWZfcmVhZHcodWFydCwgcGFy YW1zLT5zdGF0dXNfcmVnKTsKICAgICAvKiBDbGVhciByZXF1aXJlZCBSWCBmbGFncyAqLwotICAg IHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH4oU0NGU1JfUkRGIHwgU0NGU1JfRFIpKTsK KyAgICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcsIH4oU0NGU1JfUkRGIHwg U0NGU1JfRFIpKTsKIAogICAgIHJldHVybiAxOwogfQpAQCAtMjI5LDkgKzI3MCwxNiBAQCBzdGF0 aWMgc3RydWN0IHVhcnRfZHJpdmVyIF9fcmVhZF9tb3N0bHkgc2NpZl91YXJ0X2RyaXZlciA9IHsK ICAgICAudnVhcnRfaW5mbyAgID0gc2NpZl92dWFydF9pbmZvLAogfTsKIAorc3RhdGljIGNvbnN0 IHN0cnVjdCBkdF9kZXZpY2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3Qg PQoreworICAgIHsgLmNvbXBhdGlibGUgPSAicmVuZXNhcyxzY2lmIiwgIC5kYXRhID0gKHZvaWQg KilTQ0lGX1BPUlQgfSwKKyAgICB7IC8qIHNlbnRpbmVsICovIH0sCit9OworCiBzdGF0aWMgaW50 IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRldiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCiB7CisgICAgY29u c3Qgc3RydWN0IGR0X2RldmljZV9tYXRjaCAqbWF0Y2g7CiAgICAgY29uc3QgY2hhciAqY29uZmln ID0gZGF0YTsKICAgICBzdHJ1Y3Qgc2NpZl91YXJ0ICp1YXJ0OwogICAgIGludCByZXM7CkBAIC0y NjUsMTAgKzMxMywxNCBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3Qg ZHRfZGV2aWNlX25vZGUgKmRldiwKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgfQogCisg ICAgbWF0Y2ggPSBkdF9tYXRjaF9ub2RlKHNjaWZfdWFydF9kdF9tYXRjaCwgZGV2KTsKKyAgICBB U1NFUlQoIG1hdGNoICk7CisgICAgdWFydC0+cGFyYW1zID0gJnBvcnRfcGFyYW1zWyhlbnVtIHBv cnRfdHlwZXMpbWF0Y2gtPmRhdGFdOworCiAgICAgdWFydC0+dnVhcnQuYmFzZV9hZGRyICA9IGFk ZHI7CiAgICAgdWFydC0+dnVhcnQuc2l6ZSAgICAgICA9IHNpemU7Ci0gICAgdWFydC0+dnVhcnQu ZGF0YV9vZmYgICA9IFNDSUZfU0NGVERSOwotICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSBT Q0lGX1NDRlNSOworICAgIHVhcnQtPnZ1YXJ0LmRhdGFfb2ZmICAgPSB1YXJ0LT5wYXJhbXMtPnR4 X2ZpZm9fcmVnOworICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSB1YXJ0LT5wYXJhbXMtPnN0 YXR1c19yZWc7CiAgICAgdWFydC0+dnVhcnQuc3RhdHVzICAgICA9IFNDRlNSX1RERkU7CiAKICAg ICAvKiBSZWdpc3RlciB3aXRoIGdlbmVyaWMgc2VyaWFsIGRyaXZlciAqLwpAQCAtMjc5LDEyICsz MzEsNiBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNl X25vZGUgKmRldiwKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkdF9k ZXZpY2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3QgPQotewotICAgIERU X01BVENIX0NPTVBBVElCTEUoInJlbmVzYXMsc2NpZiIpLAotICAgIHsgLyogc2VudGluZWwgKi8g fSwKLX07Ci0KIERUX0RFVklDRV9TVEFSVChzY2lmX3VhcnQsICJTQ0lGIFVBUlQiLCBERVZJQ0Vf U0VSSUFMKQogICAgIC5kdF9tYXRjaCA9IHNjaWZfdWFydF9kdF9tYXRjaCwKICAgICAuaW5pdCA9 IHNjaWZfdWFydF9pbml0LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVh cnQuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2NpZi11YXJ0LmgKaW5kZXggODEzNzg1MC4uYzM0 M2YyZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVhcnQuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20tYXJtL3NjaWYtdWFydC5oCkBAIC0yMSw4ICsyMSw2IEBACiAjaWZuZGVm IF9fQVNNX0FSTV9TQ0lGX1VBUlRfSAogI2RlZmluZSBfX0FTTV9BUk1fU0NJRl9VQVJUX0gKIAot I2RlZmluZSBTQ0lGX0ZJRk9fTUFYX1NJWkUgICAgMTYKLQogLyogUmVnaXN0ZXIgb2Zmc2V0cyAq LwogI2RlZmluZSBTQ0lGX1NDU01SICAgICAoMHgwMCkgICAgLyogU2VyaWFsIG1vZGUgcmVnaXN0 ZXIgICAgICAgICAgICovCiAjZGVmaW5lIFNDSUZfU0NCUlIgICAgICgweDA0KSAgICAvKiBCaXQg cmF0ZSByZWdpc3RlciAgICAgICAgICAgICAgKi8KQEAgLTU3LDggKzU1LDYgQEAKICNkZWZpbmUg U0NGU1JfUkRGICAgICAoMSA8PCAxKSAgICAvKiBSZWNlaXZlIEZJRk8gRGF0YSBGdWxsICovCiAj ZGVmaW5lIFNDRlNSX0RSICAgICAgKDEgPDwgMCkgICAgLyogUmVjZWl2ZSBEYXRhIFJlYWR5ICov CiAKLSNkZWZpbmUgU0NJRl9FUlJPUlMgICAgKFNDRlNSX1BFUiB8IFNDRlNSX0ZFUiB8IFNDRlNS X0VSIHwgU0NGU1JfQlJLKQotCiAvKiBMaW5lIFN0YXR1cyBSZWdpc3RlciAoU0NMU1IpICovCiAj ZGVmaW5lIFNDTFNSX1RPICAgICAgKDEgPDwgMikgICAgLyogVGltZW91dCAqLwogI2RlZmluZSBT Q0xTUl9PUkVSICAgICgxIDw8IDApICAgIC8qIE92ZXJydW4gRXJyb3IgKi8KLS0gCjIuNy40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==