From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: [PATCH V5 1/4] xen/arm: drivers: scif: Extend driver to handle other interfaces Date: Thu, 2 May 2019 20:00:19 +0300 Message-ID: <1556816422-25185-2-git-send-email-olekstysh@gmail.com> References: <1556816422-25185-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 1hMF4V-0001yY-8M for xen-devel@lists.xenproject.org; Thu, 02 May 2019 17:00:35 +0000 Received: by mail-lj1-x243.google.com with SMTP id c6so2829958lji.11 for ; Thu, 02 May 2019 10:00:33 -0700 (PDT) In-Reply-To: <1556816422-25185-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 YW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQWNrZWQtYnk6 IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KICAgIENoYW5nZXMgaW4g djI6CiAgICAgICAgLSBOYW1lIGEgZW51bSBmb3IgZGVzY3JpYmluZyBpbnRlcmZhY2VzIHRoaXMg ZHJpdmVyIHN1cHBvcnRzCiAgICAgICAgLSBVc2UgbG9jYWwgdmFyaWFibGUgZm9yICJwYXJhbXMi IHdoZXJlIGFwcHJvcHJpYXRlCiAgICAgICAgLSBVc2UgImRhdGEiIGZpZWxkIGluIHN0cnVjdCBk dF9kZXZpY2VfbWF0Y2ggaW5zdGVhZCBvZiBjYWxsaW5nCiAgICAgICAgICBkdF9kZXZpY2VfaXNf Y29tcGF0aWJsZSgpCiAgICAgICAgLSBEb24ndCBjaGVjayBmb3IgIm92ZXJydW5fcmVnICE9IHN0 YXR1c19yZWciIGNvbmRpdGlvbiBkdXJpbmcKICAgICAgICAgIGluaXRpYWxpemF0aW9uCgogICAg Q2hhbmdlcyBpbiB2MzoKICAgICAgICAtIFRoaXMgcGF0Y2ggaXMgYSByZXN1bHQgb2Ygc3BsaXR0 aW5nIGFuIGluaXRpYWwgcGF0Y2gKICAgICAgICAgICJ4ZW4vYXJtOiBkcml2ZXJzOiBzY2lmOiBB ZGQgc3VwcG9ydCBmb3IgU0NJRkEgY29tcGF0aWJsZSBVQVJUcyIKICAgICAgICAgIGFuZCBvbmx5 IHJld29ya3MgYSBkcml2ZXIKICAgICAgICAtIERyb3AgInBvcnRfdHlwZSIgdmFyaWFibGUgZnJv bSBzY2lmX3VhcnRfaW5pdCgpLCBwYXNzIGEgcG9pbnRlcgogICAgICAgICAgZGlyZWN0bHkKCiAg ICBDaGFuZ2VzIGluIHY0OgogICAgICAgIC0gQWRkIEFTU0VSVChtYXRjaCkgaW4gc2NpZl91YXJ0 X2luaXQoKQogICAgICAgIC0gRHJvcCAiaWYgKCBwYXJhbXMtPm92ZXJydW5fcmVnICE9IHBhcmFt cy0+c3RhdHVzX3JlZyApIiBjaGVjawogICAgICAgICAgaW4gc2NpZl91YXJ0X2ludGVycnVwdCgp IGFuZCBzY2lmX3VhcnRfaW5pdF9wb3N0aXJxKCkKICAgICAgICAtIEFkZCBhbiBleHBsYW5hdGlv biB0byBjb21taXQgbWVzc2FnZQoKICAgIENoYW5nZXMgaW4gdjU6CiAgICAgICAgLSBBZGQgSnVs aWVuJ3MgQS1iCgotLS0KIHhlbi9kcml2ZXJzL2NoYXIvc2NpZi11YXJ0LmMgICAgfCAxMTQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFy bS9zY2lmLXVhcnQuaCB8ICAgNCAtLQogMiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCsp LCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYtdWFy dC5jIGIveGVuL2RyaXZlcnMvY2hhci9zY2lmLXVhcnQuYwppbmRleCA0NjVmYjM0Li44NTQ4M2Vl IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYtdWFydC5jCisrKyBiL3hlbi9kcml2 ZXJzL2NoYXIvc2NpZi11YXJ0LmMKQEAgLTQwLDE2ICs0MCw1MSBAQCBzdGF0aWMgc3RydWN0IHNj aWZfdWFydCB7CiAgICAgY2hhciBfX2lvbWVtICpyZWdzOwogICAgIHN0cnVjdCBpcnFhY3Rpb24g aXJxYWN0aW9uOwogICAgIHN0cnVjdCB2dWFydF9pbmZvIHZ1YXJ0OworICAgIGNvbnN0IHN0cnVj dCBwb3J0X3BhcmFtcyAqcGFyYW1zOwogfSBzY2lmX2NvbSA9IHswfTsKIAorZW51bSBwb3J0X3R5 cGVzCit7CisgICAgU0NJRl9QT1JULAorICAgIE5SX1BPUlRTLAorfTsKKworc3RydWN0IHBvcnRf cGFyYW1zCit7CisgICAgdW5zaWduZWQgaW50IHN0YXR1c19yZWc7CisgICAgdW5zaWduZWQgaW50 IHR4X2ZpZm9fcmVnOworICAgIHVuc2lnbmVkIGludCByeF9maWZvX3JlZzsKKyAgICB1bnNpZ25l ZCBpbnQgb3ZlcnJ1bl9yZWc7CisgICAgdW5zaWduZWQgaW50IG92ZXJydW5fbWFzazsKKyAgICB1 bnNpZ25lZCBpbnQgZXJyb3JfbWFzazsKKyAgICB1bnNpZ25lZCBpbnQgaXJxX2ZsYWdzOworICAg IHVuc2lnbmVkIGludCBmaWZvX3NpemU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHBvcnRf cGFyYW1zIHBvcnRfcGFyYW1zW05SX1BPUlRTXSA9Cit7CisgICAgW1NDSUZfUE9SVF0gPQorICAg IHsKKyAgICAgICAgLnN0YXR1c19yZWcgICA9IFNDSUZfU0NGU1IsCisgICAgICAgIC50eF9maWZv X3JlZyAgPSBTQ0lGX1NDRlREUiwKKyAgICAgICAgLnJ4X2ZpZm9fcmVnICA9IFNDSUZfU0NGUkRS LAorICAgICAgICAub3ZlcnJ1bl9yZWcgID0gU0NJRl9TQ0xTUiwKKyAgICAgICAgLm92ZXJydW5f bWFzayA9IFNDTFNSX09SRVIsCisgICAgICAgIC5lcnJvcl9tYXNrICAgPSBTQ0ZTUl9QRVIgfCBT Q0ZTUl9GRVIgfCBTQ0ZTUl9CUksgfCBTQ0ZTUl9FUiwKKyAgICAgICAgLmlycV9mbGFncyAgICA9 IFNDU0NSX1JJRSB8IFNDU0NSX1RJRSB8IFNDU0NSX1JFSUUsCisgICAgICAgIC5maWZvX3NpemUg ICAgPSAxNiwKKyAgICB9LAorfTsKKwogc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChp bnQgaXJxLCB2b2lkICpkYXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICBz dHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQgPSBkYXRhOwogICAgIHN0cnVjdCBzY2lmX3VhcnQgKnVh cnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFtcyAqcGFyYW1zID0g dWFydC0+cGFyYW1zOwogICAgIHVpbnQxNl90IHN0YXR1cywgY3RybDsKIAogICAgIGN0cmwgPSBz Y2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NTQ1IpOwotICAgIHN0YXR1cyA9IHNjaWZfcmVhZHcodWFy dCwgU0NJRl9TQ0ZTUikgJiB+U0NGU1JfVEVORDsKKyAgICBzdGF0dXMgPSBzY2lmX3JlYWR3KHVh cnQsIHBhcmFtcy0+c3RhdHVzX3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAvKiBJZ25vcmUgbmV4 dCBmbGFnIGlmIFRYIEludGVycnVwdCBpcyBkaXNhYmxlZCAqLwogICAgIGlmICggIShjdHJsICYg U0NTQ1JfVElFKSApCiAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTY1LDEzICsx MDAsMTMgQEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpk YXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgIHNlcmlhbF9yeF9p bnRlcnJ1cHQocG9ydCwgcmVncyk7CiAKICAgICAgICAgLyogRXJyb3IgSW50ZXJydXB0ICovCi0g ICAgICAgIGlmICggc3RhdHVzICYgU0NJRl9FUlJPUlMgKQotICAgICAgICAgICAgc2NpZl93cml0 ZXcodWFydCwgU0NJRl9TQ0ZTUiwgflNDSUZfRVJST1JTKTsKLSAgICAgICAgaWYgKCBzY2lmX3Jl YWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NMU1JfT1JFUiApCi0gICAgICAgICAgICBzY2lmX3dy aXRldyh1YXJ0LCBTQ0lGX1NDTFNSLCAwKTsKKyAgICAgICAgaWYgKCBzdGF0dXMgJiBwYXJhbXMt PmVycm9yX21hc2sgKQorICAgICAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5zdGF0 dXNfcmVnLCB+cGFyYW1zLT5lcnJvcl9tYXNrKTsKKyAgICAgICAgaWYgKCBzY2lmX3JlYWR3KHVh cnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcpICYgcGFyYW1zLT5vdmVycnVuX21hc2sgKQorICAgICAg ICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5vdmVycnVuX3JlZywgfnBhcmFtcy0+b3Zl cnJ1bl9tYXNrKTsKIAogICAgICAgICBjdHJsID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDU0NS KTsKLSAgICAgICAgc3RhdHVzID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIH5TQ0ZT Ul9URU5EOworICAgICAgICBzdGF0dXMgPSBzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3RhdHVz X3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAgICAgLyogSWdub3JlIG5leHQgZmxhZyBpZiBUWCBJ bnRlcnJ1cHQgaXMgZGlzYWJsZWQgKi8KICAgICAgICAgaWYgKCAhKGN0cmwgJiBTQ1NDUl9USUUp ICkKICAgICAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTgxLDEyICsxMTYsMTMg QEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkYXRhLCBz dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3VhcnRf aW5pdF9wcmVpcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogewogICAgIHN0cnVjdCBzY2lm X3VhcnQgKnVhcnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFtcyAq cGFyYW1zID0gdWFydC0+cGFyYW1zOwogCiAgICAgLyoKICAgICAgKiBXYWl0IHVudGlsIGxhc3Qg Yml0IGhhcyBiZWVuIHRyYW5zbWl0dGVkLiBUaGlzIGlzIG5lZWRlZCBmb3IgYSBzbW9vdGgKICAg ICAgKiB0cmFuc2l0aW9uIHdoZW4gd2UgY29tZSBmcm9tIGVhcmx5IHByaW50awogICAgICAqLwot ICAgIHdoaWxlICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgU0NGU1JfVEVORCkg KTsKKyAgICB3aGlsZSAoICEoc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYg U0NGU1JfVEVORCkgKTsKIAogICAgIC8qIERpc2FibGUgVFgvUlggcGFydHMgYW5kIGFsbCBpbnRl cnJ1cHRzICovCiAgICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ1NDUiwgMCk7CkBAIC05NSwx MCArMTMxLDEwIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3VhcnRfaW5pdF9wcmVpcnEoc3Ry dWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGQ1Is IFNDRkNSX1JGUlNUIHwgU0NGQ1JfVEZSU1QpOwogCiAgICAgLyogQ2xlYXIgYWxsIGVycm9ycyBh bmQgZmxhZ3MgKi8KLSAgICBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOwotICAgIHNjaWZf d3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIDApOwotICAgIHNjaWZfcmVhZHcodWFydCwgU0NJRl9T Q0xTUik7Ci0gICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ0xTUiwgMCk7CisgICAgc2NpZl9y ZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpOworICAgIHNjaWZfd3JpdGV3KHVhcnQsIHBh cmFtcy0+c3RhdHVzX3JlZywgMCk7CisgICAgc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPm92ZXJy dW5fcmVnKTsKKyAgICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPm92ZXJydW5fcmVnLCAwKTsK IAogICAgIC8qIFNldHVwIHRyaWdnZXIgbGV2ZWwgZm9yIFRYL1JYIEZJRk9zICovCiAgICAgc2Np Zl93cml0ZXcodWFydCwgU0NJRl9TQ0ZDUiwgU0NGQ1JfUlRSRzExIHwgU0NGQ1JfVFRSRzExKTsK QEAgLTExMSw2ICsxNDcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRfcHJl aXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3Vh cnRfaW5pdF9wb3N0aXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHsKICAgICBzdHJ1Y3Qg c2NpZl91YXJ0ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9wYXJh bXMgKnBhcmFtcyA9IHVhcnQtPnBhcmFtczsKICAgICBpbnQgcmM7CiAKICAgICB1YXJ0LT5pcnFh Y3Rpb24uaGFuZGxlciA9IHNjaWZfdWFydF9pbnRlcnJ1cHQ7CkBAIC0xMjIsMTQgKzE1OSwxNCBA QCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRfcG9zdGlycShzdHJ1Y3Qgc2VyaWFs X3BvcnQgKnBvcnQpCiAgICAgICAgICAgICAgICAgdWFydC0+aXJxKTsKIAogICAgIC8qIENsZWFy IGFsbCBlcnJvcnMgKi8KLSAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikgJiBT Q0lGX0VSUk9SUyApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH5TQ0lG X0VSUk9SUyk7Ci0gICAgaWYgKCBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NMU1Jf T1JFUiApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NMU1IsIDApOworICAgIGlm ICggc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgcGFyYW1zLT5lcnJvcl9t YXNrICkKKyAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5zdGF0dXNfcmVnLCB+cGFy YW1zLT5lcnJvcl9tYXNrKTsKKyAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgcGFyYW1zLT5vdmVy cnVuX3JlZykgJiBwYXJhbXMtPm92ZXJydW5fbWFzayApCisgICAgICAgIHNjaWZfd3JpdGV3KHVh cnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcsIH5wYXJhbXMtPm92ZXJydW5fbWFzayk7CiAKICAgICAv KiBFbmFibGUgVFgvUlggYW5kIEVycm9yIEludGVycnVwdHMgICovCiAgICAgc2NpZl93cml0ZXco dWFydCwgU0NJRl9TQ1NDUiwgc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDU0NSKSB8Ci0gICAgICAg ICAgICAgICAgIFNDU0NSX1RJRSB8IFNDU0NSX1JJRSB8IFNDU0NSX1JFSUUpOworICAgICAgICAg ICAgICAgIHBhcmFtcy0+aXJxX2ZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgc2NpZl91YXJ0X3N1 c3BlbmQoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQpAQCAtMTQ1LDQzICsxODIsNDcgQEAgc3Rh dGljIHZvaWQgc2NpZl91YXJ0X3Jlc3VtZShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiBzdGF0 aWMgaW50IHNjaWZfdWFydF90eF9yZWFkeShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiB7CiAg ICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVhcnQ7CisgICAgY29uc3Qgc3RydWN0 IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7CiAgICAgdWludDE2X3QgY250Owog CiAgICAgLyogQ2hlY2sgZm9yIGVtcHR5IHNwYWNlIGluIFRYIEZJRk8gKi8KLSAgICBpZiAoICEo c2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIFNDRlNSX1RERkUpICkKKyAgICBpZiAoICEo c2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgU0NGU1JfVERGRSkgKQogICAg ICAgICByZXR1cm4gMDsKIAogICAgICAvKiBDaGVjayBudW1iZXIgb2YgZGF0YSBieXRlcyBzdG9y ZWQgaW4gVFggRklGTyAqLwogICAgIGNudCA9IHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZEUikg Pj4gODsKLSAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBTQ0lGX0ZJRk9fTUFYX1NJWkUg KTsKKyAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBwYXJhbXMtPmZpZm9fc2l6ZSApOwog Ci0gICAgcmV0dXJuIChTQ0lGX0ZJRk9fTUFYX1NJWkUgLSBjbnQpOworICAgIHJldHVybiAocGFy YW1zLT5maWZvX3NpemUgLSBjbnQpOwogfQogCiBzdGF0aWMgdm9pZCBzY2lmX3VhcnRfcHV0Yyhz dHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQsIGNoYXIgYykKIHsKICAgICBzdHJ1Y3Qgc2NpZl91YXJ0 ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9wYXJhbXMgKnBhcmFt cyA9IHVhcnQtPnBhcmFtczsKIAotICAgIHNjaWZfd3JpdGViKHVhcnQsIFNDSUZfU0NGVERSLCBj KTsKKyAgICBzY2lmX3dyaXRlYih1YXJ0LCBwYXJhbXMtPnR4X2ZpZm9fcmVnLCBjKTsKICAgICAv KiBDbGVhciByZXF1aXJlZCBUWCBmbGFncyAqLwotICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZf U0NGU1IsIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikgJgotICAgICAgICAgICAgICAgICB+ KFNDRlNSX1RFTkQgfCBTQ0ZTUl9UREZFKSk7CisgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1z LT5zdGF0dXNfcmVnLAorICAgICAgICAgICAgICAgIHNjaWZfcmVhZHcodWFydCwgcGFyYW1zLT5z dGF0dXNfcmVnKSAmCisgICAgICAgICAgICAgICAgfihTQ0ZTUl9URU5EIHwgU0NGU1JfVERGRSkp OwogfQogCiBzdGF0aWMgaW50IHNjaWZfdWFydF9nZXRjKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9y dCwgY2hhciAqcGMpCiB7CiAgICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVhcnQ7 CisgICAgY29uc3Qgc3RydWN0IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7CiAK ICAgICAvKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRhdGEgYnl0ZXMgaW4gUlggRklGTyAqLwotICAg IGlmICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgKFNDRlNSX1JERiB8IFNDRlNS X0RSKSkgKQorICAgIGlmICggIShzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3RhdHVzX3JlZykg JiAoU0NGU1JfUkRGIHwgU0NGU1JfRFIpKSApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgKnBj ID0gc2NpZl9yZWFkYih1YXJ0LCBTQ0lGX1NDRlJEUik7CisgICAgKnBjID0gc2NpZl9yZWFkYih1 YXJ0LCBwYXJhbXMtPnJ4X2ZpZm9fcmVnKTsKIAogICAgIC8qIGR1bW15IHJlYWQgKi8KLSAgICBz Y2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOworICAgIHNjaWZfcmVhZHcodWFydCwgcGFyYW1z LT5zdGF0dXNfcmVnKTsKICAgICAvKiBDbGVhciByZXF1aXJlZCBSWCBmbGFncyAqLwotICAgIHNj aWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH4oU0NGU1JfUkRGIHwgU0NGU1JfRFIpKTsKKyAg ICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcsIH4oU0NGU1JfUkRGIHwgU0NG U1JfRFIpKTsKIAogICAgIHJldHVybiAxOwogfQpAQCAtMjI5LDkgKzI3MCwxNiBAQCBzdGF0aWMg c3RydWN0IHVhcnRfZHJpdmVyIF9fcmVhZF9tb3N0bHkgc2NpZl91YXJ0X2RyaXZlciA9IHsKICAg ICAudnVhcnRfaW5mbyAgID0gc2NpZl92dWFydF9pbmZvLAogfTsKIAorc3RhdGljIGNvbnN0IHN0 cnVjdCBkdF9kZXZpY2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3QgPQor eworICAgIHsgLmNvbXBhdGlibGUgPSAicmVuZXNhcyxzY2lmIiwgIC5kYXRhID0gKHZvaWQgKilT Q0lGX1BPUlQgfSwKKyAgICB7IC8qIHNlbnRpbmVsICovIH0sCit9OworCiBzdGF0aWMgaW50IF9f aW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRldiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCiB7CisgICAgY29uc3Qg c3RydWN0IGR0X2RldmljZV9tYXRjaCAqbWF0Y2g7CiAgICAgY29uc3QgY2hhciAqY29uZmlnID0g ZGF0YTsKICAgICBzdHJ1Y3Qgc2NpZl91YXJ0ICp1YXJ0OwogICAgIGludCByZXM7CkBAIC0yNjUs MTAgKzMxMywxNCBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRf ZGV2aWNlX25vZGUgKmRldiwKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgfQogCisgICAg bWF0Y2ggPSBkdF9tYXRjaF9ub2RlKHNjaWZfdWFydF9kdF9tYXRjaCwgZGV2KTsKKyAgICBBU1NF UlQoIG1hdGNoICk7CisgICAgdWFydC0+cGFyYW1zID0gJnBvcnRfcGFyYW1zWyhlbnVtIHBvcnRf dHlwZXMpbWF0Y2gtPmRhdGFdOworCiAgICAgdWFydC0+dnVhcnQuYmFzZV9hZGRyICA9IGFkZHI7 CiAgICAgdWFydC0+dnVhcnQuc2l6ZSAgICAgICA9IHNpemU7Ci0gICAgdWFydC0+dnVhcnQuZGF0 YV9vZmYgICA9IFNDSUZfU0NGVERSOwotICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSBTQ0lG X1NDRlNSOworICAgIHVhcnQtPnZ1YXJ0LmRhdGFfb2ZmICAgPSB1YXJ0LT5wYXJhbXMtPnR4X2Zp Zm9fcmVnOworICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSB1YXJ0LT5wYXJhbXMtPnN0YXR1 c19yZWc7CiAgICAgdWFydC0+dnVhcnQuc3RhdHVzICAgICA9IFNDRlNSX1RERkU7CiAKICAgICAv KiBSZWdpc3RlciB3aXRoIGdlbmVyaWMgc2VyaWFsIGRyaXZlciAqLwpAQCAtMjc5LDEyICszMzEs NiBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25v ZGUgKmRldiwKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkdF9kZXZp Y2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3QgPQotewotICAgIERUX01B VENIX0NPTVBBVElCTEUoInJlbmVzYXMsc2NpZiIpLAotICAgIHsgLyogc2VudGluZWwgKi8gfSwK LX07Ci0KIERUX0RFVklDRV9TVEFSVChzY2lmX3VhcnQsICJTQ0lGIFVBUlQiLCBERVZJQ0VfU0VS SUFMKQogICAgIC5kdF9tYXRjaCA9IHNjaWZfdWFydF9kdF9tYXRjaCwKICAgICAuaW5pdCA9IHNj aWZfdWFydF9pbml0LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVhcnQu aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2NpZi11YXJ0LmgKaW5kZXggODEzNzg1MC4uYzM0M2Yy ZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVhcnQuaAorKysgYi94ZW4v aW5jbHVkZS9hc20tYXJtL3NjaWYtdWFydC5oCkBAIC0yMSw4ICsyMSw2IEBACiAjaWZuZGVmIF9f QVNNX0FSTV9TQ0lGX1VBUlRfSAogI2RlZmluZSBfX0FTTV9BUk1fU0NJRl9VQVJUX0gKIAotI2Rl ZmluZSBTQ0lGX0ZJRk9fTUFYX1NJWkUgICAgMTYKLQogLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLwog I2RlZmluZSBTQ0lGX1NDU01SICAgICAoMHgwMCkgICAgLyogU2VyaWFsIG1vZGUgcmVnaXN0ZXIg ICAgICAgICAgICovCiAjZGVmaW5lIFNDSUZfU0NCUlIgICAgICgweDA0KSAgICAvKiBCaXQgcmF0 ZSByZWdpc3RlciAgICAgICAgICAgICAgKi8KQEAgLTU3LDggKzU1LDYgQEAKICNkZWZpbmUgU0NG U1JfUkRGICAgICAoMSA8PCAxKSAgICAvKiBSZWNlaXZlIEZJRk8gRGF0YSBGdWxsICovCiAjZGVm aW5lIFNDRlNSX0RSICAgICAgKDEgPDwgMCkgICAgLyogUmVjZWl2ZSBEYXRhIFJlYWR5ICovCiAK LSNkZWZpbmUgU0NJRl9FUlJPUlMgICAgKFNDRlNSX1BFUiB8IFNDRlNSX0ZFUiB8IFNDRlNSX0VS IHwgU0NGU1JfQlJLKQotCiAvKiBMaW5lIFN0YXR1cyBSZWdpc3RlciAoU0NMU1IpICovCiAjZGVm aW5lIFNDTFNSX1RPICAgICAgKDEgPDwgMikgICAgLyogVGltZW91dCAqLwogI2RlZmluZSBTQ0xT Ul9PUkVSICAgICgxIDw8IDApICAgIC8qIE92ZXJydW4gRXJyb3IgKi8KLS0gCjIuNy40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== 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,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 685CAC04AA9 for ; Thu, 2 May 2019 17:00:51 +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 2B29320C01 for ; Thu, 2 May 2019 17:00:51 +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="MiNV/PuN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2B29320C01 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 1hMF4W-0001yq-9y; Thu, 02 May 2019 17:00:36 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hMF4V-0001yY-8M for xen-devel@lists.xenproject.org; Thu, 02 May 2019 17:00:35 +0000 X-Inumbo-ID: cbe23d36-6cfb-11e9-843c-bc764e045a96 Received: from mail-lj1-x243.google.com (unknown [2a00:1450:4864:20::243]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id cbe23d36-6cfb-11e9-843c-bc764e045a96; Thu, 02 May 2019 17:00:33 +0000 (UTC) Received: by mail-lj1-x243.google.com with SMTP id c6so2829958lji.11 for ; Thu, 02 May 2019 10:00:33 -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=WDAJn3JGw8cKVqYDvlPeha1oFr2+9sty0MQxx3x0on4=; b=MiNV/PuNsddERYzRLwTcqJy8r6gG1OSBL91SfU3VSLv+E9kjD5v84jVK2SJKPkOC6B m6v91F216QRTSPyjX1MJz5vCFDTdubsy4r+VZCnCRNmMX+zFb4dBIpuWSuO3layw45AG phA2Ozk50+djexVLAd1PkJ15HREPtkWcczoCkM9c2Rr41x1kP4s8vuKuV18DVggSQNIs O2mDaKC+XJfKrAjpCVtMBn2Zk9fjfvnTzko2UqVsO1Mz/W7r7MR3rAPxAAAQDjGpx0Uv nfMJZV902xPXLIcm3075eq90DR/i7OriIXM9lRrXhI5Wc/Q/rtfAtlfHp6FA13hFDX6o YF0A== 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=WDAJn3JGw8cKVqYDvlPeha1oFr2+9sty0MQxx3x0on4=; b=nL4S1xz+qg2Qun3joI3tj87E3Bf7I5SxlAOAm0RZgz6H1YxtYHMuv3Cupyb9GHlVsB rFyNeulf5uO8BF/eWY0spO86HDpVxvLoOUoVA7v5QKPtJaVT5bPgNFO+vnajsA/rY1Gp 6Wp9p7LVVyyqDSv8dM1U11sXhXvMmx7Lit5fHrOEXtuuECub2Ih4VY7ELTih/drxrDZ2 eAmglpPCsaLom8J2adxhWHPUURgiGUJdZX6nNdXjm/qZnEmNXOCcuo94tEBB+Wnn+ZJ3 KIM1a3YOfC2eR6I76+Dvb2D0upH2SzfUePt5EQbyKLsdKGcpOwtD3x2WrrLiW5lm7SFq tzNg== X-Gm-Message-State: APjAAAVMtURSWLHapwayKvLM6zFd4P8dQC7igO1F0zY8NhVeHXwe/qLQ m5sy7CWTI2H+g/MSKvG/yRaaPL+GH8k= X-Google-Smtp-Source: APXvYqxRJx0hCOdthASPr2PyZgNcueOog6b0bzmvusK9fCPUdSFn/qndo2v8FIwIv0uYyDrPBaTdhg== X-Received: by 2002:a2e:9753:: with SMTP id f19mr2716497ljj.54.1556816431695; Thu, 02 May 2019 10:00:31 -0700 (PDT) Received: from otyshchenko.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua. [85.223.141.74]) by smtp.gmail.com with ESMTPSA id k21sm2659652ljb.3.2019.05.02.10.00.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 May 2019 10:00:30 -0700 (PDT) From: Oleksandr Tyshchenko To: xen-devel@lists.xenproject.org Date: Thu, 2 May 2019 20:00:19 +0300 Message-Id: <1556816422-25185-2-git-send-email-olekstysh@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1556816422-25185-1-git-send-email-olekstysh@gmail.com> References: <1556816422-25185-1-git-send-email-olekstysh@gmail.com> Subject: [Xen-devel] [PATCH V5 1/4] 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: <20190502170019.4xmLiPK6VW62dEuj1lW8axgoAlzdwiEpj1c7dGjRAg4@z> RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKRXh0ZW5kIGRyaXZlciB0byBiZSBhYmxlIHRvIGhhbmRsZSBvdGhlciBTQ0lGKFgpIGNvbXBh dGlibGUKaW50ZXJmYWNlcyBhcyB3ZWxsLiBUaGVzZSBpbnRlcmZhY2VzIGhhdmUgbG90IGluIGNv bW1vbiwKYnV0IG1vc3RseSBkaWZmZXIgaW4gb2Zmc2V0cyBhbmQgYml0cyBmb3Igc29tZSByZWdp c3RlcnMuCgpGb3IgZXhhbXBsZSwgdGhlIG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuIFNDSUYgYW5k IFNDSUZBIGludGVyZmFjZXMKZnJvbSAic2NpZi11YXJ0IiBkcml2ZXIncyBwb2ludCBvZiB2aWV3 OgotIFJlZ2lzdGVycyBvZmZzZXQ6IHNlcmlhbCBzdGF0dXMsIHJlY2VpdmUvdHJhbnNtaXQgRklG TyBkYXRhCiAgcmVnaXN0ZXJzIGhhdmUgZGlmZmVyZW50IG9mZnNldAotIEludGVybmFsIEZJRk8g c2l6ZTogNjQgYnl0ZXMgZm9yIFNDSUZBIGFuZCAxNiBieXRlcyBmb3IgU0NJRgotIE92ZXJydW4g Yml0IGxvY2F0aW9uOiBzZXJpYWwgc3RhdHVzIHJlZ2lzdGVyIGZvciBTQ0lGQSBhbmQKICBkZWRp Y2F0ZWQgbGluZSBzdGF0dXMgcmVnaXN0ZXIgZm9yIFNDSUYKCkludHJvZHVjZSAicG9ydF9wYXJh bXMiIGFycmF5IHRvIGtlZXAgaW50ZXJmYWNlIHNwZWNpZmljIHRoaW5ncy4KClRoZSAiZGF0YSIg ZmllbGQgaW4gc3RydWN0IGR0X2RldmljZV9tYXRjaCBpcyB1c2VkIGZvciByZWNvZ25pemluZwp3 aGF0IGludGVyZmFjZSBpcyBwcmVzZW50IG9uIGEgdGFyZ2V0IGJvYXJkLgoKUGxlYXNlIG5vdGUs IG5vdGhpbmcgaGFzIGJlZW4gdGVjaG5pY2FsbHkgY2hhbmdlZCBmb3IgUmVuZXNhcyAiTGFnZXIi CmFuZCBvdGhlciBzdXBwb3J0ZWQgYm9hcmRzIChTQ0lGKS4KClNpZ25lZC1vZmYtYnk6IE9sZWtz YW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQWNrZWQtYnk6 IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KICAgIENoYW5nZXMgaW4g djI6CiAgICAgICAgLSBOYW1lIGEgZW51bSBmb3IgZGVzY3JpYmluZyBpbnRlcmZhY2VzIHRoaXMg ZHJpdmVyIHN1cHBvcnRzCiAgICAgICAgLSBVc2UgbG9jYWwgdmFyaWFibGUgZm9yICJwYXJhbXMi IHdoZXJlIGFwcHJvcHJpYXRlCiAgICAgICAgLSBVc2UgImRhdGEiIGZpZWxkIGluIHN0cnVjdCBk dF9kZXZpY2VfbWF0Y2ggaW5zdGVhZCBvZiBjYWxsaW5nCiAgICAgICAgICBkdF9kZXZpY2VfaXNf Y29tcGF0aWJsZSgpCiAgICAgICAgLSBEb24ndCBjaGVjayBmb3IgIm92ZXJydW5fcmVnICE9IHN0 YXR1c19yZWciIGNvbmRpdGlvbiBkdXJpbmcKICAgICAgICAgIGluaXRpYWxpemF0aW9uCgogICAg Q2hhbmdlcyBpbiB2MzoKICAgICAgICAtIFRoaXMgcGF0Y2ggaXMgYSByZXN1bHQgb2Ygc3BsaXR0 aW5nIGFuIGluaXRpYWwgcGF0Y2gKICAgICAgICAgICJ4ZW4vYXJtOiBkcml2ZXJzOiBzY2lmOiBB ZGQgc3VwcG9ydCBmb3IgU0NJRkEgY29tcGF0aWJsZSBVQVJUcyIKICAgICAgICAgIGFuZCBvbmx5 IHJld29ya3MgYSBkcml2ZXIKICAgICAgICAtIERyb3AgInBvcnRfdHlwZSIgdmFyaWFibGUgZnJv bSBzY2lmX3VhcnRfaW5pdCgpLCBwYXNzIGEgcG9pbnRlcgogICAgICAgICAgZGlyZWN0bHkKCiAg ICBDaGFuZ2VzIGluIHY0OgogICAgICAgIC0gQWRkIEFTU0VSVChtYXRjaCkgaW4gc2NpZl91YXJ0 X2luaXQoKQogICAgICAgIC0gRHJvcCAiaWYgKCBwYXJhbXMtPm92ZXJydW5fcmVnICE9IHBhcmFt cy0+c3RhdHVzX3JlZyApIiBjaGVjawogICAgICAgICAgaW4gc2NpZl91YXJ0X2ludGVycnVwdCgp IGFuZCBzY2lmX3VhcnRfaW5pdF9wb3N0aXJxKCkKICAgICAgICAtIEFkZCBhbiBleHBsYW5hdGlv biB0byBjb21taXQgbWVzc2FnZQoKICAgIENoYW5nZXMgaW4gdjU6CiAgICAgICAgLSBBZGQgSnVs aWVuJ3MgQS1iCgotLS0KIHhlbi9kcml2ZXJzL2NoYXIvc2NpZi11YXJ0LmMgICAgfCAxMTQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFy bS9zY2lmLXVhcnQuaCB8ICAgNCAtLQogMiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCsp LCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYtdWFy dC5jIGIveGVuL2RyaXZlcnMvY2hhci9zY2lmLXVhcnQuYwppbmRleCA0NjVmYjM0Li44NTQ4M2Vl IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9jaGFyL3NjaWYtdWFydC5jCisrKyBiL3hlbi9kcml2 ZXJzL2NoYXIvc2NpZi11YXJ0LmMKQEAgLTQwLDE2ICs0MCw1MSBAQCBzdGF0aWMgc3RydWN0IHNj aWZfdWFydCB7CiAgICAgY2hhciBfX2lvbWVtICpyZWdzOwogICAgIHN0cnVjdCBpcnFhY3Rpb24g aXJxYWN0aW9uOwogICAgIHN0cnVjdCB2dWFydF9pbmZvIHZ1YXJ0OworICAgIGNvbnN0IHN0cnVj dCBwb3J0X3BhcmFtcyAqcGFyYW1zOwogfSBzY2lmX2NvbSA9IHswfTsKIAorZW51bSBwb3J0X3R5 cGVzCit7CisgICAgU0NJRl9QT1JULAorICAgIE5SX1BPUlRTLAorfTsKKworc3RydWN0IHBvcnRf cGFyYW1zCit7CisgICAgdW5zaWduZWQgaW50IHN0YXR1c19yZWc7CisgICAgdW5zaWduZWQgaW50 IHR4X2ZpZm9fcmVnOworICAgIHVuc2lnbmVkIGludCByeF9maWZvX3JlZzsKKyAgICB1bnNpZ25l ZCBpbnQgb3ZlcnJ1bl9yZWc7CisgICAgdW5zaWduZWQgaW50IG92ZXJydW5fbWFzazsKKyAgICB1 bnNpZ25lZCBpbnQgZXJyb3JfbWFzazsKKyAgICB1bnNpZ25lZCBpbnQgaXJxX2ZsYWdzOworICAg IHVuc2lnbmVkIGludCBmaWZvX3NpemU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHBvcnRf cGFyYW1zIHBvcnRfcGFyYW1zW05SX1BPUlRTXSA9Cit7CisgICAgW1NDSUZfUE9SVF0gPQorICAg IHsKKyAgICAgICAgLnN0YXR1c19yZWcgICA9IFNDSUZfU0NGU1IsCisgICAgICAgIC50eF9maWZv X3JlZyAgPSBTQ0lGX1NDRlREUiwKKyAgICAgICAgLnJ4X2ZpZm9fcmVnICA9IFNDSUZfU0NGUkRS LAorICAgICAgICAub3ZlcnJ1bl9yZWcgID0gU0NJRl9TQ0xTUiwKKyAgICAgICAgLm92ZXJydW5f bWFzayA9IFNDTFNSX09SRVIsCisgICAgICAgIC5lcnJvcl9tYXNrICAgPSBTQ0ZTUl9QRVIgfCBT Q0ZTUl9GRVIgfCBTQ0ZTUl9CUksgfCBTQ0ZTUl9FUiwKKyAgICAgICAgLmlycV9mbGFncyAgICA9 IFNDU0NSX1JJRSB8IFNDU0NSX1RJRSB8IFNDU0NSX1JFSUUsCisgICAgICAgIC5maWZvX3NpemUg ICAgPSAxNiwKKyAgICB9LAorfTsKKwogc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChp bnQgaXJxLCB2b2lkICpkYXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICBz dHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQgPSBkYXRhOwogICAgIHN0cnVjdCBzY2lmX3VhcnQgKnVh cnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFtcyAqcGFyYW1zID0g dWFydC0+cGFyYW1zOwogICAgIHVpbnQxNl90IHN0YXR1cywgY3RybDsKIAogICAgIGN0cmwgPSBz Y2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NTQ1IpOwotICAgIHN0YXR1cyA9IHNjaWZfcmVhZHcodWFy dCwgU0NJRl9TQ0ZTUikgJiB+U0NGU1JfVEVORDsKKyAgICBzdGF0dXMgPSBzY2lmX3JlYWR3KHVh cnQsIHBhcmFtcy0+c3RhdHVzX3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAvKiBJZ25vcmUgbmV4 dCBmbGFnIGlmIFRYIEludGVycnVwdCBpcyBkaXNhYmxlZCAqLwogICAgIGlmICggIShjdHJsICYg U0NTQ1JfVElFKSApCiAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTY1LDEzICsx MDAsMTMgQEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpk YXRhLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgIHNlcmlhbF9yeF9p bnRlcnJ1cHQocG9ydCwgcmVncyk7CiAKICAgICAgICAgLyogRXJyb3IgSW50ZXJydXB0ICovCi0g ICAgICAgIGlmICggc3RhdHVzICYgU0NJRl9FUlJPUlMgKQotICAgICAgICAgICAgc2NpZl93cml0 ZXcodWFydCwgU0NJRl9TQ0ZTUiwgflNDSUZfRVJST1JTKTsKLSAgICAgICAgaWYgKCBzY2lmX3Jl YWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NMU1JfT1JFUiApCi0gICAgICAgICAgICBzY2lmX3dy aXRldyh1YXJ0LCBTQ0lGX1NDTFNSLCAwKTsKKyAgICAgICAgaWYgKCBzdGF0dXMgJiBwYXJhbXMt PmVycm9yX21hc2sgKQorICAgICAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5zdGF0 dXNfcmVnLCB+cGFyYW1zLT5lcnJvcl9tYXNrKTsKKyAgICAgICAgaWYgKCBzY2lmX3JlYWR3KHVh cnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcpICYgcGFyYW1zLT5vdmVycnVuX21hc2sgKQorICAgICAg ICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5vdmVycnVuX3JlZywgfnBhcmFtcy0+b3Zl cnJ1bl9tYXNrKTsKIAogICAgICAgICBjdHJsID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDU0NS KTsKLSAgICAgICAgc3RhdHVzID0gc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIH5TQ0ZT Ul9URU5EOworICAgICAgICBzdGF0dXMgPSBzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3RhdHVz X3JlZykgJiB+U0NGU1JfVEVORDsKICAgICAgICAgLyogSWdub3JlIG5leHQgZmxhZyBpZiBUWCBJ bnRlcnJ1cHQgaXMgZGlzYWJsZWQgKi8KICAgICAgICAgaWYgKCAhKGN0cmwgJiBTQ1NDUl9USUUp ICkKICAgICAgICAgICAgIHN0YXR1cyAmPSB+U0NGU1JfVERGRTsKQEAgLTgxLDEyICsxMTYsMTMg QEAgc3RhdGljIHZvaWQgc2NpZl91YXJ0X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkYXRhLCBz dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3VhcnRf aW5pdF9wcmVpcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogewogICAgIHN0cnVjdCBzY2lm X3VhcnQgKnVhcnQgPSBwb3J0LT51YXJ0OworICAgIGNvbnN0IHN0cnVjdCBwb3J0X3BhcmFtcyAq cGFyYW1zID0gdWFydC0+cGFyYW1zOwogCiAgICAgLyoKICAgICAgKiBXYWl0IHVudGlsIGxhc3Qg Yml0IGhhcyBiZWVuIHRyYW5zbWl0dGVkLiBUaGlzIGlzIG5lZWRlZCBmb3IgYSBzbW9vdGgKICAg ICAgKiB0cmFuc2l0aW9uIHdoZW4gd2UgY29tZSBmcm9tIGVhcmx5IHByaW50awogICAgICAqLwot ICAgIHdoaWxlICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgU0NGU1JfVEVORCkg KTsKKyAgICB3aGlsZSAoICEoc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYg U0NGU1JfVEVORCkgKTsKIAogICAgIC8qIERpc2FibGUgVFgvUlggcGFydHMgYW5kIGFsbCBpbnRl cnJ1cHRzICovCiAgICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ1NDUiwgMCk7CkBAIC05NSwx MCArMTMxLDEwIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3VhcnRfaW5pdF9wcmVpcnEoc3Ry dWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGQ1Is IFNDRkNSX1JGUlNUIHwgU0NGQ1JfVEZSU1QpOwogCiAgICAgLyogQ2xlYXIgYWxsIGVycm9ycyBh bmQgZmxhZ3MgKi8KLSAgICBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOwotICAgIHNjaWZf d3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIDApOwotICAgIHNjaWZfcmVhZHcodWFydCwgU0NJRl9T Q0xTUik7Ci0gICAgc2NpZl93cml0ZXcodWFydCwgU0NJRl9TQ0xTUiwgMCk7CisgICAgc2NpZl9y ZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpOworICAgIHNjaWZfd3JpdGV3KHVhcnQsIHBh cmFtcy0+c3RhdHVzX3JlZywgMCk7CisgICAgc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPm92ZXJy dW5fcmVnKTsKKyAgICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPm92ZXJydW5fcmVnLCAwKTsK IAogICAgIC8qIFNldHVwIHRyaWdnZXIgbGV2ZWwgZm9yIFRYL1JYIEZJRk9zICovCiAgICAgc2Np Zl93cml0ZXcodWFydCwgU0NJRl9TQ0ZDUiwgU0NGQ1JfUlRSRzExIHwgU0NGQ1JfVFRSRzExKTsK QEAgLTExMSw2ICsxNDcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRfcHJl aXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHN0YXRpYyB2b2lkIF9faW5pdCBzY2lmX3Vh cnRfaW5pdF9wb3N0aXJxKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9ydCkKIHsKICAgICBzdHJ1Y3Qg c2NpZl91YXJ0ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9wYXJh bXMgKnBhcmFtcyA9IHVhcnQtPnBhcmFtczsKICAgICBpbnQgcmM7CiAKICAgICB1YXJ0LT5pcnFh Y3Rpb24uaGFuZGxlciA9IHNjaWZfdWFydF9pbnRlcnJ1cHQ7CkBAIC0xMjIsMTQgKzE1OSwxNCBA QCBzdGF0aWMgdm9pZCBfX2luaXQgc2NpZl91YXJ0X2luaXRfcG9zdGlycShzdHJ1Y3Qgc2VyaWFs X3BvcnQgKnBvcnQpCiAgICAgICAgICAgICAgICAgdWFydC0+aXJxKTsKIAogICAgIC8qIENsZWFy IGFsbCBlcnJvcnMgKi8KLSAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikgJiBT Q0lGX0VSUk9SUyApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH5TQ0lG X0VSUk9SUyk7Ci0gICAgaWYgKCBzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NMU1IpICYgU0NMU1Jf T1JFUiApCi0gICAgICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NMU1IsIDApOworICAgIGlm ICggc2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgcGFyYW1zLT5lcnJvcl9t YXNrICkKKyAgICAgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1zLT5zdGF0dXNfcmVnLCB+cGFy YW1zLT5lcnJvcl9tYXNrKTsKKyAgICBpZiAoIHNjaWZfcmVhZHcodWFydCwgcGFyYW1zLT5vdmVy cnVuX3JlZykgJiBwYXJhbXMtPm92ZXJydW5fbWFzayApCisgICAgICAgIHNjaWZfd3JpdGV3KHVh cnQsIHBhcmFtcy0+b3ZlcnJ1bl9yZWcsIH5wYXJhbXMtPm92ZXJydW5fbWFzayk7CiAKICAgICAv KiBFbmFibGUgVFgvUlggYW5kIEVycm9yIEludGVycnVwdHMgICovCiAgICAgc2NpZl93cml0ZXco dWFydCwgU0NJRl9TQ1NDUiwgc2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDU0NSKSB8Ci0gICAgICAg ICAgICAgICAgIFNDU0NSX1RJRSB8IFNDU0NSX1JJRSB8IFNDU0NSX1JFSUUpOworICAgICAgICAg ICAgICAgIHBhcmFtcy0+aXJxX2ZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgc2NpZl91YXJ0X3N1 c3BlbmQoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQpAQCAtMTQ1LDQzICsxODIsNDcgQEAgc3Rh dGljIHZvaWQgc2NpZl91YXJ0X3Jlc3VtZShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiBzdGF0 aWMgaW50IHNjaWZfdWFydF90eF9yZWFkeShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiB7CiAg ICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVhcnQ7CisgICAgY29uc3Qgc3RydWN0 IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7CiAgICAgdWludDE2X3QgY250Owog CiAgICAgLyogQ2hlY2sgZm9yIGVtcHR5IHNwYWNlIGluIFRYIEZJRk8gKi8KLSAgICBpZiAoICEo c2NpZl9yZWFkdyh1YXJ0LCBTQ0lGX1NDRlNSKSAmIFNDRlNSX1RERkUpICkKKyAgICBpZiAoICEo c2NpZl9yZWFkdyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcpICYgU0NGU1JfVERGRSkgKQogICAg ICAgICByZXR1cm4gMDsKIAogICAgICAvKiBDaGVjayBudW1iZXIgb2YgZGF0YSBieXRlcyBzdG9y ZWQgaW4gVFggRklGTyAqLwogICAgIGNudCA9IHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZEUikg Pj4gODsKLSAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBTQ0lGX0ZJRk9fTUFYX1NJWkUg KTsKKyAgICBBU1NFUlQoIGNudCA+PSAwICYmIGNudCA8PSBwYXJhbXMtPmZpZm9fc2l6ZSApOwog Ci0gICAgcmV0dXJuIChTQ0lGX0ZJRk9fTUFYX1NJWkUgLSBjbnQpOworICAgIHJldHVybiAocGFy YW1zLT5maWZvX3NpemUgLSBjbnQpOwogfQogCiBzdGF0aWMgdm9pZCBzY2lmX3VhcnRfcHV0Yyhz dHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQsIGNoYXIgYykKIHsKICAgICBzdHJ1Y3Qgc2NpZl91YXJ0 ICp1YXJ0ID0gcG9ydC0+dWFydDsKKyAgICBjb25zdCBzdHJ1Y3QgcG9ydF9wYXJhbXMgKnBhcmFt cyA9IHVhcnQtPnBhcmFtczsKIAotICAgIHNjaWZfd3JpdGViKHVhcnQsIFNDSUZfU0NGVERSLCBj KTsKKyAgICBzY2lmX3dyaXRlYih1YXJ0LCBwYXJhbXMtPnR4X2ZpZm9fcmVnLCBjKTsKICAgICAv KiBDbGVhciByZXF1aXJlZCBUWCBmbGFncyAqLwotICAgIHNjaWZfd3JpdGV3KHVhcnQsIFNDSUZf U0NGU1IsIHNjaWZfcmVhZHcodWFydCwgU0NJRl9TQ0ZTUikgJgotICAgICAgICAgICAgICAgICB+ KFNDRlNSX1RFTkQgfCBTQ0ZTUl9UREZFKSk7CisgICAgc2NpZl93cml0ZXcodWFydCwgcGFyYW1z LT5zdGF0dXNfcmVnLAorICAgICAgICAgICAgICAgIHNjaWZfcmVhZHcodWFydCwgcGFyYW1zLT5z dGF0dXNfcmVnKSAmCisgICAgICAgICAgICAgICAgfihTQ0ZTUl9URU5EIHwgU0NGU1JfVERGRSkp OwogfQogCiBzdGF0aWMgaW50IHNjaWZfdWFydF9nZXRjKHN0cnVjdCBzZXJpYWxfcG9ydCAqcG9y dCwgY2hhciAqcGMpCiB7CiAgICAgc3RydWN0IHNjaWZfdWFydCAqdWFydCA9IHBvcnQtPnVhcnQ7 CisgICAgY29uc3Qgc3RydWN0IHBvcnRfcGFyYW1zICpwYXJhbXMgPSB1YXJ0LT5wYXJhbXM7CiAK ICAgICAvKiBDaGVjayBmb3IgYXZhaWxhYmxlIGRhdGEgYnl0ZXMgaW4gUlggRklGTyAqLwotICAg IGlmICggIShzY2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpICYgKFNDRlNSX1JERiB8IFNDRlNS X0RSKSkgKQorICAgIGlmICggIShzY2lmX3JlYWR3KHVhcnQsIHBhcmFtcy0+c3RhdHVzX3JlZykg JiAoU0NGU1JfUkRGIHwgU0NGU1JfRFIpKSApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgKnBj ID0gc2NpZl9yZWFkYih1YXJ0LCBTQ0lGX1NDRlJEUik7CisgICAgKnBjID0gc2NpZl9yZWFkYih1 YXJ0LCBwYXJhbXMtPnJ4X2ZpZm9fcmVnKTsKIAogICAgIC8qIGR1bW15IHJlYWQgKi8KLSAgICBz Y2lmX3JlYWR3KHVhcnQsIFNDSUZfU0NGU1IpOworICAgIHNjaWZfcmVhZHcodWFydCwgcGFyYW1z LT5zdGF0dXNfcmVnKTsKICAgICAvKiBDbGVhciByZXF1aXJlZCBSWCBmbGFncyAqLwotICAgIHNj aWZfd3JpdGV3KHVhcnQsIFNDSUZfU0NGU1IsIH4oU0NGU1JfUkRGIHwgU0NGU1JfRFIpKTsKKyAg ICBzY2lmX3dyaXRldyh1YXJ0LCBwYXJhbXMtPnN0YXR1c19yZWcsIH4oU0NGU1JfUkRGIHwgU0NG U1JfRFIpKTsKIAogICAgIHJldHVybiAxOwogfQpAQCAtMjI5LDkgKzI3MCwxNiBAQCBzdGF0aWMg c3RydWN0IHVhcnRfZHJpdmVyIF9fcmVhZF9tb3N0bHkgc2NpZl91YXJ0X2RyaXZlciA9IHsKICAg ICAudnVhcnRfaW5mbyAgID0gc2NpZl92dWFydF9pbmZvLAogfTsKIAorc3RhdGljIGNvbnN0IHN0 cnVjdCBkdF9kZXZpY2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3QgPQor eworICAgIHsgLmNvbXBhdGlibGUgPSAicmVuZXNhcyxzY2lmIiwgIC5kYXRhID0gKHZvaWQgKilT Q0lGX1BPUlQgfSwKKyAgICB7IC8qIHNlbnRpbmVsICovIH0sCit9OworCiBzdGF0aWMgaW50IF9f aW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRldiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCiB7CisgICAgY29uc3Qg c3RydWN0IGR0X2RldmljZV9tYXRjaCAqbWF0Y2g7CiAgICAgY29uc3QgY2hhciAqY29uZmlnID0g ZGF0YTsKICAgICBzdHJ1Y3Qgc2NpZl91YXJ0ICp1YXJ0OwogICAgIGludCByZXM7CkBAIC0yNjUs MTAgKzMxMywxNCBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRf ZGV2aWNlX25vZGUgKmRldiwKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgfQogCisgICAg bWF0Y2ggPSBkdF9tYXRjaF9ub2RlKHNjaWZfdWFydF9kdF9tYXRjaCwgZGV2KTsKKyAgICBBU1NF UlQoIG1hdGNoICk7CisgICAgdWFydC0+cGFyYW1zID0gJnBvcnRfcGFyYW1zWyhlbnVtIHBvcnRf dHlwZXMpbWF0Y2gtPmRhdGFdOworCiAgICAgdWFydC0+dnVhcnQuYmFzZV9hZGRyICA9IGFkZHI7 CiAgICAgdWFydC0+dnVhcnQuc2l6ZSAgICAgICA9IHNpemU7Ci0gICAgdWFydC0+dnVhcnQuZGF0 YV9vZmYgICA9IFNDSUZfU0NGVERSOwotICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSBTQ0lG X1NDRlNSOworICAgIHVhcnQtPnZ1YXJ0LmRhdGFfb2ZmICAgPSB1YXJ0LT5wYXJhbXMtPnR4X2Zp Zm9fcmVnOworICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSB1YXJ0LT5wYXJhbXMtPnN0YXR1 c19yZWc7CiAgICAgdWFydC0+dnVhcnQuc3RhdHVzICAgICA9IFNDRlNSX1RERkU7CiAKICAgICAv KiBSZWdpc3RlciB3aXRoIGdlbmVyaWMgc2VyaWFsIGRyaXZlciAqLwpAQCAtMjc5LDEyICszMzEs NiBAQCBzdGF0aWMgaW50IF9faW5pdCBzY2lmX3VhcnRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25v ZGUgKmRldiwKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkdF9kZXZp Y2VfbWF0Y2ggc2NpZl91YXJ0X2R0X21hdGNoW10gX19pbml0Y29uc3QgPQotewotICAgIERUX01B VENIX0NPTVBBVElCTEUoInJlbmVzYXMsc2NpZiIpLAotICAgIHsgLyogc2VudGluZWwgKi8gfSwK LX07Ci0KIERUX0RFVklDRV9TVEFSVChzY2lmX3VhcnQsICJTQ0lGIFVBUlQiLCBERVZJQ0VfU0VS SUFMKQogICAgIC5kdF9tYXRjaCA9IHNjaWZfdWFydF9kdF9tYXRjaCwKICAgICAuaW5pdCA9IHNj aWZfdWFydF9pbml0LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVhcnQu aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2NpZi11YXJ0LmgKaW5kZXggODEzNzg1MC4uYzM0M2Yy ZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zY2lmLXVhcnQuaAorKysgYi94ZW4v aW5jbHVkZS9hc20tYXJtL3NjaWYtdWFydC5oCkBAIC0yMSw4ICsyMSw2IEBACiAjaWZuZGVmIF9f QVNNX0FSTV9TQ0lGX1VBUlRfSAogI2RlZmluZSBfX0FTTV9BUk1fU0NJRl9VQVJUX0gKIAotI2Rl ZmluZSBTQ0lGX0ZJRk9fTUFYX1NJWkUgICAgMTYKLQogLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLwog I2RlZmluZSBTQ0lGX1NDU01SICAgICAoMHgwMCkgICAgLyogU2VyaWFsIG1vZGUgcmVnaXN0ZXIg ICAgICAgICAgICovCiAjZGVmaW5lIFNDSUZfU0NCUlIgICAgICgweDA0KSAgICAvKiBCaXQgcmF0 ZSByZWdpc3RlciAgICAgICAgICAgICAgKi8KQEAgLTU3LDggKzU1LDYgQEAKICNkZWZpbmUgU0NG U1JfUkRGICAgICAoMSA8PCAxKSAgICAvKiBSZWNlaXZlIEZJRk8gRGF0YSBGdWxsICovCiAjZGVm aW5lIFNDRlNSX0RSICAgICAgKDEgPDwgMCkgICAgLyogUmVjZWl2ZSBEYXRhIFJlYWR5ICovCiAK LSNkZWZpbmUgU0NJRl9FUlJPUlMgICAgKFNDRlNSX1BFUiB8IFNDRlNSX0ZFUiB8IFNDRlNSX0VS IHwgU0NGU1JfQlJLKQotCiAvKiBMaW5lIFN0YXR1cyBSZWdpc3RlciAoU0NMU1IpICovCiAjZGVm aW5lIFNDTFNSX1RPICAgICAgKDEgPDwgMikgICAgLyogVGltZW91dCAqLwogI2RlZmluZSBTQ0xT Ul9PUkVSICAgICgxIDw8IDApICAgIC8qIE92ZXJydW4gRXJyb3IgKi8KLS0gCjIuNy40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==