From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: Re: [PATCH 06/27 v8] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Date: Thu, 14 Sep 2017 12:16:50 +0530 Message-ID: References: <1503910570-24427-1-git-send-email-bhupinder.thakur@linaro.org> <1503910570-24427-7-git-send-email-bhupinder.thakur@linaro.org> <59A3F9E9020000780017468E@prv-mh.provo.novell.com> 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 1dsNvK-0000on-Fi for xen-devel@lists.xenproject.org; Thu, 14 Sep 2017 06:46:54 +0000 Received: by mail-it0-f49.google.com with SMTP id c195so3203980itb.1 for ; Wed, 13 Sep 2017 23:46:52 -0700 (PDT) In-Reply-To: <59A3F9E9020000780017468E@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org SGkgSmFuLAoKT24gMjggQXVndXN0IDIwMTcgYXQgMTQ6MzksIEphbiBCZXVsaWNoIDxKQmV1bGlj aEBzdXNlLmNvbT4gd3JvdGU6Cj4+Pj4gT24gMjguMDguMTcgYXQgMTA6NTUsIDxiaHVwaW5kZXIu dGhha3VyQGxpbmFyby5vcmc+IHdyb3RlOgo+PiBBZGQgYSBuZXcgZG9tY3RsIEFQSSB0byBpbml0 aWFsaXplIHZwbDAxMS4gSXQgdGFrZXMgdGhlIEdGTiBhbmQgY29uc29sZQo+PiBiYWNrZW5kIGRv bWlkIGFzIGlucHV0IGFuZCByZXR1cm5zIGFuIGV2ZW50IGNoYW5uZWwgdG8gYmUgdXNlZCBmb3IK Pj4gc2VuZGluZyBhbmQgcmVjZWl2aW5nIGV2ZW50cyBmcm9tIFhlbi4KPj4KPj4gWGVuIHdpbGwg Y29tbXVuaWNhdGUgd2l0aCB4ZW5jb25zb2xlIHVzaW5nIEdGTiBhcyB0aGUgcmluZyBidWZmZXIg YW5kCj4+IHRoZSBldmVudCBjaGFubmVsIHRvIHRyYW5zbWl0IGFuZCByZWNlaXZlIHBsMDExIGRh dGEgb24gdGhlIGd1ZXN0IGRvbWFpbidzCj4+IGJlaGFsZi4KPj4KPj4gU2lnbmVkLW9mZi1ieTog Qmh1cGluZGVyIFRoYWt1ciA8Ymh1cGluZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgo+PiAtLS0KPj4g Q0M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgo+PiBDQzogV2VpIExp dSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KPj4gQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w ZXIzQGNpdHJpeC5jb20+Cj4+IENDOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNp dHJpeC5jb20+Cj4+IENDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Cj4+IENDOiBL b25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Cj4+IENDOiBTdGVm YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Cj4+IENDOiBUaW0gRGVlZ2Fu IDx0aW1AeGVuLm9yZz4KPj4gQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ Cj4+Cj4+IENoYW5nZXMgc2luY2UgdjY6Cj4+IC0gUmVuYW1lZCB0aGUgdnVhcnQgaW5pdGlhbGl6 YXRpb24gZnVuY3Rpb24gdG8gYSBnZW5lcmljIG5hbWUKPj4geGNfZG9tX3Z1YXJ0X2luaXQKPj4g LSBVc2VkIGRvbWlkX3QgYXMgYSB0eXBlIGluc3RlYWQgb2YgdWludDMyX3QgZm9yIGRvbWlkCj4+ IC0gQ2hlY2tpbmcgdGhlIHZ1YXJ0IHR5cGUgZXhwbGljaXRseSBhZ2FpbnN0IHZwbDAxMSBlbnVt IHZhbHVlCj4+Cj4+IENoYW5nZXMgc2luY2UgdjU6Cj4+IC0geGNfZG9tX3ZwbDAxMV9pbml0KCkg d2lsbCBiZSBjb21waWxlZCBmb3IgYm90aCB4ODYvYXJtIGFyY2hpdGVjdHVyZXMgYXMKPj4gdGhl cmUKPj4gICBpcyBub3RoaW5nIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbiB0aGlzIGZ1bmN0aW9u LiBUaGlzIGZ1bmN0aW9uIHdpbGwKPj4gcmV0dXJuCj4+ICAgZXJyb3Igd2hlbiBjYWxsZWQgZm9y IHg4Ni4KPj4gLSBGaXhlZCBjb2Rpbmcgc3R5bGUgaXNzdWVzIGluIGxpYnhsLgo+Pgo+PiBDaGFu Z2VzIHNpbmNlIHY0Ogo+PiAtIFJlbW92ZWQgbGlieGxfX2FyY2hfZG9tYWluX2NyZWF0ZV9maW5p c2goKS4KPj4gLSBBZGRlZCBhIG5ldyBmdW5jdGlvbiBsaWJ4bF9fYXJjaF9idWlsZF9kb21fZmlu aXNoKCksIHdoaWNoIGlzIGNhbGxlZCBhdCB0aGUKPj4gbGFzdAo+PiAgIGluIGxpYnhsX19idWls ZF9kb20oKS4gVGhpcyBmdW5jdGlvbiBjYWxscyB0aGUgdnBsMDExIGluaXRpYWxpemF0aW9uCj4+ IGZ1bmN0aW9uIG5vdy4KPj4KPj4gQ2hhbmdlcyBzaW5jZSB2MzoKPj4gLSBBZGRlZCBhIG5ldyBh cmNoIHNwZWNpZmljIGZ1bmN0aW9uIGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfZmluaXNoKCks Cj4+IHdoaWNoCj4+ICAgY2FsbHMgdGhlIHZwbDAxMSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4g Rm9yIHg4NiB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90Cj4+IGRvCj4+ICAgYW55dGhpbmcuCj4+IC0g ZG9tYWluX3ZwbDAxMV9pbml0KCkgdGFrZXMgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIHdoaWNo IGNvbnRhaW5zIGFsbCB0aGUKPj4gICByZXF1aXJlZCBpbmZvcm1hdGlvbiBzdWNoIGFzIGNvbnNv bGVfZG9taWQsIGdmbiBpbnN0ZWFkIG9mIHBhc3NpbmcKPj4gcGFyYW1ldGVycwo+PiAgIHNlcGFy YXRlbHkuCj4+IC0gRHJvcHBlZCBhIERPTUNUTCBBUEkgZGVmaW5lZCBmb3IgZGUtaW5pdGlhbGl6 aW5nIHZwbDAxMSBhcyB0aGF0IHNob3VsZCBiZQo+PiAgIHRha2VuIGNhcmUgd2hlbiB0aGUgZG9t YWluIGlzIGRlc3Ryb3llZCAoYW5kIG5vdCBkZXBlbmRlbnQgb24gdXNlcnNwYWNlCj4+ICAgbGli cmFyaWVzL2FwcGxpY2F0aW9ucykuCj4+Cj4+IENoYW5nZXMgc2luY2UgdjI6Cj4+IC0gUmVwbGFj ZWQgdGhlIERPTUNUTCBBUElzIGRlZmluZWQgZm9yIGdldC9zZXQgb2YgZXZlbnQgY2hhbm5lbCBh bmQgR0ZOIHdpdGgKPj4gICBhIHNldCBvZiBET01DVEwgQVBJcyBmb3IgaW5pdGlhbGl6aW5nIGFu ZCBkZS1pbml0aWFsaXppbmcgdnBsMDExIGVtdWxhdGlvbi4KPj4KPj4gIHRvb2xzL2xpYnhjL2lu Y2x1ZGUveGVuY3RybC5oIHwgMjAgKysrKysrKysrKysrKysrKysrKwo+PiAgdG9vbHMvbGlieGMv eGNfZG9tYWluLmMgICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKwo+PiAgdG9vbHMv bGlieGwvbGlieGxfYXJjaC5oICAgICAgfCAgNyArKysrKysrCj4+ICB0b29scy9saWJ4bC9saWJ4 bF9hcm0uYyAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKysrKwo+PiAgdG9vbHMvbGlieGwv bGlieGxfZG9tLmMgICAgICAgfCAgNCArKysrCj4+ICB0b29scy9saWJ4bC9saWJ4bF94ODYuYyAg ICAgICB8ICA4ICsrKysrKysrCj4+ICB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICAgICB8ICA2 ICsrKysrKwo+PiAgeGVuL2FyY2gvYXJtL2RvbWN0bC5jICAgICAgICAgfCA0Ngo+PiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICB4ZW4vaW5jbHVkZS9wdWJs aWMvZG9tY3RsLmggICB8IDIxICsrKysrKysrKysrKysrKysrKysrCj4+ICA5IGZpbGVzIGNoYW5n ZWQsIDE1OSBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCj4+IGluZGV4IGM3 NzEwYjguLjM1YmJiM2IgMTAwNjQ0Cj4+IC0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3Ry bC5oCj4+ICsrKyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCj4+IEBAIC04ODYsNiAr ODg2LDI2IEBAIGludCB4Y192Y3B1X2dldGNvbnRleHQoeGNfaW50ZXJmYWNlICp4Y2gsCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgIHZjcHVfZ3Vlc3RfY29udGV4dF9hbnlfdCAqY3R4dCk7Cj4+ Cj4+ICAvKioKPj4gKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIHZ1YXJ0IGVtdWxh dGlvbiBhbmQgcmV0dXJucwo+PiArICogdGhlIGV2ZW50IHRvIGJlIHVzZWQgYnkgdGhlIGJhY2tl bmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aAo+PiArICogdGhlIGVtdWxhdGlvbiBjb2RlLgo+PiAr ICoKPj4gKyAqIEBwYXJtIHhjaCBhIGhhbmRsZSB0byBhbiBvcGVuIGh5cGVydmlzb3IgaW50ZXJm YWNlCj4+ICsgKiAjcGFybSB0eXBlIHR5cGUgb2YgdnVhcnQKPj4gKyAqIEBwYXJtIGRvbWlkIHRo ZSBkb21haW4gdG8gZ2V0IGluZm9ybWF0aW9uIGZyb20KPj4gKyAqIEBwYXJtIGNvbnNvbGVfZG9t aWQgdGhlIGRvbWlkIG9mIHRoZSBiYWNrZW5kIGNvbnNvbGUKPj4gKyAqIEBwYXJtIGdmbiB0aGUg Z3Vlc3QgcGZuIHRvIGJlIHVzZWQgYXMgdGhlIHJpbmcgYnVmZmVyCj4+ICsgKiBAcGFybSBldnRj aG4gdGhlIGV2ZW50IGNoYW5uZWwgdG8gYmUgdXNlZCBmb3IgZXZlbnRzCj4+ICsgKiBAcmV0dXJu IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3Igb24gZmFpbHVyZQo+PiArICovCj4+ICtpbnQg eGNfZG9tX3Z1YXJ0X2luaXQoeGNfaW50ZXJmYWNlICp4Y2gsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgdHlwZSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGRv bWlkLAo+PiArICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY29uc29sZV9kb21pZCwKPj4g KyAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAo+PiArICAgICAgICAgICAgICAg ICAgICAgIGV2dGNobl9wb3J0X3QgKmV2dGNobik7Cj4+ICsKPj4gKy8qKgo+PiAgICogVGhpcyBm dW5jdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBYU0FWRSBzdGF0ZSBvZiBhIHBh cnRpY3VsYXIKPj4gICAqIHZjcHUgb2YgYSBkb21haW4uIElmIGV4dHN0YXRlLT5zaXplIGFuZCBl eHRzdGF0ZS0+eGZlYXR1cmVfbWFzayBhcmUgMCwKPj4gICAqIHRoZSBjYWxsIGlzIGNvbnNpZGVy ZWQgYSBxdWVyeSB0byByZXRyaWV2ZSB0aGVtIGFuZCB0aGUgYnVmZmVyIGlzIG5vdAo+PiBkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZG9tYWluLmMgYi90b29scy9saWJ4Yy94Y19kb21haW4u Ywo+PiBpbmRleCAzYmFiNGU4Li5kMmQ1MTExIDEwMDY0NAo+PiAtLS0gYS90b29scy9saWJ4Yy94 Y19kb21haW4uYwo+PiArKysgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwo+PiBAQCAtMzQzLDYg KzM0MywzMSBAQCBpbnQgeGNfZG9tYWluX2dldF9ndWVzdF93aWR0aCh4Y19pbnRlcmZhY2UgKnhj aCwKPj4gdWludDMyX3QgZG9taWQsCj4+ICAgICAgcmV0dXJuIDA7Cj4+ICB9Cj4+Cj4+ICtpbnQg eGNfZG9tX3Z1YXJ0X2luaXQoeGNfaW50ZXJmYWNlICp4Y2gsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgdHlwZSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGRv bWlkLAo+PiArICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgY29uc29sZV9kb21pZCwKPj4g KyAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgZ2ZuLAo+PiArICAgICAgICAgICAgICAg ICAgICAgIGV2dGNobl9wb3J0X3QgKmV2dGNobikKPj4gK3sKPj4gKyAgICBERUNMQVJFX0RPTUNU TDsKPj4gKyAgICBpbnQgcmMgPSAwOwo+PiArCj4+ICsgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01D VExfdnVhcnRfb3A7Cj4+ICsgICAgZG9tY3RsLmRvbWFpbiA9IGRvbWlkOwo+PiArICAgIGRvbWN0 bC51LnZ1YXJ0X29wLmNtZCA9IFhFTl9ET01DVExfVlVBUlRfT1BfSU5JVDsKPj4gKyAgICBkb21j dGwudS52dWFydF9vcC50eXBlID0gdHlwZTsKPj4gKyAgICBkb21jdGwudS52dWFydF9vcC5jb25z b2xlX2RvbWlkID0gY29uc29sZV9kb21pZDsKPj4gKyAgICBkb21jdGwudS52dWFydF9vcC5nZm4g PSBnZm47Cj4+ICsKPj4gKyAgICBpZiAoIChyYyA9IGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpKSA8 IDAgKQo+PiArICAgICAgICByZXR1cm4gcmM7Cj4+ICsKPj4gKyAgICAqZXZ0Y2huID0gZG9tY3Rs LnUudnVhcnRfb3AuZXZ0Y2huOwo+PiArCj4+ICsgICAgcmV0dXJuIHJjOwo+PiArfQo+PiArCj4+ ICBpbnQgeGNfZG9tYWluX2dldGluZm8oeGNfaW50ZXJmYWNlICp4Y2gsCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgZmlyc3RfZG9taWQsCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IG1heF9kb21zLAo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfYXJjaC5oIGIvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCj4+IGluZGV4IDVlMWZjNjAuLjc4 NGVjN2YgMTAwNjQ0Cj4+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaAo+PiArKysgYi90 b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKPj4gQEAgLTQ0LDYgKzQ0LDEzIEBAIGludCBsaWJ4bF9f YXJjaF9kb21haW5fZmluYWxpc2VfaHdfZGVzY3JpcHRpb24obGlieGxfX2djCj4+ICpnYywKPj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxk X2luZm8gKmluZm8sCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB4Y19kb21faW1hZ2UgKmRvbSk7Cj4+Cj4+ICsvKiBwZXJmb3JtIGFueSBwZW5kaW5nIGhh cmR3YXJlIGluaXRpYWxpemF0aW9uICovCj4+ICtfaGlkZGVuCj4+ICtpbnQgbGlieGxfX2FyY2hf YnVpbGRfZG9tX2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlICpz dGF0ZSk7Cj4+ICsKPj4gIC8qIGJ1aWxkIHZOVU1BIHZtZW1yYW5nZSB3aXRoIGFyY2ggc3BlY2lm aWMgaW5mb3JtYXRpb24gKi8KPj4gIF9oaWRkZW4KPj4gIGludCBsaWJ4bF9fYXJjaF92bnVtYV9i dWlsZF92bWVtcmFuZ2UobGlieGxfX2djICpnYywKPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhs L2xpYnhsX2FybS5jIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKPj4gaW5kZXggZDg0MmQ4OC4u YjgxNDdmMCAxMDA2NDQKPj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKPj4gKysrIGIv dG9vbHMvbGlieGwvbGlieGxfYXJtLmMKPj4gQEAgLTEwMzgsNiArMTAzOCwyOCBAQCBpbnQKPj4g bGlieGxfX2FyY2hfZG9tYWluX2ZpbmFsaXNlX2h3X2Rlc2NyaXB0aW9uKGxpYnhsX19nYyAqZ2Ms Cj4+ICAgICAgcmV0dXJuIDA7Cj4+ICB9Cj4+Cj4+ICtpbnQgbGlieGxfX2FyY2hfYnVpbGRfZG9t X2ZpbmlzaChsaWJ4bF9fZ2MgKmdjLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlICpzdGF0ZSkKPj4g K3sKPj4gKyAgICBpbnQgcmMgPSAwOwo+PiArCj4+ICsgICAgaWYgKGluZm8tPmFyY2hfYXJtLnZ1 YXJ0ICE9IExJQlhMX1ZVQVJUX1RZUEVfU0JTQV9VQVJUKQo+PiArICAgICAgICByZXR1cm4gcmM7 Cj4+ICsKPj4gKyAgICByYyA9IHhjX2RvbV92dWFydF9pbml0KENUWC0+eGNoLAo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgWEVOX0RPTUNUTF9WVUFSVF9UWVBFX1ZQTDAxMSwKPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Z3Vlc3RfZG9taWQsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBkb20tPmNvbnNvbGVfZG9taWQsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICBkb20tPnZ1YXJ0X2dmbiwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICZzdGF0ZS0+dnVhcnRfcG9ydCk7Cj4+ICsgICAgaWYgKHJjIDwgMCkKPj4gKyAgICAgICAgTE9H KEVSUk9SLCAieGNfZG9tX3Z1YXJ0X2luaXQgZmFpbGVkXG4iKTsKPj4gKwo+PiArICAgIHJldHVy biByYzsKPj4gK30KPj4gKwo+PiAgaW50IGxpYnhsX19hcmNoX3ZudW1hX2J1aWxkX3ZtZW1yYW5n ZShsaWJ4bF9fZ2MgKmdjLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBkb21pZCwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCj4+IGRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4+IGluZGV4IGUwZjBk NzguLjVmOTIwMjMgMTAwNjQ0Cj4+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4+ICsr KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4+IEBAIC03MDIsNiArNzAyLDEwIEBAIHN0YXRp YyBpbnQgbGlieGxfX2J1aWxkX2RvbShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdAo+PiBkb21pZCwK Pj4gICAgICAgICAgTE9HRShFUlJPUiwgInhjX2RvbV9nbnR0YWJfaW5pdCBmYWlsZWQiKTsKPj4g ICAgICAgICAgZ290byBvdXQ7Cj4+ICAgICAgfQo+PiArICAgIGlmICgocmV0ID0gbGlieGxfX2Fy Y2hfYnVpbGRfZG9tX2ZpbmlzaChnYywgaW5mbywgZG9tLCBzdGF0ZSkpICE9IDApIHsKPj4gKyAg ICAgICAgTE9HRShFUlJPUiwgImxpYnhsX19hcmNoX2J1aWxkX2RvbV9maW5pc2ggZmFpbGVkIik7 Cj4+ICsgICAgICAgIGdvdG8gb3V0Owo+PiArICAgIH0KPj4KPj4gIG91dDoKPj4gICAgICByZXR1 cm4gcmV0ICE9IDAgPyBFUlJPUl9GQUlMIDogMDsKPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhs L2xpYnhsX3g4Ni5jIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKPj4gaW5kZXggNDU1ZjZmMC4u MGFhZWRlZCAxMDA2NDQKPj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKPj4gKysrIGIv dG9vbHMvbGlieGwvbGlieGxfeDg2LmMKPj4gQEAgLTM5MSw2ICszOTEsMTQgQEAgaW50IGxpYnhs X19hcmNoX2RvbWFpbl9maW5hbGlzZV9od19kZXNjcmlwdGlvbihsaWJ4bF9fZ2MKPj4gKmdjLAo+ PiAgICAgIHJldHVybiByYzsKPj4gIH0KPj4KPj4gK2ludCBsaWJ4bF9fYXJjaF9idWlsZF9kb21f ZmluaXNoKGxpYnhsX19nYyAqZ2MsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlKQo+PiAr ewo+PiArICAgIHJldHVybiAwOwo+PiArfQo+PiArCj4+ICAvKiBSZXR1cm4gMCBvbiBzdWNjZXNz LCBFUlJPUl8qIG9uIGZhaWx1cmUuICovCj4+ICBpbnQgbGlieGxfX2FyY2hfdm51bWFfYnVpbGRf dm1lbXJhbmdlKGxpYnhsX19nYyAqZ2MsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Rv bWFpbi5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jCj4+IGluZGV4IGVlZWJiZGIuLjg1YWNjZGYg MTAwNjQ0Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYwo+PiArKysgYi94ZW4vYXJjaC9h cm0vZG9tYWluLmMKPj4gQEAgLTg1Nyw2ICs4NTcsMTIgQEAgaW50IGRvbWFpbl9yZWxpbnF1aXNo X3Jlc291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQo+PiAgICAgICAgICBpZiAoIHJldCApCj4+ICAg ICAgICAgICAgICByZXR1cm4gcmV0Owo+Pgo+PiArICAgICAgICAvKgo+PiArICAgICAgICAgKiBS ZWxlYXNlIHRoZSByZXNvdXJjZXMgYWxsb2NhdGVkIGZvciB2cGwwMTEgd2hpY2ggd2VyZQo+PiAr ICAgICAgICAgKiBhbGxvY2F0ZWQgdmlhIGEgRE9NQ1RMIGNhbGwgWEVOX0RPTUNUTF92dWFydF9v cC4KPj4gKyAgICAgICAgICovCj4+ICsgICAgICAgIGRvbWFpbl92cGwwMTFfZGVpbml0KGQpOwo+ PiArCj4+ICAgICAgICAgIGQtPmFyY2gucmVsbWVtID0gUkVMTUVNX3hlbjsKPj4gICAgICAgICAg LyogRmFsbHRocm91Z2ggKi8KPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21jdGwu YyBiL3hlbi9hcmNoL2FybS9kb21jdGwuYwo+PiBpbmRleCBkYjY4MzhkLi5lYTkxNzMxIDEwMDY0 NAo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2Rv bWN0bC5jCj4+IEBAIC01LDkgKzUsMTEgQEAKPj4gICAqLwo+Pgo+PiAgI2luY2x1ZGUgPHhlbi9l cnJuby5oPgo+PiArI2luY2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KPj4gICNpbmNsdWRlIDx4 ZW4vaHlwZXJjYWxsLmg+Cj4+ICAjaW5jbHVkZSA8eGVuL2lvY2FwLmg+Cj4+ICAjaW5jbHVkZSA8 eGVuL2xpYi5oPgo+PiArI2luY2x1ZGUgPHhlbi9tbS5oPgo+PiAgI2luY2x1ZGUgPHhlbi9zY2hl ZC5oPgo+PiAgI2luY2x1ZGUgPHhlbi90eXBlcy5oPgo+PiAgI2luY2x1ZGUgPHhzbS94c20uaD4K Pj4gQEAgLTIwLDYgKzIyLDI5IEBAIHZvaWQgYXJjaF9nZXRfZG9tYWluX2luZm8oY29uc3Qgc3Ry dWN0IGRvbWFpbiAqZCwKPj4gICAgICBpbmZvLT5mbGFncyB8PSBYRU5fRE9NSU5GX2hhcDsKPj4g IH0KPj4KPj4gK3N0YXRpYyBpbnQgaGFuZGxlX3Z1YXJ0X2luaXQoc3RydWN0IGRvbWFpbiAqZCwK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdnVhcnRf b3AgKnZ1YXJ0X29wKQo+PiArewo+PiArICAgIGludCByYzsKPj4gKyAgICBzdHJ1Y3QgdnBsMDEx X2luaXRfaW5mbyBpbmZvOwo+PiArCj4+ICsgICAgaW5mby5jb25zb2xlX2RvbWlkID0gdnVhcnRf b3AtPmNvbnNvbGVfZG9taWQ7Cj4+ICsgICAgaW5mby5nZm4gPSBfZ2ZuKHZ1YXJ0X29wLT5nZm4p Owo+PiArCj4+ICsgICAgaWYgKCBkLT5jcmVhdGlvbl9maW5pc2hlZCApCj4+ICsgICAgICAgIHJl dHVybiAtRVBFUk07Cj4+ICsKPj4gKyAgICBpZiAoIHZ1YXJ0X29wLT50eXBlICE9IFhFTl9ET01D VExfVlVBUlRfVFlQRV9WUEwwMTEgKQo+PiArICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7Cj4+ ICsKPj4gKyAgICByYyA9IGRvbWFpbl92cGwwMTFfaW5pdChkLCAmaW5mbyk7Cj4+ICsKPj4gKyAg ICBpZiAoICFyYyApCj4+ICsgICAgICAgIHZ1YXJ0X29wLT5ldnRjaG4gPSBpbmZvLmV2dGNobjsK Pj4gKwo+PiArICAgIHJldHVybiByYzsKPj4gK30KPj4gKwo+PiAgbG9uZyBhcmNoX2RvX2RvbWN0 bChzdHJ1Y3QgeGVuX2RvbWN0bCAqZG9tY3RsLCBzdHJ1Y3QgZG9tYWluICpkLAo+PiAgICAgICAg ICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21j dGwpCj4+ICB7Cj4+IEBAIC0xMTksNiArMTQ0LDI3IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3Ry dWN0IHhlbl9kb21jdGwgKmRvbWN0bCwgc3RydWN0Cj4+IGRvbWFpbiAqZCwKPj4gICAgICAgICAg ZC0+ZGlzYWJsZV9taWdyYXRlID0gZG9tY3RsLT51LmRpc2FibGVfbWlncmF0ZS5kaXNhYmxlOwo+ PiAgICAgICAgICByZXR1cm4gMDsKPj4KPj4gKyAgICBjYXNlIFhFTl9ET01DVExfdnVhcnRfb3A6 Cj4+ICsgICAgewo+PiArICAgICAgICBpbnQgcmM7Cj4+ICsgICAgICAgIHN0cnVjdCB4ZW5fZG9t Y3RsX3Z1YXJ0X29wICp2dWFydF9vcCA9ICZkb21jdGwtPnUudnVhcnRfb3A7Cj4+ICsKPj4gKyAg ICAgICAgc3dpdGNoKCB2dWFydF9vcC0+Y21kICkKPj4gKyAgICAgICAgewo+PiArICAgICAgICBj YXNlIFhFTl9ET01DVExfVlVBUlRfT1BfSU5JVDoKPj4gKyAgICAgICAgICAgIHJjID0gaGFuZGxl X3Z1YXJ0X2luaXQoZCwgdnVhcnRfb3ApOwo+PiArICAgICAgICAgICAgYnJlYWs7Cj4+ICsKPj4g KyAgICAgICAgZGVmYXVsdDoKPj4gKyAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKPj4gKyAgICAg ICAgICAgIGJyZWFrOwo+PiArICAgICAgICB9Cj4+ICsKPj4gKyAgICAgICAgaWYgKCAhcmMgKQo+ PiArICAgICAgICAgICAgcmMgPSBfX2NvcHlfdG9fZ3Vlc3QodV9kb21jdGwsIGRvbWN0bCwgMSk7 Cj4+ICsKPj4gKyAgICAgICAgcmV0dXJuIHJjOwo+PiArICAgIH0KPj4gICAgICBkZWZhdWx0Ogo+ PiAgICAgIHsKPj4gICAgICAgICAgaW50IHJjOwo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv cHVibGljL2RvbWN0bC5oIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCj4+IGluZGV4IDA2 NjljMzEuLmVkMmVhODAgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwu aAo+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKPj4gQEAgLTM2LDYgKzM2LDcg QEAKPj4gICNpbmNsdWRlICJncmFudF90YWJsZS5oIgo+PiAgI2luY2x1ZGUgImh2bS9zYXZlLmgi Cj4+ICAjaW5jbHVkZSAibWVtb3J5LmgiCj4+ICsjaW5jbHVkZSAiZXZlbnRfY2hhbm5lbC5oIgo+ Pgo+PiAgI2RlZmluZSBYRU5fRE9NQ1RMX0lOVEVSRkFDRV9WRVJTSU9OIDB4MDAwMDAwMGUKPj4K Pj4gQEAgLTExNDgsNiArMTE0OSwyNCBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29wIHsK Pj4gICAgICB1aW50MzJfdCB0YXJnZXQ7ICAgIC8qIElOICovCj4+ICAgICAgdWludDY0X3QgZGF0 YTsgICAgICAvKiBJTi9PVVQgKi8KPj4gIH07Cj4+ICsKPj4gK3N0cnVjdCB4ZW5fZG9tY3RsX3Z1 YXJ0X29wIHsKPj4gKyNkZWZpbmUgWEVOX0RPTUNUTF9WVUFSVF9PUF9JTklUICAwCj4+ICsgICAg ICAgIHVpbnQzMl90IGNtZDsgICAgICAgICAgIC8qIFhFTl9ET01DVExfVlVBUlRfT1BfKiAqLwo+ PiArI2RlZmluZSBYRU5fRE9NQ1RMX1ZVQVJUX1RZUEVfVlBMMDExIDAKPj4gKyAgICAgICAgdWlu dDMyX3QgdHlwZTsgICAgICAgICAgLyogSU4gLSB0eXBlIG9mIHZ1YXJ0Lgo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgIEN1cnJlbnRseSBvbmx5IHZwbDAxMSBzdXBw b3J0ZWQuCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwo+PiArICAgICAg ICB1aW50NjRfYWxpZ25lZF90ICBnZm47ICAvKiBJTiAtIGd1ZXN0IGdmbiB0byBiZSB1c2VkIGFz IGEKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICByaW5nIGJ1ZmZl ci4KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCj4+ICsgICAgICAgIGV2 dGNobl9wb3J0X3QgZXZ0Y2huOyAgIC8qIE9VVCAtIHJlbW90ZSBwb3J0IG9mIHRoZSBldmVudAo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICBjaGFubmVsIHVzZWQg Zm9yIHNlbmRpbmcKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAg cmluZyBidWZmZXIgZXZlbnRzLgo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ki8KPj4gKyAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkOyAgLyogSU4gKi8KPj4gK307Cj4+ ICsKPj4gIHR5cGVkZWYgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCB4ZW5fZG9tY3RsX3Bz cl9jYXRfb3BfdDsKPj4gIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfcHNyX2Nh dF9vcF90KTsKPgo+IElycmVzcGVjdGl2ZSBvZiB3aGV0aGVyIHRoaXMgaXMgYW4gYXBwcm9wcmlh dGUgYWRkaXRpb24gKHdoaWNoCj4gbWFpbmx5IHRoZSBBUk0gbWFpbnRhaW5lcnMgc2hvdWxkIGp1 ZGdlIGFib3V0LCBpdCBpcyBiZWluZwo+IGluc2VydGVkIGF0IHRoZSB3cm9uZyBwbGFjZSAoaW4g dGhlIG1pZGRsZSBvZiBQU1Igc3R1ZmYpLiBBbHNvCgpJIHdpbGwgbW92ZSB0aGUgdnVhcnQgc3Ry dWN0dXJlIGFmdGVyIHRoZSBQU1IgZGVmaW5pdGlvbnMuCgo+IEknbSBwcmV0dHkgY2VydGFpbiBJ IGhhZCBhc2tlZCBiZWZvcmUgdGhhdCBhbGwgcGFkZGluZyBiZSBtYWRlCj4gZXhwbGljaXQgYW5k IGJlIGNoZWNrZWQgdG8gYmUgemVyby4KSSB3aWxsIGFkZCBleHBsaWNpdCBwYWRkaW5nIGFuZCBj aGVjayBpdCBhZ2FpbnN0IDAuCgpBcyBhIHNpZGUgbm90ZSwgSSBhbHNvIGZpbmQKPiBpdCBvZGQg Zm9yIElOIGFuZCBPVVQgcGllY2VzIHRvIGJlIGludGVybWl4ZWQsIGluc3RlYWQgb2YgYWxsCj4g SU5zIHByZWNlZGluZyBhbGwgT1VUcy4KCkkgd2lsbCBmaXggdGhpcy4KClJlZ2FyZHMsCkJodXBp bmRlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==