From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 06/27 v8] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Mon, 28 Aug 2017 14:25:49 +0530 Message-ID: <1503910570-24427-7-git-send-email-bhupinder.thakur@linaro.org> References: <1503910570-24427-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmFqc-0004lZ-Ce for xen-devel@lists.xenproject.org; Mon, 28 Aug 2017 08:56:42 +0000 Received: by mail-pf0-f170.google.com with SMTP id r62so14493251pfj.0 for ; Mon, 28 Aug 2017 01:56:40 -0700 (PDT) In-Reply-To: <1503910570-24427-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+CgpDaGFuZ2VzIHNpbmNlIHY2OgotIFJl bmFtZWQgdGhlIHZ1YXJ0IGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHRvIGEgZ2VuZXJpYyBuYW1l IHhjX2RvbV92dWFydF9pbml0IAotIFVzZWQgZG9taWRfdCBhcyBhIHR5cGUgaW5zdGVhZCBvZiB1 aW50MzJfdCBmb3IgZG9taWQKLSBDaGVja2luZyB0aGUgdnVhcnQgdHlwZSBleHBsaWNpdGx5IGFn YWluc3QgdnBsMDExIGVudW0gdmFsdWUKCkNoYW5nZXMgc2luY2UgdjU6Ci0geGNfZG9tX3ZwbDAx MV9pbml0KCkgd2lsbCBiZSBjb21waWxlZCBmb3IgYm90aCB4ODYvYXJtIGFyY2hpdGVjdHVyZXMg YXMgdGhlcmUKICBpcyBub3RoaW5nIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbiB0aGlzIGZ1bmN0 aW9uLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIAogIGVycm9yIHdoZW4gY2FsbGVkIGZvciB4 ODYuCi0gRml4ZWQgY29kaW5nIHN0eWxlIGlzc3VlcyBpbiBsaWJ4bC4KCkNoYW5nZXMgc2luY2Ug djQ6Ci0gUmVtb3ZlZCBsaWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlX2ZpbmlzaCgpLgotIEFkZGVk IGEgbmV3IGZ1bmN0aW9uIGxpYnhsX19hcmNoX2J1aWxkX2RvbV9maW5pc2goKSwgd2hpY2ggaXMg Y2FsbGVkIGF0IHRoZSBsYXN0CiAgaW4gbGlieGxfX2J1aWxkX2RvbSgpLiBUaGlzIGZ1bmN0aW9u IGNhbGxzIHRoZSB2cGwwMTEgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gbm93LgoKQ2hhbmdlcyBz aW5jZSB2MzoKLSBBZGRlZCBhIG5ldyBhcmNoIHNwZWNpZmljIGZ1bmN0aW9uIGxpYnhsX19hcmNo X2RvbWFpbl9jcmVhdGVfZmluaXNoKCksIHdoaWNoCiAgY2FsbHMgdGhlIHZwbDAxMSBpbml0aWFs aXphdGlvbiBmdW5jdGlvbi4gRm9yIHg4NiB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGRvCiAgYW55 dGhpbmcuCi0gZG9tYWluX3ZwbDAxMV9pbml0KCkgdGFrZXMgYSBwb2ludGVyIHRvIGEgc3RydWN0 dXJlIHdoaWNoIGNvbnRhaW5zIGFsbCB0aGUgCiAgcmVxdWlyZWQgaW5mb3JtYXRpb24gc3VjaCBh cyBjb25zb2xlX2RvbWlkLCBnZm4gaW5zdGVhZCBvZiBwYXNzaW5nIHBhcmFtZXRlcnMKICBzZXBh cmF0ZWx5LgotIERyb3BwZWQgYSBET01DVEwgQVBJIGRlZmluZWQgZm9yIGRlLWluaXRpYWxpemlu ZyB2cGwwMTEgYXMgdGhhdCBzaG91bGQgYmUKICB0YWtlbiBjYXJlIHdoZW4gdGhlIGRvbWFpbiBp cyBkZXN0cm95ZWQgKGFuZCBub3QgZGVwZW5kZW50IG9uIHVzZXJzcGFjZSAKICBsaWJyYXJpZXMv YXBwbGljYXRpb25zKS4KCkNoYW5nZXMgc2luY2UgdjI6Ci0gUmVwbGFjZWQgdGhlIERPTUNUTCBB UElzIGRlZmluZWQgZm9yIGdldC9zZXQgb2YgZXZlbnQgY2hhbm5lbCBhbmQgR0ZOIHdpdGggCiAg YSBzZXQgb2YgRE9NQ1RMIEFQSXMgZm9yIGluaXRpYWxpemluZyBhbmQgZGUtaW5pdGlhbGl6aW5n IHZwbDAxMSBlbXVsYXRpb24uCgogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAyMCAr KysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4Yy94Y19kb21haW4uYyAgICAgICB8IDI1ICsr KysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9hcmNoLmggICAgICB8ICA3 ICsrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2FybS5jICAgICAgIHwgMjIgKysrKysrKysrKysr KysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAgICB8ICA0ICsrKysKIHRvb2xz L2xpYnhsL2xpYnhsX3g4Ni5jICAgICAgIHwgIDggKysrKysrKysKIHhlbi9hcmNoL2FybS9kb21h aW4uYyAgICAgICAgIHwgIDYgKysrKysrCiB4ZW4vYXJjaC9hcm0vZG9tY3RsLmMgICAgICAgICB8 IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNs dWRlL3B1YmxpYy9kb21jdGwuaCAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysKIDkgZmlsZXMg Y2hhbmdlZCwgMTU5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IGM3NzEw YjguLjM1YmJiM2IgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisr KyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC04ODYsNiArODg2LDI2IEBAIGlu dCB4Y192Y3B1X2dldGNvbnRleHQoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAg ICAgICAgIHZjcHVfZ3Vlc3RfY29udGV4dF9hbnlfdCAqY3R4dCk7CiAKIC8qKgorICogVGhpcyBm dW5jdGlvbiBpbml0aWFsaXplcyB0aGUgdnVhcnQgZW11bGF0aW9uIGFuZCByZXR1cm5zCisgKiB0 aGUgZXZlbnQgdG8gYmUgdXNlZCBieSB0aGUgYmFja2VuZCBmb3IgY29tbXVuaWNhdGluZyB3aXRo CisgKiB0aGUgZW11bGF0aW9uIGNvZGUuCisgKgorICogQHBhcm0geGNoIGEgaGFuZGxlIHRvIGFu IG9wZW4gaHlwZXJ2aXNvciBpbnRlcmZhY2UKKyAqICNwYXJtIHR5cGUgdHlwZSBvZiB2dWFydAor ICogQHBhcm0gZG9taWQgdGhlIGRvbWFpbiB0byBnZXQgaW5mb3JtYXRpb24gZnJvbQorICogQHBh cm0gY29uc29sZV9kb21pZCB0aGUgZG9taWQgb2YgdGhlIGJhY2tlbmQgY29uc29sZQorICogQHBh cm0gZ2ZuIHRoZSBndWVzdCBwZm4gdG8gYmUgdXNlZCBhcyB0aGUgcmluZyBidWZmZXIKKyAqIEBw YXJtIGV2dGNobiB0aGUgZXZlbnQgY2hhbm5lbCB0byBiZSB1c2VkIGZvciBldmVudHMKKyAqIEBy ZXR1cm4gMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlCisgKi8KK2ludCB4 Y19kb21fdnVhcnRfaW5pdCh4Y19pbnRlcmZhY2UgKnhjaCwKKyAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsCisg ICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkLAorICAgICAgICAgICAg ICAgICAgICAgIHhlbl9wZm5fdCBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3Bv cnRfdCAqZXZ0Y2huKTsKKworLyoqCiAgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgaW5mb3JtYXRp b24gYWJvdXQgdGhlIFhTQVZFIHN0YXRlIG9mIGEgcGFydGljdWxhcgogICogdmNwdSBvZiBhIGRv bWFpbi4gSWYgZXh0c3RhdGUtPnNpemUgYW5kIGV4dHN0YXRlLT54ZmVhdHVyZV9tYXNrIGFyZSAw LAogICogdGhlIGNhbGwgaXMgY29uc2lkZXJlZCBhIHF1ZXJ5IHRvIHJldHJpZXZlIHRoZW0gYW5k IHRoZSBidWZmZXIgaXMgbm90CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21haW4uYyBi L3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCmluZGV4IDNiYWI0ZTguLmQyZDUxMTEgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5j CkBAIC0zNDMsNiArMzQzLDMxIEBAIGludCB4Y19kb21haW5fZ2V0X2d1ZXN0X3dpZHRoKHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICByZXR1cm4gMDsKIH0KIAoraW50IHhj X2RvbV92dWFydF9pbml0KHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICBkb21pZF90IGNvbnNvbGVfZG9taWQsCisgICAgICAgICAgICAg ICAgICAgICAgeGVuX3Bmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9y dF90ICpldnRjaG4pCit7CisgICAgREVDTEFSRV9ET01DVEw7CisgICAgaW50IHJjID0gMDsKKwor ICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Z1YXJ0X29wOworICAgIGRvbWN0bC5kb21haW4g PSBkb21pZDsKKyAgICBkb21jdGwudS52dWFydF9vcC5jbWQgPSBYRU5fRE9NQ1RMX1ZVQVJUX09Q X0lOSVQ7CisgICAgZG9tY3RsLnUudnVhcnRfb3AudHlwZSA9IHR5cGU7CisgICAgZG9tY3RsLnUu dnVhcnRfb3AuY29uc29sZV9kb21pZCA9IGNvbnNvbGVfZG9taWQ7CisgICAgZG9tY3RsLnUudnVh cnRfb3AuZ2ZuID0gZ2ZuOworCisgICAgaWYgKCAocmMgPSBkb19kb21jdGwoeGNoLCAmZG9tY3Rs KSkgPCAwICkKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAgKmV2dGNobiA9IGRvbWN0bC51LnZ1 YXJ0X29wLmV2dGNobjsKKworICAgIHJldHVybiByYzsKK30KKwogaW50IHhjX2RvbWFpbl9nZXRp bmZvKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZp cnN0X2RvbWlkLAogICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhfZG9tcywK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCBiL3Rvb2xzL2xpYnhsL2xpYnhs X2FyY2guaAppbmRleCA1ZTFmYzYwLi43ODRlYzdmIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9hcmNoLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCkBAIC00NCw2ICs0NCwx MyBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2ZpbmFsaXNlX2h3X2Rlc2NyaXB0aW9uKGxpYnhs X19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2Rv bWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pOwogCisvKiBwZXJmb3JtIGFueSBwZW5kaW5n IGhhcmR3YXJlIGluaXRpYWxpemF0aW9uICovCitfaGlkZGVuCitpbnQgbGlieGxfX2FyY2hfYnVp bGRfZG9tX2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlICpzdGF0ZSk7CisKIC8q IGJ1aWxkIHZOVU1BIHZtZW1yYW5nZSB3aXRoIGFyY2ggc3BlY2lmaWMgaW5mb3JtYXRpb24gKi8K IF9oaWRkZW4KIGludCBsaWJ4bF9fYXJjaF92bnVtYV9idWlsZF92bWVtcmFuZ2UobGlieGxfX2dj ICpnYywKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jIGIvdG9vbHMvbGlieGwv bGlieGxfYXJtLmMKaW5kZXggZDg0MmQ4OC4uYjgxNDdmMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGwvbGlieGxfYXJtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKQEAgLTEwMzgsNiAr MTAzOCwyOCBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2ZpbmFsaXNlX2h3X2Rlc2NyaXB0aW9u KGxpYnhsX19nYyAqZ2MsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCBsaWJ4bF9fYXJjaF9idWls ZF9kb21fZmluaXNoKGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlKQoreworICAg IGludCByYyA9IDA7CisKKyAgICBpZiAoaW5mby0+YXJjaF9hcm0udnVhcnQgIT0gTElCWExfVlVB UlRfVFlQRV9TQlNBX1VBUlQpCisgICAgICAgIHJldHVybiByYzsKKworICAgIHJjID0geGNfZG9t X3Z1YXJ0X2luaXQoQ1RYLT54Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fRE9N Q1RMX1ZVQVJUX1RZUEVfVlBMMDExLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLT5n dWVzdF9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Y29uc29sZV9kb21p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+dnVhcnRfZ2ZuLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgJnN0YXRlLT52dWFydF9wb3J0KTsKKyAgICBpZiAocmMgPCAwKQor ICAgICAgICBMT0coRVJST1IsICJ4Y19kb21fdnVhcnRfaW5pdCBmYWlsZWRcbiIpOworCisgICAg cmV0dXJuIHJjOworfQorCiBpbnQgbGlieGxfX2FyY2hfdm51bWFfYnVpbGRfdm1lbXJhbmdlKGxp YnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9k b21haW5fYnVpbGRfaW5mbyAqaW5mbywKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rv bS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKaW5kZXggZTBmMGQ3OC4uNWY5MjAyMyAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxf ZG9tLmMKQEAgLTcwMiw2ICs3MDIsMTAgQEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZG9tKGxp YnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICBMT0dFKEVSUk9SLCAieGNfZG9t X2dudHRhYl9pbml0IGZhaWxlZCIpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CisgICAgaWYg KChyZXQgPSBsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoKGdjLCBpbmZvLCBkb20sIHN0YXRl KSkgIT0gMCkgeworICAgICAgICBMT0dFKEVSUk9SLCAibGlieGxfX2FyY2hfYnVpbGRfZG9tX2Zp bmlzaCBmYWlsZWQiKTsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQogCiBvdXQ6CiAgICAgcmV0 dXJuIHJldCAhPSAwID8gRVJST1JfRkFJTCA6IDA7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmluZGV4IDQ1NWY2ZjAuLjBhYWVk ZWQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsX3g4Ni5jCkBAIC0zOTEsNiArMzkxLDE0IEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5f ZmluYWxpc2VfaHdfZGVzY3JpcHRpb24obGlieGxfX2djICpnYywKICAgICByZXR1cm4gcmM7CiB9 CiAKK2ludCBsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoKGxpYnhsX19nYyAqZ2MsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5m bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2Ug KmRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVp bGRfc3RhdGUgKnN0YXRlKQoreworICAgIHJldHVybiAwOworfQorCiAvKiBSZXR1cm4gMCBvbiBz dWNjZXNzLCBFUlJPUl8qIG9uIGZhaWx1cmUuICovCiBpbnQgbGlieGxfX2FyY2hfdm51bWFfYnVp bGRfdm1lbXJhbmdlKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFp bi5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jCmluZGV4IGVlZWJiZGIuLjg1YWNjZGYgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYworKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMK QEAgLTg1Nyw2ICs4NTcsMTIgQEAgaW50IGRvbWFpbl9yZWxpbnF1aXNoX3Jlc291cmNlcyhzdHJ1 Y3QgZG9tYWluICpkKQogICAgICAgICBpZiAoIHJldCApCiAgICAgICAgICAgICByZXR1cm4gcmV0 OwogCisgICAgICAgIC8qCisgICAgICAgICAqIFJlbGVhc2UgdGhlIHJlc291cmNlcyBhbGxvY2F0 ZWQgZm9yIHZwbDAxMSB3aGljaCB3ZXJlCisgICAgICAgICAqIGFsbG9jYXRlZCB2aWEgYSBET01D VEwgY2FsbCBYRU5fRE9NQ1RMX3Z1YXJ0X29wLgorICAgICAgICAgKi8KKyAgICAgICAgZG9tYWlu X3ZwbDAxMV9kZWluaXQoZCk7CisKICAgICAgICAgZC0+YXJjaC5yZWxtZW0gPSBSRUxNRU1feGVu OwogICAgICAgICAvKiBGYWxsdGhyb3VnaCAqLwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v ZG9tY3RsLmMgYi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKaW5kZXggZGI2ODM4ZC4uZWE5MTczMSAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21j dGwuYwpAQCAtNSw5ICs1LDExIEBACiAgKi8KIAogI2luY2x1ZGUgPHhlbi9lcnJuby5oPgorI2lu Y2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KICNpbmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+CiAj aW5jbHVkZSA8eGVuL2lvY2FwLmg+CiAjaW5jbHVkZSA8eGVuL2xpYi5oPgorI2luY2x1ZGUgPHhl bi9tbS5oPgogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgogI2luY2x1ZGUgPHhlbi90eXBlcy5oPgog I2luY2x1ZGUgPHhzbS94c20uaD4KQEAgLTIwLDYgKzIyLDI5IEBAIHZvaWQgYXJjaF9nZXRfZG9t YWluX2luZm8oY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwKICAgICBpbmZvLT5mbGFncyB8PSBYRU5f RE9NSU5GX2hhcDsKIH0KIAorc3RhdGljIGludCBoYW5kbGVfdnVhcnRfaW5pdChzdHJ1Y3QgZG9t YWluICpkLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxf dnVhcnRfb3AgKnZ1YXJ0X29wKQoreworICAgIGludCByYzsKKyAgICBzdHJ1Y3QgdnBsMDExX2lu aXRfaW5mbyBpbmZvOworCisgICAgaW5mby5jb25zb2xlX2RvbWlkID0gdnVhcnRfb3AtPmNvbnNv bGVfZG9taWQ7CisgICAgaW5mby5nZm4gPSBfZ2ZuKHZ1YXJ0X29wLT5nZm4pOworCisgICAgaWYg KCBkLT5jcmVhdGlvbl9maW5pc2hlZCApCisgICAgICAgIHJldHVybiAtRVBFUk07CisKKyAgICBp ZiAoIHZ1YXJ0X29wLT50eXBlICE9IFhFTl9ET01DVExfVlVBUlRfVFlQRV9WUEwwMTEgKQorICAg ICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CisKKyAgICByYyA9IGRvbWFpbl92cGwwMTFfaW5pdChk LCAmaW5mbyk7CisKKyAgICBpZiAoICFyYyApCisgICAgICAgIHZ1YXJ0X29wLT5ldnRjaG4gPSBp bmZvLmV2dGNobjsKKworICAgIHJldHVybiByYzsKK30KKwogbG9uZyBhcmNoX2RvX2RvbWN0bChz dHJ1Y3QgeGVuX2RvbWN0bCAqZG9tY3RsLCBzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAg ICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21jdGwpCiB7 CkBAIC0xMTksNiArMTQ0LDI3IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21j dGwgKmRvbWN0bCwgc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgZC0+ZGlzYWJsZV9taWdyYXRl ID0gZG9tY3RsLT51LmRpc2FibGVfbWlncmF0ZS5kaXNhYmxlOwogICAgICAgICByZXR1cm4gMDsK IAorICAgIGNhc2UgWEVOX0RPTUNUTF92dWFydF9vcDoKKyAgICB7CisgICAgICAgIGludCByYzsK KyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgKnZ1YXJ0X29wID0gJmRvbWN0bC0+ dS52dWFydF9vcDsKKworICAgICAgICBzd2l0Y2goIHZ1YXJ0X29wLT5jbWQgKQorICAgICAgICB7 CisgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklUOgorICAgICAgICAgICAgcmMg PSBoYW5kbGVfdnVhcnRfaW5pdChkLCB2dWFydF9vcCk7CisgICAgICAgICAgICBicmVhazsKKwor ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICAgICAg YnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoICFyYyApCisgICAgICAgICAgICByYyA9 IF9fY29weV90b19ndWVzdCh1X2RvbWN0bCwgZG9tY3RsLCAxKTsKKworICAgICAgICByZXR1cm4g cmM7CisgICAgfQogICAgIGRlZmF1bHQ6CiAgICAgewogICAgICAgICBpbnQgcmM7CmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9t Y3RsLmgKaW5kZXggMDY2OWMzMS4uZWQyZWE4MCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVi bGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtMzYsNiAr MzYsNyBAQAogI2luY2x1ZGUgImdyYW50X3RhYmxlLmgiCiAjaW5jbHVkZSAiaHZtL3NhdmUuaCIK ICNpbmNsdWRlICJtZW1vcnkuaCIKKyNpbmNsdWRlICJldmVudF9jaGFubmVsLmgiCiAKICNkZWZp bmUgWEVOX0RPTUNUTF9JTlRFUkZBQ0VfVkVSU0lPTiAweDAwMDAwMDBlCiAKQEAgLTExNDgsNiAr MTE0OSwyNCBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29wIHsKICAgICB1aW50MzJfdCB0 YXJnZXQ7ICAgIC8qIElOICovCiAgICAgdWludDY0X3QgZGF0YTsgICAgICAvKiBJTi9PVVQgKi8K IH07CisKK3N0cnVjdCB4ZW5fZG9tY3RsX3Z1YXJ0X29wIHsKKyNkZWZpbmUgWEVOX0RPTUNUTF9W VUFSVF9PUF9JTklUICAwCisgICAgICAgIHVpbnQzMl90IGNtZDsgICAgICAgICAgIC8qIFhFTl9E T01DVExfVlVBUlRfT1BfKiAqLworI2RlZmluZSBYRU5fRE9NQ1RMX1ZVQVJUX1RZUEVfVlBMMDEx IDAKKyAgICAgICAgdWludDMyX3QgdHlwZTsgICAgICAgICAgLyogSU4gLSB0eXBlIG9mIHZ1YXJ0 LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgIEN1cnJlbnRseSBvbmx5 IHZwbDAxMSBzdXBwb3J0ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwor ICAgICAgICB1aW50NjRfYWxpZ25lZF90ICBnZm47ICAvKiBJTiAtIGd1ZXN0IGdmbiB0byBiZSB1 c2VkIGFzIGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICByaW5nIGJ1 ZmZlci4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgIGV2dGNo bl9wb3J0X3QgZXZ0Y2huOyAgIC8qIE9VVCAtIHJlbW90ZSBwb3J0IG9mIHRoZSBldmVudAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICBjaGFubmVsIHVzZWQgZm9yIHNl bmRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgcmluZyBidWZm ZXIgZXZlbnRzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAg ZG9taWRfdCBjb25zb2xlX2RvbWlkOyAgLyogSU4gKi8KK307CisKIHR5cGVkZWYgc3RydWN0IHhl bl9kb21jdGxfcHNyX2NhdF9vcCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3BfdDsKIERFRklORV9YRU5f R1VFU1RfSEFORExFKHhlbl9kb21jdGxfcHNyX2NhdF9vcF90KTsKIApAQCAtMTIyOCw2ICsxMjQ3 LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogI2RlZmluZSBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag ICAgICAgICAgICAgICAgICAgIDc3CiAjZGVmaW5lIFhFTl9ET01DVExfcHNyX2NhdF9vcCAgICAg ICAgICAgICAgICAgICAgNzgKICNkZWZpbmUgWEVOX0RPTUNUTF9zb2Z0X3Jlc2V0ICAgICAgICAg ICAgICAgICAgICA3OQorI2RlZmluZSBYRU5fRE9NQ1RMX3Z1YXJ0X29wICAgICAgICAgICAgICAg ICAgICAgIDgwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfZ3Vlc3RtZW1pbyAgICAgICAgICAg IDEwMDAKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF9wYXVzZXZjcHUgICAgICAgICAgICAgMTAw MQogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3VucGF1c2V2Y3B1ICAgICAgICAgICAxMDAyCkBA IC0xMjkwLDYgKzEzMTAsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX3Bzcl9jbXRfb3AgICAgICAgIHBzcl9jbXRfb3A7CiAgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX21vbml0b3Jfb3AgICAgICAgIG1vbml0b3Jfb3A7CiAgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgICAgICAgIHBzcl9jYXRfb3A7CisgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX3Z1YXJ0X29wICAgICAgICAgIHZ1YXJ0X29wOwogICAgICAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsKICAgICB9IHU7CiB9OwotLSAKMi43 LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK