From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 06/14 v4] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Tue, 6 Jun 2017 22:55:21 +0530 Message-ID: <1496769929-23355-7-git-send-email-bhupinder.thakur@linaro.org> References: <1496769929-23355-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIIEt-0001cu-W3 for xen-devel@lists.xenproject.org; Tue, 06 Jun 2017 17:25:56 +0000 Received: by mail-pf0-f171.google.com with SMTP id 9so100034631pfj.1 for ; Tue, 06 Jun 2017 10:25:54 -0700 (PDT) In-Reply-To: <1496769929-23355-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: Wei Liu , Julien Grall , Stefano Stabellini , Ian Jackson List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IGRvbWN0bCBBUEkgdG8gaW5pdGlhbGl6ZSB2cGwwMTEuIEl0IHRha2VzIHRoZSBH Rk4gYW5kIGNvbnNvbGUKYmFja2VuZCBkb21pZCBhcyBpbnB1dCBhbmQgcmV0dXJucyBhbiBldmVu dCBjaGFubmVsIHRvIGJlIHVzZWQgZm9yCnNlbmRpbmcgYW5kIHJlY2VpdmluZyBldmVudHMgZnJv bSBYZW4uCgpYZW4gd2lsbCBjb21tdW5pY2F0ZSB3aXRoIHhlbmNvbnNvbGUgdXNpbmcgR0ZOIGFz IHRoZSByaW5nIGJ1ZmZlciBhbmQKdGhlIGV2ZW50IGNoYW5uZWwgdG8gdHJhbnNtaXQgYW5kIHJl Y2VpdmUgcGwwMTEgZGF0YSBvbiB0aGUgZ3Vlc3QgZG9tYWluJ3MKYmVoYWxmLgoKU2lnbmVkLW9m Zi1ieTogQmh1cGluZGVyIFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgotLS0K Q0M6IGlqCkNDOiB3bApDQzogc3MKQ0M6IGpnCgpDaGFuZ2VzIHNpbmNlIHYzOgotIEFkZGVkIGEg bmV3IGFyY2ggc3BlY2lmaWMgZnVuY3Rpb24gbGlieGxfX2FyY2hfZG9tYWluX2NyZWF0ZV9maW5p c2goKSwgd2hpY2gKICBjYWxscyB0aGUgdnBsMDExIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiBG b3IgeDg2IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgZG8KICBhbnl0aGluZy4KLSBkb21haW5fdnBs MDExX2luaXQoKSB0YWtlcyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3R1cmUgd2hpY2ggY29udGFpbnMg YWxsIHRoZSAKICByZXF1aXJlZCBpbmZvcm1hdGlvbiBzdWNoIGFzIGNvbnNvbGVfZG9taWQsIGdm biBpbnN0ZWFkIG9mIHBhc3NpbmcgcGFyYW1ldGVycwogIHNlcGFyYXRlbHkuCi0gRHJvcHBlZCBh IERPTUNUTCBBUEkgZGVmaW5lZCBmb3IgZGUtaW5pdGlhbGl6aW5nIHZwbDAxMSBhcyB0aGF0IHNo b3VsZCBiZQogIHRha2VuIGNhcmUgd2hlbiB0aGUgZG9tYWluIGlzIGRlc3Ryb3llZCAoYW5kIG5v dCBkZXBlbmRlbnQgb24gdXNlcnNwYWNlIAogIGxpYnJhcmllcy9hcHBsaWNhdGlvbnMpLgoKQ2hh bmdlcyBzaW5jZSB2MjoKLSBSZXBsYWNlZCB0aGUgRE9NQ1RMIEFQSXMgZGVmaW5lZCBmb3IgZ2V0 L3NldCBvZiBldmVudCBjaGFubmVsIGFuZCBHRk4gd2l0aCAKICBhIHNldCBvZiBET01DVEwgQVBJ cyBmb3IgaW5pdGlhbGl6aW5nIGFuZCBkZS1pbml0aWFsaXppbmcgdnBsMDExIGVtdWxhdGlvbi4K CiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCB8IDE3ICsrKysrKysrKysrKysrKysrCiB0 b29scy9saWJ4Yy94Y19kb21haW4uYyAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysrKysK IHRvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCAgICAgIHwgIDcgKysrKysrKwogdG9vbHMvbGlieGwv bGlieGxfYXJtLmMgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4bC9s aWJ4bF9kb20uYyAgICAgICB8ICA2ICsrKysrLQogdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgICAg ICAgfCAgOCArKysrKysrKwogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICAgfCAgMiArKwog eGVuL2FyY2gvYXJtL2RvbWN0bC5jICAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICB8IDEy ICsrKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDE2MjlmNDEuLjc3NDI1ZGQgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2lu Y2x1ZGUveGVuY3RybC5oCkBAIC04ODQsNiArODg0LDIzIEBAIGludCB4Y192Y3B1X2dldGNvbnRl eHQoeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRv bWlkLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2Y3B1LAogICAgICAgICAgICAg ICAgICAgICAgICB2Y3B1X2d1ZXN0X2NvbnRleHRfYW55X3QgKmN0eHQpOworLyoqCisgKiBUaGlz IGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSB2cGwwMTEgZW11bGF0aW9uIGFuZCByZXR1cm5zCisg KiB0aGUgZXZlbnQgdG8gYmUgdXNlZCBieSB0aGUgYmFja2VuZCBmb3IgY29tbXVuaWNhdGluZyB3 aXRoCisgKiB0aGUgZW11bGF0aW9uIGNvZGUuCisgKgorICogQHBhcm0geGNoIGEgaGFuZGxlIHRv IGFuIG9wZW4gaHlwZXJ2aXNvciBpbnRlcmZhY2UKKyAqIEBwYXJtIGRvbWlkIHRoZSBkb21haW4g dG8gZ2V0IGluZm9ybWF0aW9uIGZyb20KKyAqIEBwYXJtIGNvbnNvbGVfZG9taWQgdGhlIGRvbWlk IG9mIHRoZSBiYWNrZW5kIGNvbnNvbGUKKyAqIEBwYXJtIGdmbiB0aGUgZ3Vlc3QgcGZuIHRvIGJl IHVzZWQgYXMgdGhlIHJpbmcgYnVmZmVyCisgKiBAcGFybSBldnRjaG4gdGhlIGV2ZW50IGNoYW5u ZWwgdG8gYmUgdXNlZCBmb3IgZXZlbnRzCisgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgbmVnYXRp dmUgZXJyb3Igb24gZmFpbHVyZQorICovCitpbnQgeGNfZG9tX3ZwbDAxMV9pbml0KHhjX2ludGVy ZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgeGVuX3Bmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3Bv cnRfdCAqZXZ0Y2huKTsKIAogLyoqCiAgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgaW5mb3JtYXRp b24gYWJvdXQgdGhlIFhTQVZFIHN0YXRlIG9mIGEgcGFydGljdWxhcgpkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGMveGNfZG9tYWluLmMgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwppbmRleCAwMDkw OWFkNC4uYThlZmQ1ZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKKysrIGIv dG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTM0Myw2ICszNDMsMjkgQEAgaW50IHhjX2RvbWFp bl9nZXRfZ3Vlc3Rfd2lkdGgoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAogICAg IHJldHVybiAwOwogfQogCitpbnQgeGNfZG9tX3ZwbDAxMV9pbml0KHhjX2ludGVyZmFjZSAqeGNo LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgY29uc29sZV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAg eGVuX3Bmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAqZXZ0 Y2huKQoreworICAgIERFQ0xBUkVfRE9NQ1RMOworICAgIGludCByYyA9IDA7CisKKyAgICBkb21j dGwuY21kID0gWEVOX0RPTUNUTF92dWFydF9vcDsKKyAgICBkb21jdGwuZG9tYWluID0gKGRvbWlk X3QpZG9taWQ7CisgICAgZG9tY3RsLnUudnVhcnRfb3AuY21kID0gWEVOX0RPTUNUTF9WVUFSVF9P UF9JTklUX1ZQTDAxMTsKKyAgICBkb21jdGwudS52dWFydF9vcC5jb25zb2xlX2RvbWlkID0gY29u c29sZV9kb21pZDsKKyAgICBkb21jdGwudS52dWFydF9vcC5nZm4gPSBnZm47CisKKyAgICBpZiAo IChyYyA9IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpKSA8IDAgKQorICAgICAgICByZXR1cm4gcmM7 CisKKyAgICAqZXZ0Y2huID0gZG9tY3RsLnUudnVhcnRfb3AuZXZ0Y2huOworCisgICAgcmV0dXJu IHJjOworfQorCiBpbnQgeGNfZG9tYWluX2dldGluZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmlyc3RfZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IG1heF9kb21zLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfYXJjaC5oIGIvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCmluZGV4IDVlMWZjNjAuLmQxY2E5 YzYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaAorKysgYi90b29scy9saWJ4 bC9saWJ4bF9hcmNoLmgKQEAgLTMyLDYgKzMyLDEzIEBAIF9oaWRkZW4KIGludCBsaWJ4bF9fYXJj aF9kb21haW5fY3JlYXRlKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29u ZmlnLAogICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQpOwogCisvKiBhcmNoIHNwZWNpZmlj IGludGVybmFsIGRvbWFpbiBjcmVhdGlvbiBmaW5pc2ggZnVuY3Rpb24gKi8KK19oaWRkZW4KK2lu dCBsaWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlX2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICpp bmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVp bGRfc3RhdGUgKnN0YXRlKTsKKwogLyogc2V0dXAgYXJjaCBzcGVjaWZpYyBoYXJkd2FyZSBkZXNj cmlwdGlvbiwgaS5lLiBEVEIgb24gQVJNICovCiBfaGlkZGVuCiBpbnQgbGlieGxfX2FyY2hfZG9t YWluX2luaXRfaHdfZGVzY3JpcHRpb24obGlieGxfX2djICpnYywKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2FybS5jIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKaW5kZXggZDg0MmQ4 OC4uYjYwZGZhOSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGxfYXJtLmMKQEAgLTEwNiw2ICsxMDYsMjUgQEAgaW50IGxpYnhsX19hcmNo X2RvbWFpbl9jcmVhdGUobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25m aWcsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCBsaWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlX2Zp bmlzaChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlKQoreworICAgIGludCBy ZXQgPSAwOworCisgICAgaWYgKCBpbmZvLT5hcmNoX2FybS52dWFydCAmJgorICAgICAgICAgKHJl dCA9IHhjX2RvbV92cGwwMTFfaW5pdChDVFgtPnhjaCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 YXRlLT5jb25zb2xlX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4 Y19nZXRfdnVhcnRfZ2ZuKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZz dGF0ZS0+dnVhcnRfcG9ydCkpICE9IDAgKSB7CisgICAgICAgIExPRyhFUlJPUiwgInhjX2RvbV92 cGwwMTFfaW5pdCBmYWlsZWRcbiIpOworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKIGlu dCBsaWJ4bF9fYXJjaF9leHRyYV9tZW1vcnkobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpvdXQpCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCmluZGV4IDVkOTE0 YTUuLjE4N2M1YmQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBAIC01ODcsNyArNTg3LDEwIEBAIHJldHJ5X3RyYW5zYWN0 aW9uOgogICAgICAgICAgICAgZ290byByZXRyeV90cmFuc2FjdGlvbjsKICAgICB4c19pbnRyb2R1 Y2VfZG9tYWluKGN0eC0+eHNoLCBkb21pZCwgc3RhdGUtPnN0b3JlX21mbiwgc3RhdGUtPnN0b3Jl X3BvcnQpOwogICAgIGZyZWUodm1fcGF0aCk7Ci0gICAgcmV0dXJuIDA7CisKKyAgICByYyA9IGxp YnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfZmluaXNoKGdjLCBpbmZvLCBkb21pZCwgc3RhdGUpOwor CisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50IHNldF92bnVtYV9pbmZvKGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90IGRvbWlkLApAQCAtNzg4LDYgKzc5MSw3IEBAIGludCBsaWJ4bF9fYnVp bGRfcHYobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgaWYgKHhjX2RvbV90cmFu c2xhdGVkKGRvbSkpIHsKICAgICAgICAgc3RhdGUtPmNvbnNvbGVfbWZuID0gZG9tLT5jb25zb2xl X3BmbjsKICAgICAgICAgc3RhdGUtPnN0b3JlX21mbiA9IGRvbS0+eGVuc3RvcmVfcGZuOworICAg ICAgICBzdGF0ZS0+dnVhcnRfZ2ZuID0gZG9tLT52dWFydF9nZm47CiAgICAgfSBlbHNlIHsKICAg ICAgICAgc3RhdGUtPmNvbnNvbGVfbWZuID0geGNfZG9tX3AybShkb20sIGRvbS0+Y29uc29sZV9w Zm4pOwogICAgICAgICBzdGF0ZS0+c3RvcmVfbWZuID0geGNfZG9tX3AybShkb20sIGRvbS0+eGVu c3RvcmVfcGZuKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jIGIvdG9vbHMv bGlieGwvbGlieGxfeDg2LmMKaW5kZXggNDU1ZjZmMC4uMzU0NDAyOCAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfeDg2LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKQEAgLTM1 OCw2ICszNTgsMTQgQEAgb3V0OgogICAgIHJldHVybiByZXQ7CiB9CiAKK2ludCBsaWJ4bF9fYXJj aF9kb21haW5fY3JlYXRlX2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0 YXRlKQoreworICAgIHJldHVybiAwOworfQorCiBpbnQgbGlieGxfX2FyY2hfZXh0cmFfbWVtb3J5 KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhs X2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50NjRfdCAqb3V0KQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIveGVuL2Fy Y2gvYXJtL2RvbWFpbi5jCmluZGV4IDc2MzEwZWQuLjllMTUwYmEgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL2FybS9kb21haW4uYworKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKQEAgLTY2NSw2ICs2 NjUsOCBAQCBmYWlsOgogCiB2b2lkIGFyY2hfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAq ZCkKIHsKKyAgICBkb21haW5fdnBsMDExX2RlaW5pdChkKTsKKwogICAgIC8qIElPTU1VIHBhZ2Ug dGFibGUgaXMgc2hhcmVkIHdpdGggUDJNLCBhbHdheXMgY2FsbAogICAgICAqIGlvbW11X2RvbWFp bl9kZXN0cm95KCkgYmVmb3JlIHAybV90ZWFyZG93bigpLgogICAgICAqLwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gvYXJtL2RvbWN0bC5jIGIveGVuL2FyY2gvYXJtL2RvbWN0bC5jCmluZGV4IDk3MWNh ZWMuLjc0MTY3OWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysgYi94ZW4v YXJjaC9hcm0vZG9tY3RsLmMKQEAgLTUsMTMgKzUsMTUgQEAKICAqLwogCiAjaW5jbHVkZSA8eGVu L3R5cGVzLmg+Ci0jaW5jbHVkZSA8eGVuL2xpYi5oPgorI2luY2x1ZGUgPHB1YmxpYy9kb21jdGwu aD4KICNpbmNsdWRlIDx4ZW4vZXJybm8uaD4KLSNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KKyNpbmNs dWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGVyY2FsbC5oPgogI2lu Y2x1ZGUgPHhlbi9pb2NhcC5oPgorI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRlIDx4ZW4v bW0uaD4KKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNpbmNsdWRlIDx4c20veHNtLmg+Ci0jaW5j bHVkZSA8cHVibGljL2RvbWN0bC5oPgogCiB2b2lkIGFyY2hfZ2V0X2RvbWFpbl9pbmZvKGNvbnN0 IHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5f ZG9tY3RsX2dldGRvbWFpbmluZm8gKmluZm8pCkBAIC0xMTksNiArMTIxLDQyIEBAIGxvbmcgYXJj aF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKmRvbWN0bCwgc3RydWN0IGRvbWFpbiAqZCwK ICAgICAgICAgZC0+ZGlzYWJsZV9taWdyYXRlID0gZG9tY3RsLT51LmRpc2FibGVfbWlncmF0ZS5k aXNhYmxlOwogICAgICAgICByZXR1cm4gMDsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF92dWFydF9v cDoKKyAgICB7CisgICAgICAgIGludCByYzsKKyAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVh cnRfb3AgKnZ1YXJ0X29wID0gJmRvbWN0bC0+dS52dWFydF9vcDsKKworICAgICAgICBzd2l0Y2go dnVhcnRfb3AtPmNtZCkKKyAgICAgICAgeworICAgICAgICBjYXNlIFhFTl9ET01DVExfVlVBUlRf T1BfSU5JVF9WUEwwMTE6CisKKyAgICAgICAgICAgIGlmICggIWQtPmNyZWF0aW9uX2ZpbmlzaGVk ICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdHJ1Y3QgdnBsMDExX2luaXRfaW5m byBpbmZvOworCisgICAgICAgICAgICAgICAgaW5mby5jb25zb2xlX2RvbWlkID0gdnVhcnRfb3At PmNvbnNvbGVfZG9taWQ7CisgICAgICAgICAgICAgICAgaW5mby5nZm4gPSBfZ2ZuKHZ1YXJ0X29w LT5nZm4pOworCisgICAgICAgICAgICAgICAgcmMgPSBkb21haW5fdnBsMDExX2luaXQoZCwgJmlu Zm8pOworICAgICAgICAgICAgICAgIGlmICggIXJjICkKKyAgICAgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgICAgIHZ1YXJ0X29wLT5ldnRjaG4gPSBpbmZvLmV2dGNobjsKKyAgICAgICAg ICAgICAgICAgICAgcmMgPSBfX2NvcHlfdG9fZ3Vlc3QodV9kb21jdGwsIGRvbWN0bCwgMSk7Cisg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgIHJjID0gLSBFUEVSTTsKKyAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByYyA9IC1F SU5WQUw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBy YzsKKyAgICB9CiAgICAgZGVmYXVsdDoKICAgICB7CiAgICAgICAgIGludCByYzsKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21j dGwuaAppbmRleCBlNmNmMjExLi5jNmZmNDU4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJs aWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCkBAIC0zNiw2ICsz Niw3IEBACiAjaW5jbHVkZSAiZ3JhbnRfdGFibGUuaCIKICNpbmNsdWRlICJodm0vc2F2ZS5oIgog I2luY2x1ZGUgIm1lbW9yeS5oIgorI2luY2x1ZGUgImV2ZW50X2NoYW5uZWwuaCIKIAogI2RlZmlu ZSBYRU5fRE9NQ1RMX0lOVEVSRkFDRV9WRVJTSU9OIDB4MDAwMDAwMGQKIApAQCAtMTEzOCw2ICsx MTM5LDE1IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgewogICAgIHVpbnQzMl90IHRh cmdldDsgICAgLyogSU4gKi8KICAgICB1aW50NjRfdCBkYXRhOyAgICAgIC8qIElOL09VVCAqLwog fTsKKworc3RydWN0IHhlbl9kb21jdGxfdnVhcnRfb3AgeworI2RlZmluZSBYRU5fRE9NQ1RMX1ZV QVJUX09QX0lOSVRfVlBMMDExICAwCisgICAgICAgIHVpbnQzMl90IGNtZDsgICAgICAgICAgIC8q IFhFTl9ET01DVExfVlVBUlRfT1BfKiAqLworICAgICAgICB1aW50MzJfdCBjb25zb2xlX2RvbWlk OyAvKiBJTiAqLworICAgICAgICB4ZW5fcGZuX3QgZ2ZuOyAgICAgICAgICAvKiBJTiAqLworICAg ICAgICBldnRjaG5fcG9ydF90IGV2dGNobjsgICAvKiBPVVQgKi8KK307CisKIHR5cGVkZWYgc3Ry dWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3BfdDsKIERFRklO RV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfcHNyX2NhdF9vcF90KTsKIApAQCAtMTIxOCw2 ICsxMjI4LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogI2RlZmluZSBYRU5fRE9NQ1RMX21vbml0 b3Jfb3AgICAgICAgICAgICAgICAgICAgIDc3CiAjZGVmaW5lIFhFTl9ET01DVExfcHNyX2NhdF9v cCAgICAgICAgICAgICAgICAgICAgNzgKICNkZWZpbmUgWEVOX0RPTUNUTF9zb2Z0X3Jlc2V0ICAg ICAgICAgICAgICAgICAgICA3OQorI2RlZmluZSBYRU5fRE9NQ1RMX3Z1YXJ0X29wICAgICAgICAg ICAgICAgICAgICAgIDgwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfZ3Vlc3RtZW1pbyAgICAg ICAgICAgIDEwMDAKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF9wYXVzZXZjcHUgICAgICAgICAg ICAgMTAwMQogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3VucGF1c2V2Y3B1ICAgICAgICAgICAx MDAyCkBAIC0xMjgwLDYgKzEyOTEsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jbXRfb3AgICAgICAgIHBzcl9jbXRfb3A7CiAgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX21vbml0b3Jfb3AgICAgICAgIG1vbml0b3Jfb3A7CiAgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3AgICAgICAgIHBzcl9jYXRfb3A7CisgICAgICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX3Z1YXJ0X29wICAgICAgICAgIHZ1YXJ0X29wOwogICAgICAgICB1aW50 OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsKICAgICB9IHU7CiB9Owot LSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK