From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 06/27 v11] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Wed, 27 Sep 2017 11:43:15 +0530 Message-ID: <1506492816-25954-7-git-send-email-bhupinder.thakur@linaro.org> References: <1506492816-25954-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 1dx5bS-0002TE-UH for xen-devel@lists.xenproject.org; Wed, 27 Sep 2017 06:13:51 +0000 Received: by mail-pf0-f179.google.com with SMTP id g65so6739178pfe.13 for ; Tue, 26 Sep 2017 23:13:48 -0700 (PDT) In-Reply-To: <1506492816-25954-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 Zi1ieTogQmh1cGluZGVyIFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgpSZXZp ZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpBY2tl ZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCkNDOiBJYW4gSmFja3NvbiA8 aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5j b20+CkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDQzogR2Vv cmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDQzogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgpDQzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2ls a0BvcmFjbGUuY29tPgpDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu b3JnPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGll bi5ncmFsbEBhcm0uY29tPgoKQ2hhbmdlcyBzaW5jZSB2OToKLSBJbml0aWFsaXplZCBsb2NhbCB2 YXJpYWJsZSBpbiBsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoCi0gUmVwbGFjZWQgX19jb3B5 X3RvX2d1ZXN0IHdpdGggY29weV90b19ndWVzdAotIEFkZGVkIGNvbW1lbnQgZm9yIGNvbnNvbGVf ZG9taWQgZmllbGQgaW4gdnVhcnRfb3Agc3RydWN0dXJlCgpDaGFuZ2VzIHNpbmNlIHY4OgotIEFk ZGVkIGV4cGxpY2l0IHBhZGRpbmcgaW4gdGhlIHZ1YXJ0X29wIHN0cnVjdHVyZQotIE1vdmVkIHZ1 YXJ0X29wIHN0cnVjdHVyZSBhZnRlciB0aGUgUFNSIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0gVGhl IGlucHV0IGZpZWxkcyBtb3ZlZCBiZWZvcmUgdGhlIG91dHB1dCBmaWVsZHMgaW4gdnVhcnRfb3Ag c3RydWN0dXJlCi0gQ2hlY2tpbmcgZXhwbGljaXRseSB0aGF0IHBhZGRpbmcgZmllbGRzIGFyZSBp bml0aWFsaXplZCB0byAwCgpDaGFuZ2VzIHNpbmNlIHY2OgotIFJlbmFtZWQgdGhlIHZ1YXJ0IGlu aXRpYWxpemF0aW9uIGZ1bmN0aW9uIHRvIGEgZ2VuZXJpYyBuYW1lIHhjX2RvbV92dWFydF9pbml0 IAotIFVzZWQgZG9taWRfdCBhcyBhIHR5cGUgaW5zdGVhZCBvZiB1aW50MzJfdCBmb3IgZG9taWQK LSBDaGVja2luZyB0aGUgdnVhcnQgdHlwZSBleHBsaWNpdGx5IGFnYWluc3QgdnBsMDExIGVudW0g dmFsdWUKCkNoYW5nZXMgc2luY2UgdjU6Ci0geGNfZG9tX3ZwbDAxMV9pbml0KCkgd2lsbCBiZSBj b21waWxlZCBmb3IgYm90aCB4ODYvYXJtIGFyY2hpdGVjdHVyZXMgYXMgdGhlcmUKICBpcyBub3Ro aW5nIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbiB0aGlzIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9u IHdpbGwgcmV0dXJuIAogIGVycm9yIHdoZW4gY2FsbGVkIGZvciB4ODYuCi0gRml4ZWQgY29kaW5n IHN0eWxlIGlzc3VlcyBpbiBsaWJ4bC4KCkNoYW5nZXMgc2luY2UgdjQ6Ci0gUmVtb3ZlZCBsaWJ4 bF9fYXJjaF9kb21haW5fY3JlYXRlX2ZpbmlzaCgpLgotIEFkZGVkIGEgbmV3IGZ1bmN0aW9uIGxp YnhsX19hcmNoX2J1aWxkX2RvbV9maW5pc2goKSwgd2hpY2ggaXMgY2FsbGVkIGF0IHRoZSBsYXN0 CiAgaW4gbGlieGxfX2J1aWxkX2RvbSgpLiBUaGlzIGZ1bmN0aW9uIGNhbGxzIHRoZSB2cGwwMTEg aW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gbm93LgoKQ2hhbmdlcyBzaW5jZSB2MzoKLSBBZGRlZCBh IG5ldyBhcmNoIHNwZWNpZmljIGZ1bmN0aW9uIGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfZmlu aXNoKCksIHdoaWNoCiAgY2FsbHMgdGhlIHZwbDAxMSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4g Rm9yIHg4NiB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGRvCiAgYW55dGhpbmcuCi0gZG9tYWluX3Zw bDAxMV9pbml0KCkgdGFrZXMgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIHdoaWNoIGNvbnRhaW5z IGFsbCB0aGUgCiAgcmVxdWlyZWQgaW5mb3JtYXRpb24gc3VjaCBhcyBjb25zb2xlX2RvbWlkLCBn Zm4gaW5zdGVhZCBvZiBwYXNzaW5nIHBhcmFtZXRlcnMKICBzZXBhcmF0ZWx5LgotIERyb3BwZWQg YSBET01DVEwgQVBJIGRlZmluZWQgZm9yIGRlLWluaXRpYWxpemluZyB2cGwwMTEgYXMgdGhhdCBz aG91bGQgYmUKICB0YWtlbiBjYXJlIHdoZW4gdGhlIGRvbWFpbiBpcyBkZXN0cm95ZWQgKGFuZCBu b3QgZGVwZW5kZW50IG9uIHVzZXJzcGFjZSAKICBsaWJyYXJpZXMvYXBwbGljYXRpb25zKS4KCkNo YW5nZXMgc2luY2UgdjI6Ci0gUmVwbGFjZWQgdGhlIERPTUNUTCBBUElzIGRlZmluZWQgZm9yIGdl dC9zZXQgb2YgZXZlbnQgY2hhbm5lbCBhbmQgR0ZOIHdpdGggCiAgYSBzZXQgb2YgRE9NQ1RMIEFQ SXMgZm9yIGluaXRpYWxpemluZyBhbmQgZGUtaW5pdGlhbGl6aW5nIHZwbDAxMSBlbXVsYXRpb24u CgogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAyMCArKysrKysrKysrKysrKysrKwog dG9vbHMvbGlieGMveGNfZG9tYWluLmMgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysr CiB0b29scy9saWJ4bC9saWJ4bF9hcmNoLmggICAgICB8ICA3ICsrKysrKwogdG9vbHMvbGlieGwv bGlieGxfYXJtLmMgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4 bC9saWJ4bF9kb20uYyAgICAgICB8ICA0ICsrKysKIHRvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jICAg ICAgIHwgIDggKysrKysrKwogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICAgfCAgNiArKysr KwogeGVuL2FyY2gvYXJtL2RvbWN0bC5jICAgICAgICAgfCA1MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICB8 IDI0ICsrKysrKysrKysrKysrKysrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDE3NSBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9s aWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRleCAwNzNmYmM5Li4yMDg2ZTcxIDEwMDY0NAotLS0g YS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRl L3hlbmN0cmwuaApAQCAtODg2LDYgKzg4NiwyNiBAQCBpbnQgeGNfdmNwdV9nZXRjb250ZXh0KHhj X2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICB2Y3B1X2d1ZXN0X2NvbnRl eHRfYW55X3QgKmN0eHQpOwogCiAvKioKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhl IHZ1YXJ0IGVtdWxhdGlvbiBhbmQgcmV0dXJucworICogdGhlIGV2ZW50IHRvIGJlIHVzZWQgYnkg dGhlIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aAorICogdGhlIGVtdWxhdGlvbiBjb2Rl LgorICoKKyAqIEBwYXJtIHhjaCBhIGhhbmRsZSB0byBhbiBvcGVuIGh5cGVydmlzb3IgaW50ZXJm YWNlCisgKiAjcGFybSB0eXBlIHR5cGUgb2YgdnVhcnQKKyAqIEBwYXJtIGRvbWlkIHRoZSBkb21h aW4gdG8gZ2V0IGluZm9ybWF0aW9uIGZyb20KKyAqIEBwYXJtIGNvbnNvbGVfZG9taWQgdGhlIGRv bWlkIG9mIHRoZSBiYWNrZW5kIGNvbnNvbGUKKyAqIEBwYXJtIGdmbiB0aGUgZ3Vlc3QgcGZuIHRv IGJlIHVzZWQgYXMgdGhlIHJpbmcgYnVmZmVyCisgKiBAcGFybSBldnRjaG4gdGhlIGV2ZW50IGNo YW5uZWwgdG8gYmUgdXNlZCBmb3IgZXZlbnRzCisgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgbmVn YXRpdmUgZXJyb3Igb24gZmFpbHVyZQorICovCitpbnQgeGNfZG9tX3Z1YXJ0X2luaXQoeGNfaW50 ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZSwKKyAgICAg ICAgICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgIGRv bWlkX3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2Zu LAorICAgICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0X3QgKmV2dGNobik7CisKKy8qKgog ICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBYU0FWRSBzdGF0 ZSBvZiBhIHBhcnRpY3VsYXIKICAqIHZjcHUgb2YgYSBkb21haW4uIElmIGV4dHN0YXRlLT5zaXpl IGFuZCBleHRzdGF0ZS0+eGZlYXR1cmVfbWFzayBhcmUgMCwKICAqIHRoZSBjYWxsIGlzIGNvbnNp ZGVyZWQgYSBxdWVyeSB0byByZXRyaWV2ZSB0aGVtIGFuZCB0aGUgYnVmZmVyIGlzIG5vdApkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZG9tYWluLmMgYi90b29scy9saWJ4Yy94Y19kb21haW4u YwppbmRleCBmNDBkYzRmLi5mMmU5ZjBjIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19kb21h aW4uYworKysgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwpAQCAtMzQzLDYgKzM0MywzMyBAQCBp bnQgeGNfZG9tYWluX2dldF9ndWVzdF93aWR0aCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3Qg ZG9taWQsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCB4Y19kb21fdnVhcnRfaW5pdCh4Y19pbnRl cmZhY2UgKnhjaCwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLAorICAgICAg ICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgZG9t aWRfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCBnZm4s CisgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAqZXZ0Y2huKQoreworICAgIERF Q0xBUkVfRE9NQ1RMOworICAgIGludCByYyA9IDA7CisKKyAgICBtZW1zZXQoJmRvbWN0bCwgMCwg c2l6ZW9mKGRvbWN0bCkpOworCisgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfdnVhcnRfb3A7 CisgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOworICAgIGRvbWN0bC51LnZ1YXJ0X29wLmNtZCA9 IFhFTl9ET01DVExfVlVBUlRfT1BfSU5JVDsKKyAgICBkb21jdGwudS52dWFydF9vcC50eXBlID0g dHlwZTsKKyAgICBkb21jdGwudS52dWFydF9vcC5jb25zb2xlX2RvbWlkID0gY29uc29sZV9kb21p ZDsKKyAgICBkb21jdGwudS52dWFydF9vcC5nZm4gPSBnZm47CisKKyAgICBpZiAoIChyYyA9IGRv X2RvbWN0bCh4Y2gsICZkb21jdGwpKSA8IDAgKQorICAgICAgICByZXR1cm4gcmM7CisKKyAgICAq ZXZ0Y2huID0gZG9tY3RsLnUudnVhcnRfb3AuZXZ0Y2huOworCisgICAgcmV0dXJuIHJjOworfQor CiBpbnQgeGNfZG9tYWluX2dldGluZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZmlyc3RfZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IG1heF9kb21zLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5o IGIvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCmluZGV4IDVlMWZjNjAuLjc4NGVjN2YgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9h cmNoLmgKQEAgLTQ0LDYgKzQ0LDEzIEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fZmluYWxpc2Vf aHdfZGVzY3JpcHRpb24obGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSk7CiAKKy8q IHBlcmZvcm0gYW55IHBlbmRpbmcgaGFyZHdhcmUgaW5pdGlhbGl6YXRpb24gKi8KK19oaWRkZW4K K2ludCBsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoKGxpYnhsX19nYyAqZ2MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRv bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRf c3RhdGUgKnN0YXRlKTsKKwogLyogYnVpbGQgdk5VTUEgdm1lbXJhbmdlIHdpdGggYXJjaCBzcGVj aWZpYyBpbmZvcm1hdGlvbiAqLwogX2hpZGRlbgogaW50IGxpYnhsX19hcmNoX3ZudW1hX2J1aWxk X3ZtZW1yYW5nZShsaWJ4bF9fZ2MgKmdjLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf YXJtLmMgYi90b29scy9saWJ4bC9saWJ4bF9hcm0uYwppbmRleCBkODQyZDg4Li42ZjViYzNjIDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9hcm0uYworKysgYi90b29scy9saWJ4bC9saWJ4 bF9hcm0uYwpAQCAtMTAzOCw2ICsxMDM4LDMzIEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fZmlu YWxpc2VfaHdfZGVzY3JpcHRpb24obGlieGxfX2djICpnYywKICAgICByZXR1cm4gMDsKIH0KIAor aW50IGxpYnhsX19hcmNoX2J1aWxkX2RvbV9maW5pc2gobGlieGxfX2djICpnYywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9t LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9z dGF0ZSAqc3RhdGUpCit7CisgICAgaW50IHJjID0gMCwgcmV0OworCisgICAgaWYgKGluZm8tPmFy Y2hfYXJtLnZ1YXJ0ICE9IExJQlhMX1ZVQVJUX1RZUEVfU0JTQV9VQVJUKSB7CisgICAgICAgIHJj ID0gMDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgcmV0ID0geGNfZG9tX3Z1YXJ0 X2luaXQoQ1RYLT54Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0RPTUNUTF9W VUFSVF9UWVBFX1ZQTDAxMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20tPmd1ZXN0 X2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Y29uc29sZV9kb21pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20tPnZ1YXJ0X2dmbiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmc3RhdGUtPnZ1YXJ0X3BvcnQpOworICAgIGlmIChyZXQgPCAwKSB7 CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgTE9HKEVSUk9SLCAieGNfZG9tX3Z1 YXJ0X2luaXQgZmFpbGVkXG4iKTsKKyAgICB9CisKK291dDoKKyAgICByZXR1cm4gcmM7Cit9CisK IGludCBsaWJ4bF9fYXJjaF92bnVtYV9idWlsZF92bWVtcmFuZ2UobGlieGxfX2djICpnYywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv ICppbmZvLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4 bC9saWJ4bF9kb20uYwppbmRleCBlMGYwZDc4Li41ZjkyMDIzIDEwMDY0NAotLS0gYS90b29scy9s aWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtNzAyLDYg KzcwMiwxMCBAQCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kb20obGlieGxfX2djICpnYywgdWlu dDMyX3QgZG9taWQsCiAgICAgICAgIExPR0UoRVJST1IsICJ4Y19kb21fZ250dGFiX2luaXQgZmFp bGVkIik7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KKyAgICBpZiAoKHJldCA9IGxpYnhsX19h cmNoX2J1aWxkX2RvbV9maW5pc2goZ2MsIGluZm8sIGRvbSwgc3RhdGUpKSAhPSAwKSB7CisgICAg ICAgIExPR0UoRVJST1IsICJsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoIGZhaWxlZCIpOwor ICAgICAgICBnb3RvIG91dDsKKyAgICB9CiAKIG91dDoKICAgICByZXR1cm4gcmV0ICE9IDAgPyBF UlJPUl9GQUlMIDogMDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jIGIvdG9v bHMvbGlieGwvbGlieGxfeDg2LmMKaW5kZXggNDU1ZjZmMC4uMGFhZWRlZCAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfeDg2LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKQEAg LTM5MSw2ICszOTEsMTQgQEAgaW50IGxpYnhsX19hcmNoX2RvbWFpbl9maW5hbGlzZV9od19kZXNj cmlwdGlvbihsaWJ4bF9fZ2MgKmdjLAogICAgIHJldHVybiByYzsKIH0KIAoraW50IGxpYnhsX19h cmNoX2J1aWxkX2RvbV9maW5pc2gobGlieGxfX2djICpnYywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUp Cit7CisgICAgcmV0dXJuIDA7Cit9CisKIC8qIFJldHVybiAwIG9uIHN1Y2Nlc3MsIEVSUk9SXyog b24gZmFpbHVyZS4gKi8KIGludCBsaWJ4bF9fYXJjaF92bnVtYV9idWlsZF92bWVtcmFuZ2UobGli eGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgZG9taWQsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9h cm0vZG9tYWluLmMKaW5kZXggNzg0YWUzOS4uMDc3OTA4NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv YXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwpAQCAtODc0LDYgKzg3NCwx MiBAQCBpbnQgZG9tYWluX3JlbGlucXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4gKmQpCiAg ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIHJldHVybiByZXQ7CiAKKyAgICAgICAgLyoK KyAgICAgICAgICogUmVsZWFzZSB0aGUgcmVzb3VyY2VzIGFsbG9jYXRlZCBmb3IgdnBsMDExIHdo aWNoIHdlcmUKKyAgICAgICAgICogYWxsb2NhdGVkIHZpYSBhIERPTUNUTCBjYWxsIFhFTl9ET01D VExfdnVhcnRfb3AuCisgICAgICAgICAqLworICAgICAgICBkb21haW5fdnBsMDExX2RlaW5pdChk KTsKKwogICAgICAgICBkLT5hcmNoLnJlbG1lbSA9IFJFTE1FTV94ZW47CiAgICAgICAgIC8qIEZh bGx0aHJvdWdoICovCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21jdGwuYyBiL3hlbi9h cmNoL2FybS9kb21jdGwuYwppbmRleCA4MjMyZjQ0Li40NTg3Yzc1IDEwMDY0NAotLS0gYS94ZW4v YXJjaC9hcm0vZG9tY3RsLmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWN0bC5jCkBAIC01LDkgKzUs MTEgQEAKICAqLwogCiAjaW5jbHVkZSA8eGVuL2Vycm5vLmg+CisjaW5jbHVkZSA8eGVuL2d1ZXN0 X2FjY2Vzcy5oPgogI2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4KICNpbmNsdWRlIDx4ZW4vaW9j YXAuaD4KICNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVuL21tLmg+CiAjaW5jbHVk ZSA8eGVuL3NjaGVkLmg+CiAjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CiAjaW5jbHVkZSA8eHNtL3hz bS5oPgpAQCAtMjAsNiArMjIsMjkgQEAgdm9pZCBhcmNoX2dldF9kb21haW5faW5mbyhjb25zdCBz dHJ1Y3QgZG9tYWluICpkLAogICAgIGluZm8tPmZsYWdzIHw9IFhFTl9ET01JTkZfaGFwOwogfQog CitzdGF0aWMgaW50IGhhbmRsZV92dWFydF9pbml0KHN0cnVjdCBkb21haW4gKmQsIAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92dWFydF9vcCAqdnVhcnRf b3ApCit7CisgICAgaW50IHJjOworICAgIHN0cnVjdCB2cGwwMTFfaW5pdF9pbmZvIGluZm87CisK KyAgICBpbmZvLmNvbnNvbGVfZG9taWQgPSB2dWFydF9vcC0+Y29uc29sZV9kb21pZDsKKyAgICBp bmZvLmdmbiA9IF9nZm4odnVhcnRfb3AtPmdmbik7CisKKyAgICBpZiAoIGQtPmNyZWF0aW9uX2Zp bmlzaGVkICkKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKKworICAgIGlmICggdnVhcnRfb3AtPnR5 cGUgIT0gWEVOX0RPTUNUTF9WVUFSVF9UWVBFX1ZQTDAxMSApCisgICAgICAgIHJldHVybiAtRU9Q Tk9UU1VQUDsKKworICAgIHJjID0gZG9tYWluX3ZwbDAxMV9pbml0KGQsICZpbmZvKTsKKworICAg IGlmICggIXJjICkKKyAgICAgICAgdnVhcnRfb3AtPmV2dGNobiA9IGluZm8uZXZ0Y2huOworCisg ICAgcmV0dXJuIHJjOworfQorCiBsb25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3Rs ICpkb21jdGwsIHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVT VF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKIHsKQEAgLTExOSw2ICsxNDQs MzMgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bCAqZG9tY3RsLCBzdHJ1 Y3QgZG9tYWluICpkLAogICAgICAgICBkLT5kaXNhYmxlX21pZ3JhdGUgPSBkb21jdGwtPnUuZGlz YWJsZV9taWdyYXRlLmRpc2FibGU7CiAgICAgICAgIHJldHVybiAwOwogCisgICAgY2FzZSBYRU5f RE9NQ1RMX3Z1YXJ0X29wOgorICAgIHsKKyAgICAgICAgaW50IHJjOworICAgICAgICB1bnNpZ25l ZCBpbnQgaTsKKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgKnZ1YXJ0X29wID0g JmRvbWN0bC0+dS52dWFydF9vcDsKKworICAgICAgICAvKiBjaGVjayB0aGF0IHN0cnVjdHVyZSBw YWRkaW5nIG11c3QgYmUgMC4gKi8KKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCBzaXplb2YodnVh cnRfb3AtPnBhZCk7IGkrKyApCisgICAgICAgICAgICBpZiAoIHZ1YXJ0X29wLT5wYWRbaV0gKQor ICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAgIHN3aXRjaCggdnVhcnRf b3AtPmNtZCApCisgICAgICAgIHsKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1ZVQVJUX09QX0lO SVQ6CisgICAgICAgICAgICByYyA9IGhhbmRsZV92dWFydF9pbml0KGQsIHZ1YXJ0X29wKTsKKyAg ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByYyA9IC1F SU5WQUw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICggIXJj ICkKKyAgICAgICAgICAgIHJjID0gY29weV90b19ndWVzdCh1X2RvbWN0bCwgZG9tY3RsLCAxKTsK KworICAgICAgICByZXR1cm4gcmM7CisgICAgfQogICAgIGRlZmF1bHQ6CiAgICAgewogICAgICAg ICBpbnQgcmM7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4v aW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggZTJmZDY4NS4uOWRjYzk2OSAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9k b21jdGwuaApAQCAtMzMsNiArMzMsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJ4ZW4uaCIKKyNp bmNsdWRlICJldmVudF9jaGFubmVsLmgiCiAjaW5jbHVkZSAiZ3JhbnRfdGFibGUuaCIKICNpbmNs dWRlICJodm0vc2F2ZS5oIgogI2luY2x1ZGUgIm1lbW9yeS5oIgpAQCAtMTA3Nyw2ICsxMDc4LDI3 IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3NldF9nbnR0YWJfbGltaXRzIHsKICAgICB1aW50MzJfdCBt YXB0cmFja19mcmFtZXM7ICAvKiBJTiAqLwogfTsKIAorLyogWEVOX0RPTUNUTF92dWFydF9vcCAq Lworc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgeworI2RlZmluZSBYRU5fRE9NQ1RMX1ZVQVJU X09QX0lOSVQgIDAKKyAgICAgICAgdWludDMyX3QgY21kOyAgICAgICAgICAgLyogWEVOX0RPTUNU TF9WVUFSVF9PUF8qICovCisjZGVmaW5lIFhFTl9ET01DVExfVlVBUlRfVFlQRV9WUEwwMTEgMAor ICAgICAgICB1aW50MzJfdCB0eXBlOyAgICAgICAgICAvKiBJTiAtIHR5cGUgb2YgdnVhcnQuCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgQ3VycmVudGx5IG9ubHkgdnBs MDExIHN1cHBvcnRlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAg ICAgIHVpbnQ2NF9hbGlnbmVkX3QgIGdmbjsgIC8qIElOIC0gZ3Vlc3QgZ2ZuIHRvIGJlIHVzZWQg YXMgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgIHJpbmcgYnVmZmVy LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgZG9taWRfdCBj b25zb2xlX2RvbWlkOyAgLyogSU4gLSBkb21pZCBvZiBkb21haW4gcnVubmluZyB0aGUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICBiYWNrZW5kIGNvbnNvbGUuCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICB1aW50OF90IHBhZFsyXTsK KyAgICAgICAgZXZ0Y2huX3BvcnRfdCBldnRjaG47ICAgLyogT1VUIC0gcmVtb3RlIHBvcnQgb2Yg dGhlIGV2ZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgIGNoYW5u ZWwgdXNlZCBmb3Igc2VuZGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAg ICAgICByaW5nIGJ1ZmZlciBldmVudHMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqLworfTsKKwogc3RydWN0IHhlbl9kb21jdGwgewogICAgIHVpbnQzMl90IGNtZDsKICNkZWZp bmUgWEVOX0RPTUNUTF9jcmVhdGVkb21haW4gICAgICAgICAgICAgICAgICAgMQpAQCAtMTE1NSw2 ICsxMTc3LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogI2RlZmluZSBYRU5fRE9NQ1RMX3Bzcl9j YXRfb3AgICAgICAgICAgICAgICAgICAgIDc4CiAjZGVmaW5lIFhFTl9ET01DVExfc29mdF9yZXNl dCAgICAgICAgICAgICAgICAgICAgNzkKICNkZWZpbmUgWEVOX0RPTUNUTF9zZXRfZ250dGFiX2xp bWl0cyAgICAgICAgICAgICA4MAorI2RlZmluZSBYRU5fRE9NQ1RMX3Z1YXJ0X29wICAgICAgICAg ICAgICAgICAgICAgIDgxCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfZ3Vlc3RtZW1pbyAgICAg ICAgICAgIDEwMDAKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF9wYXVzZXZjcHUgICAgICAgICAg ICAgMTAwMQogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3VucGF1c2V2Y3B1ICAgICAgICAgICAx MDAyCkBAIC0xMjE4LDYgKzEyNDEsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX21vbml0b3Jfb3AgICAgICAgIG1vbml0b3Jfb3A7CiAgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgICAgICAgIHBzcl9jYXRfb3A7CiAgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX3NldF9nbnR0YWJfbGltaXRzIHNldF9nbnR0YWJfbGltaXRzOworICAg ICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92dWFydF9vcCAgICAgICAgICB2dWFydF9vcDsKICAgICAg ICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkWzEyOF07CiAgICAgfSB1 OwogfTsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==