From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 06/27 v10] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Fri, 22 Sep 2017 13:53:05 +0530 Message-ID: <1506068606-17066-7-git-send-email-bhupinder.thakur@linaro.org> References: <1506068606-17066-1-git-send-email-bhupinder.thakur@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvJFc-0003kW-4B for xen-devel@lists.xenproject.org; Fri, 22 Sep 2017 08:23:56 +0000 Received: by mail-pf0-f181.google.com with SMTP id e1so243498pfk.1 for ; Fri, 22 Sep 2017 01:23:54 -0700 (PDT) In-Reply-To: <1506068606-17066-1-git-send-email-bhupinder.thakur@linaro.org> 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: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IGRvbWN0bCBBUEkgdG8gaW5pdGlhbGl6ZSB2cGwwMTEuIEl0IHRha2VzIHRoZSBH Rk4gYW5kIGNvbnNvbGUKYmFja2VuZCBkb21pZCBhcyBpbnB1dCBhbmQgcmV0dXJucyBhbiBldmVu dCBjaGFubmVsIHRvIGJlIHVzZWQgZm9yCnNlbmRpbmcgYW5kIHJlY2VpdmluZyBldmVudHMgZnJv bSBYZW4uCgpYZW4gd2lsbCBjb21tdW5pY2F0ZSB3aXRoIHhlbmNvbnNvbGUgdXNpbmcgR0ZOIGFz IHRoZSByaW5nIGJ1ZmZlciBhbmQKdGhlIGV2ZW50IGNoYW5uZWwgdG8gdHJhbnNtaXQgYW5kIHJl Y2VpdmUgcGwwMTEgZGF0YSBvbiB0aGUgZ3Vlc3QgZG9tYWluJ3MKYmVoYWxmLgoKU2lnbmVkLW9m Zi1ieTogQmh1cGluZGVyIFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgotLS0K Q0M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDQzogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+CkNDOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+ CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBLb25yYWQgUnplc3p1dGVr IFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz dGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNDOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ0M6IEp1 bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgpDaGFuZ2VzIHNpbmNlIHY5OgotIElu aXRpYWxpemVkIGxvY2FsIHZhcmlhYmxlIGluIGxpYnhsX19hcmNoX2J1aWxkX2RvbV9maW5pc2gK LSBSZXBsYWNlZCBfX2NvcHlfdG9fZ3Vlc3Qgd2l0aCBjb3B5X3RvX2d1ZXN0Ci0gQWRkZWQgY29t bWVudCBmb3IgY29uc29sZV9kb21pZCBmaWVsZCBpbiB2dWFydF9vcCBzdHJ1Y3R1cmUKCkNoYW5n ZXMgc2luY2Ugdjg6Ci0gQWRkZWQgZXhwbGljaXQgcGFkZGluZyBpbiB0aGUgdnVhcnRfb3Agc3Ry dWN0dXJlCi0gTW92ZWQgdnVhcnRfb3Agc3RydWN0dXJlIGFmdGVyIHRoZSBQU1Igc3RydWN0dXJl IGRlZmluaXRpb24KLSBUaGUgaW5wdXQgZmllbGRzIG1vdmVkIGJlZm9yZSB0aGUgb3V0cHV0IGZp ZWxkcyBpbiB2dWFydF9vcCBzdHJ1Y3R1cmUKLSBDaGVja2luZyBleHBsaWNpdGx5IHRoYXQgcGFk ZGluZyBmaWVsZHMgYXJlIGluaXRpYWxpemVkIHRvIDAKCkNoYW5nZXMgc2luY2UgdjY6Ci0gUmVu YW1lZCB0aGUgdnVhcnQgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gdG8gYSBnZW5lcmljIG5hbWUg eGNfZG9tX3Z1YXJ0X2luaXQgCi0gVXNlZCBkb21pZF90IGFzIGEgdHlwZSBpbnN0ZWFkIG9mIHVp bnQzMl90IGZvciBkb21pZAotIENoZWNraW5nIHRoZSB2dWFydCB0eXBlIGV4cGxpY2l0bHkgYWdh aW5zdCB2cGwwMTEgZW51bSB2YWx1ZQoKQ2hhbmdlcyBzaW5jZSB2NToKLSB4Y19kb21fdnBsMDEx X2luaXQoKSB3aWxsIGJlIGNvbXBpbGVkIGZvciBib3RoIHg4Ni9hcm0gYXJjaGl0ZWN0dXJlcyBh cyB0aGVyZQogIGlzIG5vdGhpbmcgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGluIHRoaXMgZnVuY3Rp b24uIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gCiAgZXJyb3Igd2hlbiBjYWxsZWQgZm9yIHg4 Ni4KLSBGaXhlZCBjb2Rpbmcgc3R5bGUgaXNzdWVzIGluIGxpYnhsLgoKQ2hhbmdlcyBzaW5jZSB2 NDoKLSBSZW1vdmVkIGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfZmluaXNoKCkuCi0gQWRkZWQg YSBuZXcgZnVuY3Rpb24gbGlieGxfX2FyY2hfYnVpbGRfZG9tX2ZpbmlzaCgpLCB3aGljaCBpcyBj YWxsZWQgYXQgdGhlIGxhc3QKICBpbiBsaWJ4bF9fYnVpbGRfZG9tKCkuIFRoaXMgZnVuY3Rpb24g Y2FsbHMgdGhlIHZwbDAxMSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBub3cuCgpDaGFuZ2VzIHNp bmNlIHYzOgotIEFkZGVkIGEgbmV3IGFyY2ggc3BlY2lmaWMgZnVuY3Rpb24gbGlieGxfX2FyY2hf ZG9tYWluX2NyZWF0ZV9maW5pc2goKSwgd2hpY2gKICBjYWxscyB0aGUgdnBsMDExIGluaXRpYWxp emF0aW9uIGZ1bmN0aW9uLiBGb3IgeDg2IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgZG8KICBhbnl0 aGluZy4KLSBkb21haW5fdnBsMDExX2luaXQoKSB0YWtlcyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3R1 cmUgd2hpY2ggY29udGFpbnMgYWxsIHRoZSAKICByZXF1aXJlZCBpbmZvcm1hdGlvbiBzdWNoIGFz IGNvbnNvbGVfZG9taWQsIGdmbiBpbnN0ZWFkIG9mIHBhc3NpbmcgcGFyYW1ldGVycwogIHNlcGFy YXRlbHkuCi0gRHJvcHBlZCBhIERPTUNUTCBBUEkgZGVmaW5lZCBmb3IgZGUtaW5pdGlhbGl6aW5n IHZwbDAxMSBhcyB0aGF0IHNob3VsZCBiZQogIHRha2VuIGNhcmUgd2hlbiB0aGUgZG9tYWluIGlz IGRlc3Ryb3llZCAoYW5kIG5vdCBkZXBlbmRlbnQgb24gdXNlcnNwYWNlIAogIGxpYnJhcmllcy9h cHBsaWNhdGlvbnMpLgoKQ2hhbmdlcyBzaW5jZSB2MjoKLSBSZXBsYWNlZCB0aGUgRE9NQ1RMIEFQ SXMgZGVmaW5lZCBmb3IgZ2V0L3NldCBvZiBldmVudCBjaGFubmVsIGFuZCBHRk4gd2l0aCAKICBh IHNldCBvZiBET01DVEwgQVBJcyBmb3IgaW5pdGlhbGl6aW5nIGFuZCBkZS1pbml0aWFsaXppbmcg dnBsMDExIGVtdWxhdGlvbi4KCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCB8IDIwICsr KysrKysrKysrKysrKysrCiB0b29scy9saWJ4Yy94Y19kb21haW4uYyAgICAgICB8IDI3ICsrKysr KysrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCAgICAgIHwgIDcgKysr KysrCiB0b29scy9saWJ4bC9saWJ4bF9hcm0uYyAgICAgICB8IDI3ICsrKysrKysrKysrKysrKysr KysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgIHwgIDQgKysrKwogdG9vbHMvbGli eGwvbGlieGxfeDg2LmMgICAgICAgfCAgOCArKysrKysrCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMg ICAgICAgICB8ICA2ICsrKysrCiB4ZW4vYXJjaC9hcm0vZG9tY3RsLmMgICAgICAgICB8IDUyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3B1 YmxpYy9kb21jdGwuaCAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysKIDkgZmlsZXMgY2hhbmdl ZCwgMTc1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hl bmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDA3M2ZiYzkuLjIw ODZlNzEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC04ODYsNiArODg2LDI2IEBAIGludCB4Y192 Y3B1X2dldGNvbnRleHQoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAg IHZjcHVfZ3Vlc3RfY29udGV4dF9hbnlfdCAqY3R4dCk7CiAKIC8qKgorICogVGhpcyBmdW5jdGlv biBpbml0aWFsaXplcyB0aGUgdnVhcnQgZW11bGF0aW9uIGFuZCByZXR1cm5zCisgKiB0aGUgZXZl bnQgdG8gYmUgdXNlZCBieSB0aGUgYmFja2VuZCBmb3IgY29tbXVuaWNhdGluZyB3aXRoCisgKiB0 aGUgZW11bGF0aW9uIGNvZGUuCisgKgorICogQHBhcm0geGNoIGEgaGFuZGxlIHRvIGFuIG9wZW4g aHlwZXJ2aXNvciBpbnRlcmZhY2UKKyAqICNwYXJtIHR5cGUgdHlwZSBvZiB2dWFydAorICogQHBh cm0gZG9taWQgdGhlIGRvbWFpbiB0byBnZXQgaW5mb3JtYXRpb24gZnJvbQorICogQHBhcm0gY29u c29sZV9kb21pZCB0aGUgZG9taWQgb2YgdGhlIGJhY2tlbmQgY29uc29sZQorICogQHBhcm0gZ2Zu IHRoZSBndWVzdCBwZm4gdG8gYmUgdXNlZCBhcyB0aGUgcmluZyBidWZmZXIKKyAqIEBwYXJtIGV2 dGNobiB0aGUgZXZlbnQgY2hhbm5lbCB0byBiZSB1c2VkIGZvciBldmVudHMKKyAqIEByZXR1cm4g MCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlCisgKi8KK2ludCB4Y19kb21f dnVhcnRfaW5pdCh4Y19pbnRlcmZhY2UgKnhjaCwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAg ICAgIHhlbl9wZm5fdCBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAq ZXZ0Y2huKTsKKworLyoqCiAgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJv dXQgdGhlIFhTQVZFIHN0YXRlIG9mIGEgcGFydGljdWxhcgogICogdmNwdSBvZiBhIGRvbWFpbi4g SWYgZXh0c3RhdGUtPnNpemUgYW5kIGV4dHN0YXRlLT54ZmVhdHVyZV9tYXNrIGFyZSAwLAogICog dGhlIGNhbGwgaXMgY29uc2lkZXJlZCBhIHF1ZXJ5IHRvIHJldHJpZXZlIHRoZW0gYW5kIHRoZSBi dWZmZXIgaXMgbm90CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21haW4uYyBiL3Rvb2xz L2xpYnhjL3hjX2RvbWFpbi5jCmluZGV4IGY0MGRjNGYuLmYyZTlmMGMgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnhjL3hjX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCkBAIC0z NDMsNiArMzQzLDMzIEBAIGludCB4Y19kb21haW5fZ2V0X2d1ZXN0X3dpZHRoKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICByZXR1cm4gMDsKIH0KIAoraW50IHhjX2RvbV92 dWFydF9pbml0KHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAgICAg ICAgICAgICAgICAgICBkb21pZF90IGNvbnNvbGVfZG9taWQsCisgICAgICAgICAgICAgICAgICAg ICAgeGVuX3Bmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpl dnRjaG4pCit7CisgICAgREVDTEFSRV9ET01DVEw7CisgICAgaW50IHJjID0gMDsKKworICAgIG1l bXNldCgmZG9tY3RsLCAwLCBzaXplb2YoZG9tY3RsKSk7CisKKyAgICBkb21jdGwuY21kID0gWEVO X0RPTUNUTF92dWFydF9vcDsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CisgICAgZG9tY3Rs LnUudnVhcnRfb3AuY21kID0gWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklUOworICAgIGRvbWN0bC51 LnZ1YXJ0X29wLnR5cGUgPSB0eXBlOworICAgIGRvbWN0bC51LnZ1YXJ0X29wLmNvbnNvbGVfZG9t aWQgPSBjb25zb2xlX2RvbWlkOworICAgIGRvbWN0bC51LnZ1YXJ0X29wLmdmbiA9IGdmbjsKKwor ICAgIGlmICggKHJjID0gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCkpIDwgMCApCisgICAgICAgIHJl dHVybiByYzsKKworICAgICpldnRjaG4gPSBkb21jdGwudS52dWFydF9vcC5ldnRjaG47CisKKyAg ICByZXR1cm4gcmM7Cit9CisKIGludCB4Y19kb21haW5fZ2V0aW5mbyh4Y19pbnRlcmZhY2UgKnhj aCwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmaXJzdF9kb21pZCwKICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbWF4X2RvbXMsCmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF9hcmNoLmggYi90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKaW5kZXggNWUxZmM2 MC4uNzg0ZWM3ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2FyY2guaApAQCAtNDQsNiArNDQsMTMgQEAgaW50IGxpYnhsX19hcmNo X2RvbWFpbl9maW5hbGlzZV9od19kZXNjcmlwdGlvbihsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5m bywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbV9p bWFnZSAqZG9tKTsKIAorLyogcGVyZm9ybSBhbnkgcGVuZGluZyBoYXJkd2FyZSBpbml0aWFsaXph dGlvbiAqLworX2hpZGRlbgoraW50IGxpYnhsX19hcmNoX2J1aWxkX2RvbV9maW5pc2gobGlieGxf X2djICpnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9i dWlsZF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHhjX2RvbV9pbWFnZSAqZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUpOworCiAvKiBidWlsZCB2TlVNQSB2bWVtcmFu Z2Ugd2l0aCBhcmNoIHNwZWNpZmljIGluZm9ybWF0aW9uICovCiBfaGlkZGVuCiBpbnQgbGlieGxf X2FyY2hfdm51bWFfYnVpbGRfdm1lbXJhbmdlKGxpYnhsX19nYyAqZ2MsCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9hcm0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jCmluZGV4IGQ4 NDJkODguLjZmNWJjM2MgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jCkBAIC0xMDM4LDYgKzEwMzgsMzMgQEAgaW50IGxpYnhs X19hcmNoX2RvbWFpbl9maW5hbGlzZV9od19kZXNjcmlwdGlvbihsaWJ4bF9fZ2MgKmdjLAogICAg IHJldHVybiAwOwogfQogCitpbnQgbGlieGxfX2FyY2hfYnVpbGRfZG9tX2ZpbmlzaChsaWJ4bF9f Z2MgKmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1 aWxkX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg eGNfZG9tX2ltYWdlICpkb20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9fZG9tYWluX2J1aWxkX3N0YXRlICpzdGF0ZSkKK3sKKyAgICBpbnQgcmMgPSAwLCByZXQ7CisK KyAgICBpZiAoaW5mby0+YXJjaF9hcm0udnVhcnQgIT0gTElCWExfVlVBUlRfVFlQRV9TQlNBX1VB UlQpIHsKKyAgICAgICAgcmMgPSAwOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBy ZXQgPSB4Y19kb21fdnVhcnRfaW5pdChDVFgtPnhjaCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBYRU5fRE9NQ1RMX1ZVQVJUX1RZUEVfVlBMMDExLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRvbS0+Z3Vlc3RfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9t LT5jb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+dnVhcnRf Z2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdGF0ZS0+dnVhcnRfcG9ydCk7Cisg ICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAgICBMT0co RVJST1IsICJ4Y19kb21fdnVhcnRfaW5pdCBmYWlsZWRcbiIpOworICAgIH0KKworb3V0OgorICAg IHJldHVybiByYzsKK30KKwogaW50IGxpYnhsX19hcmNoX3ZudW1hX2J1aWxkX3ZtZW1yYW5nZShs aWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf ZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9k b20uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCmluZGV4IGUwZjBkNzguLjVmOTIwMjMgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2RvbS5jCkBAIC03MDIsNiArNzAyLDEwIEBAIHN0YXRpYyBpbnQgbGlieGxfX2J1aWxkX2RvbShs aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgTE9HRShFUlJPUiwgInhjX2Rv bV9nbnR0YWJfaW5pdCBmYWlsZWQiKTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQorICAgIGlm ICgocmV0ID0gbGlieGxfX2FyY2hfYnVpbGRfZG9tX2ZpbmlzaChnYywgaW5mbywgZG9tLCBzdGF0 ZSkpICE9IDApIHsKKyAgICAgICAgTE9HRShFUlJPUiwgImxpYnhsX19hcmNoX2J1aWxkX2RvbV9m aW5pc2ggZmFpbGVkIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KIAogb3V0OgogICAgIHJl dHVybiByZXQgIT0gMCA/IEVSUk9SX0ZBSUwgOiAwOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfeDg2LmMgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwppbmRleCA0NTVmNmYwLi4wYWFl ZGVkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF94ODYuYworKysgYi90b29scy9saWJ4 bC9saWJ4bF94ODYuYwpAQCAtMzkxLDYgKzM5MSwxNCBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWlu X2ZpbmFsaXNlX2h3X2Rlc2NyaXB0aW9uKGxpYnhsX19nYyAqZ2MsCiAgICAgcmV0dXJuIHJjOwog fQogCitpbnQgbGlieGxfX2FyY2hfYnVpbGRfZG9tX2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmlu Zm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdl ICpkb20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1 aWxkX3N0YXRlICpzdGF0ZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogLyogUmV0dXJuIDAgb24g c3VjY2VzcywgRVJST1JfKiBvbiBmYWlsdXJlLiAqLwogaW50IGxpYnhsX19hcmNoX3ZudW1hX2J1 aWxkX3ZtZW1yYW5nZShsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21h aW4uYyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwppbmRleCA3ODRhZTM5Li4wNzc5MDg3IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5j CkBAIC04NzQsNiArODc0LDEyIEBAIGludCBkb21haW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoc3Ry dWN0IGRvbWFpbiAqZCkKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgcmV0dXJuIHJl dDsKIAorICAgICAgICAvKgorICAgICAgICAgKiBSZWxlYXNlIHRoZSByZXNvdXJjZXMgYWxsb2Nh dGVkIGZvciB2cGwwMTEgd2hpY2ggd2VyZQorICAgICAgICAgKiBhbGxvY2F0ZWQgdmlhIGEgRE9N Q1RMIGNhbGwgWEVOX0RPTUNUTF92dWFydF9vcC4KKyAgICAgICAgICovCisgICAgICAgIGRvbWFp bl92cGwwMTFfZGVpbml0KGQpOworCiAgICAgICAgIGQtPmFyY2gucmVsbWVtID0gUkVMTUVNX3hl bjsKICAgICAgICAgLyogRmFsbHRocm91Z2ggKi8KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt L2RvbWN0bC5jIGIveGVuL2FyY2gvYXJtL2RvbWN0bC5jCmluZGV4IDgyMzJmNDQuLjQ1ODdjNzUg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysgYi94ZW4vYXJjaC9hcm0vZG9t Y3RsLmMKQEAgLTUsOSArNSwxMSBAQAogICovCiAKICNpbmNsdWRlIDx4ZW4vZXJybm8uaD4KKyNp bmNsdWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGVyY2FsbC5oPgog I2luY2x1ZGUgPHhlbi9pb2NhcC5oPgogI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRlIDx4 ZW4vbW0uaD4KICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4K ICNpbmNsdWRlIDx4c20veHNtLmg+CkBAIC0yMCw2ICsyMiwyOSBAQCB2b2lkIGFyY2hfZ2V0X2Rv bWFpbl9pbmZvKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAgaW5mby0+ZmxhZ3MgfD0gWEVO X0RPTUlORl9oYXA7CiB9CiAKK3N0YXRpYyBpbnQgaGFuZGxlX3Z1YXJ0X2luaXQoc3RydWN0IGRv bWFpbiAqZCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3Rs X3Z1YXJ0X29wICp2dWFydF9vcCkKK3sKKyAgICBpbnQgcmM7CisgICAgc3RydWN0IHZwbDAxMV9p bml0X2luZm8gaW5mbzsKKworICAgIGluZm8uY29uc29sZV9kb21pZCA9IHZ1YXJ0X29wLT5jb25z b2xlX2RvbWlkOworICAgIGluZm8uZ2ZuID0gX2dmbih2dWFydF9vcC0+Z2ZuKTsKKworICAgIGlm ICggZC0+Y3JlYXRpb25fZmluaXNoZWQgKQorICAgICAgICByZXR1cm4gLUVQRVJNOworCisgICAg aWYgKCB2dWFydF9vcC0+dHlwZSAhPSBYRU5fRE9NQ1RMX1ZVQVJUX1RZUEVfVlBMMDExICkKKyAg ICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOworCisgICAgcmMgPSBkb21haW5fdnBsMDExX2luaXQo ZCwgJmluZm8pOworCisgICAgaWYgKCAhcmMgKQorICAgICAgICB2dWFydF9vcC0+ZXZ0Y2huID0g aW5mby5ldnRjaG47CisKKyAgICByZXR1cm4gcmM7Cit9CisKIGxvbmcgYXJjaF9kb19kb21jdGwo c3RydWN0IHhlbl9kb21jdGwgKmRvbWN0bCwgc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAg ICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQog ewpAQCAtMTE5LDYgKzE0NCwzMyBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9t Y3RsICpkb21jdGwsIHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgIGQtPmRpc2FibGVfbWlncmF0 ZSA9IGRvbWN0bC0+dS5kaXNhYmxlX21pZ3JhdGUuZGlzYWJsZTsKICAgICAgICAgcmV0dXJuIDA7 CiAKKyAgICBjYXNlIFhFTl9ET01DVExfdnVhcnRfb3A6CisgICAgeworICAgICAgICBpbnQgcmM7 CisgICAgICAgIHVuc2lnbmVkIGludCBpOworICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92dWFy dF9vcCAqdnVhcnRfb3AgPSAmZG9tY3RsLT51LnZ1YXJ0X29wOworCisgICAgICAgIC8qIGNoZWNr IHRoYXQgc3RydWN0dXJlIHBhZGRpbmcgbXVzdCBiZSAwLiAqLworICAgICAgICBmb3IgKCBpID0g MDsgaSA8IHNpemVvZih2dWFydF9vcC0+cGFkKTsgaSsrICkKKyAgICAgICAgICAgIGlmICggdnVh cnRfb3AtPnBhZFtpXSApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAg ICAgc3dpdGNoKCB2dWFydF9vcC0+Y21kICkKKyAgICAgICAgeworICAgICAgICBjYXNlIFhFTl9E T01DVExfVlVBUlRfT1BfSU5JVDoKKyAgICAgICAgICAgIHJjID0gaGFuZGxlX3Z1YXJ0X2luaXQo ZCwgdnVhcnRfb3ApOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAg ICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK KyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgcmMgPSBjb3B5X3RvX2d1ZXN0KHVfZG9t Y3RsLCBkb21jdGwsIDEpOworCisgICAgICAgIHJldHVybiByYzsKKyAgICB9CiAgICAgZGVmYXVs dDoKICAgICB7CiAgICAgICAgIGludCByYzsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1Ymxp Yy9kb21jdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCBlMmZkNjg1Li45 ZGNjOTY5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVu L2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCkBAIC0zMyw2ICszMyw3IEBACiAjZW5kaWYKIAogI2lu Y2x1ZGUgInhlbi5oIgorI2luY2x1ZGUgImV2ZW50X2NoYW5uZWwuaCIKICNpbmNsdWRlICJncmFu dF90YWJsZS5oIgogI2luY2x1ZGUgImh2bS9zYXZlLmgiCiAjaW5jbHVkZSAibWVtb3J5LmgiCkBA IC0xMDc3LDYgKzEwNzgsMjcgQEAgc3RydWN0IHhlbl9kb21jdGxfc2V0X2dudHRhYl9saW1pdHMg ewogICAgIHVpbnQzMl90IG1hcHRyYWNrX2ZyYW1lczsgIC8qIElOICovCiB9OwogCisvKiBYRU5f RE9NQ1RMX3Z1YXJ0X29wICovCitzdHJ1Y3QgeGVuX2RvbWN0bF92dWFydF9vcCB7CisjZGVmaW5l IFhFTl9ET01DVExfVlVBUlRfT1BfSU5JVCAgMAorICAgICAgICB1aW50MzJfdCBjbWQ7ICAgICAg ICAgICAvKiBYRU5fRE9NQ1RMX1ZVQVJUX09QXyogKi8KKyNkZWZpbmUgWEVOX0RPTUNUTF9WVUFS VF9UWVBFX1ZQTDAxMSAwCisgICAgICAgIHVpbnQzMl90IHR5cGU7ICAgICAgICAgIC8qIElOIC0g dHlwZSBvZiB2dWFydC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICBD dXJyZW50bHkgb25seSB2cGwwMTEgc3VwcG9ydGVkLgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKi8KKyAgICAgICAgdWludDY0X2FsaWduZWRfdCAgZ2ZuOyAgLyogSU4gLSBndWVz dCBnZm4gdG8gYmUgdXNlZCBhcyBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq ICAgICAgcmluZyBidWZmZXIuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwor ICAgICAgICBkb21pZF90IGNvbnNvbGVfZG9taWQ7ICAvKiBJTiAtIGRvbWlkIG9mIGRvbWFpbiBy dW5uaW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgIGJhY2tl bmQgY29uc29sZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAg IHVpbnQ4X3QgcGFkWzJdOworICAgICAgICBldnRjaG5fcG9ydF90IGV2dGNobjsgICAvKiBPVVQg LSByZW1vdGUgcG9ydCBvZiB0aGUgZXZlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogICAgICAgY2hhbm5lbCB1c2VkIGZvciBzZW5kaW5nCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqICAgICAgIHJpbmcgYnVmZmVyIGV2ZW50cy4KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICovCit9OworCiBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAgICAgdWlu dDMyX3QgY21kOwogI2RlZmluZSBYRU5fRE9NQ1RMX2NyZWF0ZWRvbWFpbiAgICAgICAgICAgICAg ICAgICAxCkBAIC0xMTU1LDYgKzExNzcsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAjZGVmaW5l IFhFTl9ET01DVExfcHNyX2NhdF9vcCAgICAgICAgICAgICAgICAgICAgNzgKICNkZWZpbmUgWEVO X0RPTUNUTF9zb2Z0X3Jlc2V0ICAgICAgICAgICAgICAgICAgICA3OQogI2RlZmluZSBYRU5fRE9N Q1RMX3NldF9nbnR0YWJfbGltaXRzICAgICAgICAgICAgIDgwCisjZGVmaW5lIFhFTl9ET01DVExf dnVhcnRfb3AgICAgICAgICAgICAgICAgICAgICAgODEKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJz eF9ndWVzdG1lbWlvICAgICAgICAgICAgMTAwMAogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3Bh dXNldmNwdSAgICAgICAgICAgICAxMDAxCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfdW5wYXVz ZXZjcHUgICAgICAgICAgIDEwMDIKQEAgLTEyMTgsNiArMTI0MSw3IEBAIHN0cnVjdCB4ZW5fZG9t Y3RsIHsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAgICAgICAgbW9uaXRv cl9vcDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCAgICAgICAgcHNyX2Nh dF9vcDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfc2V0X2dudHRhYl9saW1pdHMgc2V0X2du dHRhYl9saW1pdHM7CisgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Z1YXJ0X29wICAgICAgICAg IHZ1YXJ0X29wOwogICAgICAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWRbMTI4XTsKICAgICB9IHU7CiB9OwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK