From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 06/27 v9] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Mon, 18 Sep 2017 16:01:50 +0530 Message-ID: <1505730731-10947-7-git-send-email-bhupinder.thakur@linaro.org> References: <1505730731-10947-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 1dttM0-0001i9-Vx for xen-devel@lists.xenproject.org; Mon, 18 Sep 2017 10:32:41 +0000 Received: by mail-pf0-f169.google.com with SMTP id m63so29248pfk.7 for ; Mon, 18 Sep 2017 03:32:38 -0700 (PDT) In-Reply-To: <1505730731-10947-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+CgpDaGFuZ2VzIHNpbmNlIHY4OgotIEFk 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 IDIyICsrKysrKysrKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAxNzMgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIvdG9vbHMvbGli eGMvaW5jbHVkZS94ZW5jdHJsLmgKaW5kZXggNDMxNTFjYi4uMzdiZWIxNCAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsLmgKQEAgLTg4Niw2ICs4ODYsMjYgQEAgaW50IHhjX3ZjcHVfZ2V0Y29udGV4dCh4Y19p bnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgdmNwdV9ndWVzdF9jb250ZXh0 X2FueV90ICpjdHh0KTsKIAogLyoqCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSB2 dWFydCBlbXVsYXRpb24gYW5kIHJldHVybnMKKyAqIHRoZSBldmVudCB0byBiZSB1c2VkIGJ5IHRo ZSBiYWNrZW5kIGZvciBjb21tdW5pY2F0aW5nIHdpdGgKKyAqIHRoZSBlbXVsYXRpb24gY29kZS4K KyAqCisgKiBAcGFybSB4Y2ggYSBoYW5kbGUgdG8gYW4gb3BlbiBoeXBlcnZpc29yIGludGVyZmFj ZQorICogI3Bhcm0gdHlwZSB0eXBlIG9mIHZ1YXJ0CisgKiBAcGFybSBkb21pZCB0aGUgZG9tYWlu IHRvIGdldCBpbmZvcm1hdGlvbiBmcm9tCisgKiBAcGFybSBjb25zb2xlX2RvbWlkIHRoZSBkb21p ZCBvZiB0aGUgYmFja2VuZCBjb25zb2xlCisgKiBAcGFybSBnZm4gdGhlIGd1ZXN0IHBmbiB0byBi ZSB1c2VkIGFzIHRoZSByaW5nIGJ1ZmZlcgorICogQHBhcm0gZXZ0Y2huIHRoZSBldmVudCBjaGFu bmVsIHRvIGJlIHVzZWQgZm9yIGV2ZW50cworICogQHJldHVybiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0 aXZlIGVycm9yIG9uIGZhaWx1cmUKKyAqLworaW50IHhjX2RvbV92dWFydF9pbml0KHhjX2ludGVy ZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHR5cGUsCisgICAgICAg ICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICBkb21p ZF90IGNvbnNvbGVfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IGdmbiwK KyAgICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpldnRjaG4pOworCisvKioKICAq IFRoaXMgZnVuY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgWFNBVkUgc3RhdGUg b2YgYSBwYXJ0aWN1bGFyCiAgKiB2Y3B1IG9mIGEgZG9tYWluLiBJZiBleHRzdGF0ZS0+c2l6ZSBh bmQgZXh0c3RhdGUtPnhmZWF0dXJlX21hc2sgYXJlIDAsCiAgKiB0aGUgY2FsbCBpcyBjb25zaWRl cmVkIGEgcXVlcnkgdG8gcmV0cmlldmUgdGhlbSBhbmQgdGhlIGJ1ZmZlciBpcyBub3QKZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMK aW5kZXggM2JhYjRlOC4uNDM3MjBhMiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tYWlu LmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTM0Myw2ICszNDMsMzMgQEAgaW50 IHhjX2RvbWFpbl9nZXRfZ3Vlc3Rfd2lkdGgoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRv bWlkLAogICAgIHJldHVybiAwOwogfQogCitpbnQgeGNfZG9tX3Z1YXJ0X2luaXQoeGNfaW50ZXJm YWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZSwKKyAgICAgICAg ICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgIGRvbWlk X3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAor ICAgICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0X3QgKmV2dGNobikKK3sKKyAgICBERUNM QVJFX0RPTUNUTDsKKyAgICBpbnQgcmMgPSAwOworCisgICAgbWVtc2V0KCZkb21jdGwsIDAsIHNp emVvZihkb21jdGwpKTsKKworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3Z1YXJ0X29wOwor ICAgIGRvbWN0bC5kb21haW4gPSBkb21pZDsKKyAgICBkb21jdGwudS52dWFydF9vcC5jbWQgPSBY RU5fRE9NQ1RMX1ZVQVJUX09QX0lOSVQ7CisgICAgZG9tY3RsLnUudnVhcnRfb3AudHlwZSA9IHR5 cGU7CisgICAgZG9tY3RsLnUudnVhcnRfb3AuY29uc29sZV9kb21pZCA9IGNvbnNvbGVfZG9taWQ7 CisgICAgZG9tY3RsLnUudnVhcnRfb3AuZ2ZuID0gZ2ZuOworCisgICAgaWYgKCAocmMgPSBkb19k b21jdGwoeGNoLCAmZG9tY3RsKSkgPCAwICkKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAgKmV2 dGNobiA9IGRvbWN0bC51LnZ1YXJ0X29wLmV2dGNobjsKKworICAgIHJldHVybiByYzsKK30KKwog aW50IHhjX2RvbWFpbl9nZXRpbmZvKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGZpcnN0X2RvbWlkLAogICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBtYXhfZG9tcywKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCBi L3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaAppbmRleCA1ZTFmYzYwLi43ODRlYzdmIDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJj aC5oCkBAIC00NCw2ICs0NCwxMyBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2ZpbmFsaXNlX2h3 X2Rlc2NyaXB0aW9uKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pOwogCisvKiBw ZXJmb3JtIGFueSBwZW5kaW5nIGhhcmR3YXJlIGluaXRpYWxpemF0aW9uICovCitfaGlkZGVuCitp bnQgbGlieGxfX2FyY2hfYnVpbGRfZG9tX2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0 YXRlICpzdGF0ZSk7CisKIC8qIGJ1aWxkIHZOVU1BIHZtZW1yYW5nZSB3aXRoIGFyY2ggc3BlY2lm aWMgaW5mb3JtYXRpb24gKi8KIF9oaWRkZW4KIGludCBsaWJ4bF9fYXJjaF92bnVtYV9idWlsZF92 bWVtcmFuZ2UobGlieGxfX2djICpnYywKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Fy bS5jIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKaW5kZXggZDg0MmQ4OC4uMmU5Zjc4MCAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxf YXJtLmMKQEAgLTEwMzgsNiArMTAzOCwzMyBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2ZpbmFs aXNlX2h3X2Rlc2NyaXB0aW9uKGxpYnhsX19nYyAqZ2MsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2lu dCBsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoKGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3Rh dGUgKnN0YXRlKQoreworICAgIGludCByYywgcmV0OworCisgICAgaWYgKGluZm8tPmFyY2hfYXJt LnZ1YXJ0ICE9IExJQlhMX1ZVQVJUX1RZUEVfU0JTQV9VQVJUKSB7CisgICAgICAgIHJjID0gMDsK KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgcmV0ID0geGNfZG9tX3Z1YXJ0X2luaXQo Q1RYLT54Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0RPTUNUTF9WVUFSVF9U WVBFX1ZQTDAxMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20tPmd1ZXN0X2RvbWlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Y29uc29sZV9kb21pZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkb20tPnZ1YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmc3RhdGUtPnZ1YXJ0X3BvcnQpOworICAgIGlmIChyZXQgPCAwKSB7CisgICAg ICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgTE9HKEVSUk9SLCAieGNfZG9tX3Z1YXJ0X2lu aXQgZmFpbGVkXG4iKTsKKyAgICB9CisKK291dDoKKyAgICByZXR1cm4gcmM7Cit9CisKIGludCBs aWJ4bF9fYXJjaF92bnVtYV9idWlsZF92bWVtcmFuZ2UobGlieGxfX2djICpnYywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZv LApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4 bF9kb20uYwppbmRleCBlMGYwZDc4Li41ZjkyMDIzIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtNzAyLDYgKzcwMiwx MCBAQCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kb20obGlieGxfX2djICpnYywgdWludDMyX3Qg ZG9taWQsCiAgICAgICAgIExPR0UoRVJST1IsICJ4Y19kb21fZ250dGFiX2luaXQgZmFpbGVkIik7 CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KKyAgICBpZiAoKHJldCA9IGxpYnhsX19hcmNoX2J1 aWxkX2RvbV9maW5pc2goZ2MsIGluZm8sIGRvbSwgc3RhdGUpKSAhPSAwKSB7CisgICAgICAgIExP R0UoRVJST1IsICJsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmluaXNoIGZhaWxlZCIpOworICAgICAg ICBnb3RvIG91dDsKKyAgICB9CiAKIG91dDoKICAgICByZXR1cm4gcmV0ICE9IDAgPyBFUlJPUl9G QUlMIDogMDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jIGIvdG9vbHMvbGli eGwvbGlieGxfeDg2LmMKaW5kZXggNDU1ZjZmMC4uMGFhZWRlZCAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGwvbGlieGxfeDg2LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKQEAgLTM5MSw2 ICszOTEsMTQgQEAgaW50IGxpYnhsX19hcmNoX2RvbWFpbl9maW5hbGlzZV9od19kZXNjcmlwdGlv bihsaWJ4bF9fZ2MgKmdjLAogICAgIHJldHVybiByYzsKIH0KIAoraW50IGxpYnhsX19hcmNoX2J1 aWxkX2RvbV9maW5pc2gobGlieGxfX2djICpnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUpCit7Cisg ICAgcmV0dXJuIDA7Cit9CisKIC8qIFJldHVybiAwIG9uIHN1Y2Nlc3MsIEVSUk9SXyogb24gZmFp bHVyZS4gKi8KIGludCBsaWJ4bF9fYXJjaF92bnVtYV9idWlsZF92bWVtcmFuZ2UobGlieGxfX2dj ICpnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9t aWQsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9t YWluLmMKaW5kZXggNjUxMmYwMS4uNzg4ZGFmYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2Rv bWFpbi5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwpAQCAtODc0LDYgKzg3NCwxMiBAQCBp bnQgZG9tYWluX3JlbGlucXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAg IGlmICggcmV0ICkKICAgICAgICAgICAgIHJldHVybiByZXQ7CiAKKyAgICAgICAgLyoKKyAgICAg ICAgICogUmVsZWFzZSB0aGUgcmVzb3VyY2VzIGFsbG9jYXRlZCBmb3IgdnBsMDExIHdoaWNoIHdl cmUKKyAgICAgICAgICogYWxsb2NhdGVkIHZpYSBhIERPTUNUTCBjYWxsIFhFTl9ET01DVExfdnVh cnRfb3AuCisgICAgICAgICAqLworICAgICAgICBkb21haW5fdnBsMDExX2RlaW5pdChkKTsKKwog ICAgICAgICBkLT5hcmNoLnJlbG1lbSA9IFJFTE1FTV94ZW47CiAgICAgICAgIC8qIEZhbGx0aHJv dWdoICovCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21jdGwuYyBiL3hlbi9hcmNoL2Fy bS9kb21jdGwuYwppbmRleCBkYjY4MzhkLi5hMmRlNjQyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vZG9tY3RsLmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWN0bC5jCkBAIC01LDkgKzUsMTEgQEAK ICAqLwogCiAjaW5jbHVkZSA8eGVuL2Vycm5vLmg+CisjaW5jbHVkZSA8eGVuL2d1ZXN0X2FjY2Vz cy5oPgogI2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4KICNpbmNsdWRlIDx4ZW4vaW9jYXAuaD4K ICNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVuL21tLmg+CiAjaW5jbHVkZSA8eGVu L3NjaGVkLmg+CiAjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgpA QCAtMjAsNiArMjIsMjkgQEAgdm9pZCBhcmNoX2dldF9kb21haW5faW5mbyhjb25zdCBzdHJ1Y3Qg ZG9tYWluICpkLAogICAgIGluZm8tPmZsYWdzIHw9IFhFTl9ET01JTkZfaGFwOwogfQogCitzdGF0 aWMgaW50IGhhbmRsZV92dWFydF9pbml0KHN0cnVjdCBkb21haW4gKmQsIAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92dWFydF9vcCAqdnVhcnRfb3ApCit7 CisgICAgaW50IHJjOworICAgIHN0cnVjdCB2cGwwMTFfaW5pdF9pbmZvIGluZm87CisKKyAgICBp bmZvLmNvbnNvbGVfZG9taWQgPSB2dWFydF9vcC0+Y29uc29sZV9kb21pZDsKKyAgICBpbmZvLmdm biA9IF9nZm4odnVhcnRfb3AtPmdmbik7CisKKyAgICBpZiAoIGQtPmNyZWF0aW9uX2ZpbmlzaGVk ICkKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKKworICAgIGlmICggdnVhcnRfb3AtPnR5cGUgIT0g WEVOX0RPTUNUTF9WVUFSVF9UWVBFX1ZQTDAxMSApCisgICAgICAgIHJldHVybiAtRU9QTk9UU1VQ UDsKKworICAgIHJjID0gZG9tYWluX3ZwbDAxMV9pbml0KGQsICZpbmZvKTsKKworICAgIGlmICgg IXJjICkKKyAgICAgICAgdnVhcnRfb3AtPmV2dGNobiA9IGluZm8uZXZ0Y2huOworCisgICAgcmV0 dXJuIHJjOworfQorCiBsb25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkb21j dGwsIHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E TEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKIHsKQEAgLTExOSw2ICsxNDQsMzMgQEAg bG9uZyBhcmNoX2RvX2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bCAqZG9tY3RsLCBzdHJ1Y3QgZG9t YWluICpkLAogICAgICAgICBkLT5kaXNhYmxlX21pZ3JhdGUgPSBkb21jdGwtPnUuZGlzYWJsZV9t aWdyYXRlLmRpc2FibGU7CiAgICAgICAgIHJldHVybiAwOwogCisgICAgY2FzZSBYRU5fRE9NQ1RM X3Z1YXJ0X29wOgorICAgIHsKKyAgICAgICAgaW50IHJjOworICAgICAgICB1bnNpZ25lZCBpbnQg aTsKKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgKnZ1YXJ0X29wID0gJmRvbWN0 bC0+dS52dWFydF9vcDsKKworICAgICAgICAvKiBjaGVjayB0aGF0IHN0cnVjdHVyZSBwYWRkaW5n IG11c3QgYmUgMC4gKi8KKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCBzaXplb2YodnVhcnRfb3At PnBhZCk7IGkrKyApCisgICAgICAgICAgICBpZiAoIHZ1YXJ0X29wLT5wYWRbaV0gKQorICAgICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAgIHN3aXRjaCggdnVhcnRfb3AtPmNt ZCApCisgICAgICAgIHsKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1ZVQVJUX09QX0lOSVQ6Cisg ICAgICAgICAgICByYyA9IGhhbmRsZV92dWFydF9pbml0KGQsIHZ1YXJ0X29wKTsKKyAgICAgICAg ICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByYyA9IC1FSU5WQUw7 CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICggIXJjICkKKyAg ICAgICAgICAgIHJjID0gX19jb3B5X3RvX2d1ZXN0KHVfZG9tY3RsLCBkb21jdGwsIDEpOworCisg ICAgICAgIHJldHVybiByYzsKKyAgICB9CiAgICAgZGVmYXVsdDoKICAgICB7CiAgICAgICAgIGlu dCByYzsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9pbmNs dWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCA1MGZmNThmLi4xN2Y5OGViIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0 bC5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiZ3JhbnRfdGFibGUuaCIKICNpbmNsdWRl ICJodm0vc2F2ZS5oIgogI2luY2x1ZGUgIm1lbW9yeS5oIgorI2luY2x1ZGUgImV2ZW50X2NoYW5u ZWwuaCIKIAogI2RlZmluZSBYRU5fRE9NQ1RMX0lOVEVSRkFDRV9WRVJTSU9OIDB4MDAwMDAwMGUK IApAQCAtMTE2MCw5ICsxMTYxLDI4IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3Agewog ICAgIHVpbnQzMl90IHRhcmdldDsgICAgLyogSU4gKi8KICAgICB1aW50NjRfdCBkYXRhOyAgICAg IC8qIElOL09VVCAqLwogfTsKKwogdHlwZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29w IHhlbl9kb21jdGxfcHNyX2NhdF9vcF90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX2Rv bWN0bF9wc3JfY2F0X29wX3QpOwogCitzdHJ1Y3QgeGVuX2RvbWN0bF92dWFydF9vcCB7CisjZGVm aW5lIFhFTl9ET01DVExfVlVBUlRfT1BfSU5JVCAgMAorICAgICAgICB1aW50MzJfdCBjbWQ7ICAg ICAgICAgICAvKiBYRU5fRE9NQ1RMX1ZVQVJUX09QXyogKi8KKyNkZWZpbmUgWEVOX0RPTUNUTF9W VUFSVF9UWVBFX1ZQTDAxMSAwCisgICAgICAgIHVpbnQzMl90IHR5cGU7ICAgICAgICAgIC8qIElO IC0gdHlwZSBvZiB2dWFydC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAg ICBDdXJyZW50bHkgb25seSB2cGwwMTEgc3VwcG9ydGVkLgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8KKyAgICAgICAgdWludDY0X2FsaWduZWRfdCAgZ2ZuOyAgLyogSU4gLSBn dWVzdCBnZm4gdG8gYmUgdXNlZCBhcyBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqICAgICAgcmluZyBidWZmZXIuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq LworICAgICAgICBkb21pZF90IGNvbnNvbGVfZG9taWQ7ICAvKiBJTiAqLworICAgICAgICB1aW50 OF90IHBhZFsyXTsKKyAgICAgICAgZXZ0Y2huX3BvcnRfdCBldnRjaG47ICAgLyogT1VUIC0gcmVt b3RlIHBvcnQgb2YgdGhlIGV2ZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq ICAgICAgIGNoYW5uZWwgdXNlZCBmb3Igc2VuZGluZworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKiAgICAgICByaW5nIGJ1ZmZlciBldmVudHMuCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqLworfTsKKwogc3RydWN0IHhlbl9kb21jdGwgewogICAgIHVpbnQzMl90 IGNtZDsKICNkZWZpbmUgWEVOX0RPTUNUTF9jcmVhdGVkb21haW4gICAgICAgICAgICAgICAgICAg MQpAQCAtMTI0MCw2ICsxMjYwLDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogI2RlZmluZSBYRU5f RE9NQ1RMX21vbml0b3Jfb3AgICAgICAgICAgICAgICAgICAgIDc3CiAjZGVmaW5lIFhFTl9ET01D VExfcHNyX2NhdF9vcCAgICAgICAgICAgICAgICAgICAgNzgKICNkZWZpbmUgWEVOX0RPTUNUTF9z b2Z0X3Jlc2V0ICAgICAgICAgICAgICAgICAgICA3OQorI2RlZmluZSBYRU5fRE9NQ1RMX3Z1YXJ0 X29wICAgICAgICAgICAgICAgICAgICAgIDgwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfZ3Vl c3RtZW1pbyAgICAgICAgICAgIDEwMDAKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF9wYXVzZXZj cHUgICAgICAgICAgICAgMTAwMQogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3VucGF1c2V2Y3B1 ICAgICAgICAgICAxMDAyCkBAIC0xMzAyLDYgKzEzMjMsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7 CiAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jbXRfb3AgICAgICAgIHBzcl9jbXRfb3A7 CiAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX21vbml0b3Jfb3AgICAgICAgIG1vbml0b3Jfb3A7 CiAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgICAgICAgIHBzcl9jYXRfb3A7 CisgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Z1YXJ0X29wICAgICAgICAgIHZ1YXJ0X29wOwog ICAgICAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsKICAg ICB9IHU7CiB9OwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK