From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AECAAC5AE59 for ; Tue, 10 Sep 2019 15:12:22 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 737CE21881 for ; Tue, 10 Sep 2019 15:12:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 737CE21881 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i7ho9-00020j-4y; Tue, 10 Sep 2019 15:11:53 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i7ho7-00020e-9Y for xen-devel@lists.xenproject.org; Tue, 10 Sep 2019 15:11:51 +0000 X-Inumbo-ID: 4fa18d09-d3dd-11e9-ac1f-12813bfff9fa Received: from foss.arm.com (unknown [217.140.110.172]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id 4fa18d09-d3dd-11e9-ac1f-12813bfff9fa; Tue, 10 Sep 2019 15:11:49 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 267CA28; Tue, 10 Sep 2019 08:11:49 -0700 (PDT) Received: from [10.37.12.155] (unknown [10.37.12.155]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 50E9B3F71F; Tue, 10 Sep 2019 08:11:47 -0700 (PDT) To: Oleksandr Tyshchenko , xen-devel@lists.xenproject.org References: <1566588892-5305-1-git-send-email-olekstysh@gmail.com> From: Julien Grall Message-ID: Date: Tue, 10 Sep 2019 16:11:45 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <1566588892-5305-1-git-send-email-olekstysh@gmail.com> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH] [RFC V2] xen/arm: Restrict "p2m_ipa_bits" according to the IOMMU requirements X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Oleksandr Tyshchenko , sstabellini@kernel.org, Volodymyr_Babchuk@epam.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGkgT2xla3NhbmRyLAoKT24gOC8yMy8xOSA4OjM0IFBNLCBPbGVrc2FuZHIgVHlzaGNoZW5rbyB3 cm90ZToKPiBGcm9tOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29A ZXBhbS5jb20+Cj4gCj4gVGhlcmUgaXMgYSBzdHJpY3QgcmVxdWlyZW1lbnQgZm9yIHRoZSBJT01N VSB3aGljaCB3YW50cyB0byBzaGFyZQo+IHRoZSBQMk0gdGFibGUgd2l0aCB0aGUgQ1BVLiBUaGUg SU9NTVUncyBTdGFnZS0yIGlucHV0IHNpemUgbXVzdCBiZSBlcXVhbAo+IHRvIHRoZSBQMk0gSVBB IHNpemUuIEl0IGlzIG5vdCBhIHByb2JsZW0gd2hlbiB0aGUgSU9NTVUgY2FuIHN1cHBvcnQKPiBh bGwgdmFsdWVzIHRoZSBDUFUgc3VwcG9ydHMuIEluIHRoYXQgY2FzZSwgdGhlIElPTU1VIGRyaXZl ciB3b3VsZCBqdXN0Cj4gdXNlIGFueSAicDJtX2lwYV9iaXRzIiB2YWx1ZSBhcyBpcy4gQnV0LCB0 aGVyZSBhcmUgY2FzZXMgd2hlbiBub3QuCj4gCj4gSW4gb3JkZXIgdG8gbWFrZSBQMk0gc2hhcmlu ZyBwb3NzaWJsZSBvbiB0aGUgcGxhdGZvcm1zIHdoaWNoCj4gSVBNTVVzIGhhdmUgYSBsaW1pdGF0 aW9uIGluIG1heGltdW0gU3RhZ2UtMiBpbnB1dCBzaXplIGludHJvZHVjZQo+IHRoZSBmb2xsb3dp bmcgbG9naWMuCj4gCj4gRmlyc3QgaW5pdGlhbGl6ZSB0aGUgSU9NTVUgc3Vic3lzdGVtIGFuZCBn YXRoZXIgcmVxdWlyZW1lbnRzIHJlZ2FyZGluZwo+IHRoZSBtYXhpbXVtIElQQSBiaXRzIHN1cHBv cnRlZCBieSBlYWNoIElPTU1VIGRldmljZSB0byBmaWd1cmUgb3V0Cj4gdGhlIG1pbmltdW0gdmFs dWUgYW1vbmcgdGhlbS4gSW4gdGhlIFAyTSBjb2RlLCB0YWtlIGludG8gdGhlIGFjY291bnQKPiB0 aGUgSU9NTVUgcmVxdWlyZW1lbnRzIGFuZCBjaG9vc2Ugc3VpdGFibGUgInBhX3JhbmdlIiBhY2Nv cmRpbmcKPiB0byB0aGUgcmVzdHJpY3RlZCAicDJtX2lwYV9iaXRzIi4KCkFzIEkgcG9pbnRlZCBp biB0aGUgcHJldmlvdXMgdmVyc2lvbiwgYWxsIHRoZSBjb2RlIHlvdSBtb2RpZnkgaXMgYXJtNjQg CnNwZWNpZmljLiBGb3IgYXJtMzIsIHRoZSBudW1iZXIgb2YgSVBBIGJpdHMgaXMKaGFyZGNvZGVk LiBTbyBpZiB5b3UgbW9kaWZ5IHAybV9pcGFfYml0cywgeW91IHdvdWxkIGVuZCB1cCB0byAKbWlz Y29uZmlndXJlIFZUQ1IuCgpJbiBvdGhlciB3b3JkcywgZm9yIEFybTMyLCB5b3UgbmVlZCB0byBj aGVjayBwMm1faXBhX2JpdHMgaXMgYXQgbGVhc3QgCjQwLWJpdHMgYmVmb3JlIG92ZXJyaWRpbmcg aXQuCgo+IAo+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJf dHlzaGNoZW5rb0BlcGFtLmNvbT4KPiBDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJt LmNvbT4KPiAKPiAtLS0KPiBTdGlsbCBSRkM6Cj4gCj4gMS4gUGF0Y2ggYXNzdW1lcyB0aGF0IElQ TU1VIHN1cHBvcnQgaXMgYWxyZWFkeSBpbi4KPiAyLiBOb3QgY2hlY2tlZCBmb3IgdGhlIFNNTVUu Cj4gCj4gQ2hhbmdlcyBzaW5jZSBSRkMgVjEgWzFdOgo+ICAgICAtIERvbid0IHVwZGF0ZSBwMm1f aXBhX2JpdHMgYnkgdGhlIElPTU1VIGRyaXZlcnMgZGlyZWN0bHksCj4gICAgICAgaW50cm9kdWNl IHAybV9yZXN0cmljdF9pcGFfYml0cygpCj4gICAgIC0gQ2xhcmlmeSBwYXRjaCBzdWJqZWN0L2Rl c2NyaXB0aW9uCj4gICAgIC0gQWRkIG1vcmUgY29tbWVudHMgdG8gY29kZQo+ICAgICAtIENoZWNr IGZvciBlcXVpdmFsZW50ICJwYWJpdHMiIGluIHNldHVwX3ZpcnRfcGFnaW5nKCkKPiAgICAgLSBS ZW1vdmUgQVNTRVJUcyBmcm9tIHRoZSBTTU1VIGFuZCBJUE1NVSBkcml2ZXJzCj4gCj4gWzFdIGh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxOS0w OC9tc2cwMjA3OC5odG1sCj4gLS0tCj4gICB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgICAg ICAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgIHhlbi9h cmNoL2FybS9zZXR1cC5jICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKystLQo+ICAg eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lwbW11LXZtc2EuYyB8IDE5ICsrKystLS0tLS0t LS0tLS0tLQo+ICAgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYyAgICAgICB8IDE2 ICsrKysrKysrLS0tLS0tLS0KPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmggICAgICAgICAg ICAgICAgfCAgOCArKysrKysrKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCsp LCAyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3AybS5jIGIv eGVuL2FyY2gvYXJtL3AybS5jCj4gaW5kZXggMjM3NGU5Mi4uZjc0MmQ5YyAxMDA2NDQKPiAtLS0g YS94ZW4vYXJjaC9hcm0vcDJtLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKPiBAQCAtMzQs NyArMzQsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgbWF4X3ZtaWQgPSBN QVhfVk1JRF84X0JJVDsKPiAgIAo+ICAgI2RlZmluZSBQMk1fUk9PVF9QQUdFUyAgICAoMTw8UDJN X1JPT1RfT1JERVIpCj4gICAKPiAtdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgcDJtX2lwYV9i aXRzOwo+ICsvKiBMYXJnZXIgdGhhbiBhbnkgcG9zc2libGUgdmFsdWUgKi8KCkkgdGhpbmsgaXQg d291bGQgYmUgd29ydGggZXhwbGFpbmluZyB0aGF0IHRoaXMgaXMgcmVxdWlyZWQgc28gdGhlIG51 bWJlciAKb2YgUDJNIGJpdHMgY2FuIGJlIHJlc3RyaWN0ZWQgYnkgZXh0ZXJuYWwgZW50aXR5IChl LmcgSU9NTVUpLgoKPiArdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgcDJtX2lwYV9iaXRzID0g NjQ7Cj4gICAKPiAgIC8qIEhlbHBlcnMgdG8gbG9va3VwIHRoZSBwcm9wZXJ0aWVzIG9mIGVhY2gg bGV2ZWwgKi8KPiAgIHN0YXRpYyBjb25zdCBwYWRkcl90IGxldmVsX21hc2tzW10gPQo+IEBAIC0x OTEyLDYgKzE5MTMsMTYgQEAgc3RydWN0IHBhZ2VfaW5mbyAqZ2V0X3BhZ2VfZnJvbV9ndmEoc3Ry dWN0IHZjcHUgKnYsIHZhZGRyX3QgdmEsCj4gICAgICAgcmV0dXJuIHBhZ2U7Cj4gICB9Cj4gICAK PiArdm9pZCBfX2luaXQgcDJtX3Jlc3RyaWN0X2lwYV9iaXRzKHVuc2lnbmVkIGludCBpb21tdV9p cGFfYml0cykKClRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBpcyBxdWl0ZSBnZW5lcmljIGFzIG1v c3Qgb2YgdGhlIGNvZGUgaW4gaXQuIFNvIApjYW4gd2UgYXZvaWQgdXNlIHRoZSB0ZXJtIElPTU1V IGluIGl0PwoKPiArewo+ICsgICAgLyoKPiArICAgICAqIENhbGN1bGF0ZSB0aGUgbWluaW11bSBv ZiB0aGUgbWF4aW11bSBJUEEgYml0cyB0aGF0IGFueSBJT01NVQo+ICsgICAgICogY2FuIHN1cHBv cnQuCj4gKyAgICAgKi8KPiArICAgIGlmICggaW9tbXVfaXBhX2JpdHMgPCBwMm1faXBhX2JpdHMg KQo+ICsgICAgICAgIHAybV9pcGFfYml0cyA9IGlvbW11X2lwYV9iaXRzOwo+ICt9Cj4gKwo+ICAg LyogVlRDUiB2YWx1ZSB0byBiZSBjb25maWd1cmVkIGJ5IGFsbCBDUFVzLiBTZXQgb25seSBvbmNl IGJ5IHRoZSBib290IENQVSAqLwo+ICAgc3RhdGljIHVpbnQzMl90IF9fcmVhZF9tb3N0bHkgdnRj cjsKPiAgIAo+IEBAIC0xOTY2LDEwICsxOTc3LDI4IEBAIHZvaWQgX19pbml0IHNldHVwX3ZpcnRf cGFnaW5nKHZvaWQpCj4gICAgICAgICAgIFs3XSA9IHsgMCB9ICAvKiBJbnZhbGlkICovCj4gICAg ICAgfTsKPiAgIAo+IC0gICAgdW5zaWduZWQgaW50IGNwdTsKPiArICAgIHVuc2lnbmVkIGludCBp LCBjcHU7Cj4gICAgICAgdW5zaWduZWQgaW50IHBhX3JhbmdlID0gMHgxMDsgLyogTGFyZ2VyIHRo YW4gYW55IHBvc3NpYmxlIHZhbHVlICovCj4gICAgICAgYm9vbCB2bWlkXzhfYml0ID0gZmFsc2U7 Cj4gICAKPiArICAgIGlmICggaW9tbXVfZW5hYmxlZCApCgpDb3VsZCB3ZSBtYWtlIHRoaXMgSU9N TVUtYWdub3N0aWM/IFRoZSBtYWluIHJlYXNvbiB0byBjb252ZXJ0IGZyb20gCnAybV9pcGFfYml0 cyB0byBwYV9yYW5nZSBpcyB0byBjYXRlciB0aGUgcmVzdCBvZiB0aGUgY29kZS4KCkJ1dCB3ZSBj b3VsZCByZXdvcmsgdGhlIGNvZGUgdG8gZG8gdGhlIGNvbXB1dGF0aW9uIHdpdGggcDJtX2lwYV9i aXRzIGFuZCAKdGhlbiBsb29rLXVwIGZvciB0aGUgcGFfcmFuZ2UuIEluIGFsbCBob25lc3R5LCBJ IHRoaW5rIHdlIGNhbiBjb21wbGV0ZWx5IAphdm9pZCBwYV9yYW5nZSBidXQgdGhpcyBpcyBwcm9i YWJseSBnb2luZyB0byByZXF1aXJlIG1vcmUgYSBiaXQgbW9yZSB3b3JrLgoKPiArICAgIHsKPiAr ICAgICAgICAvKgo+ICsgICAgICAgICAqIENob29zZSBzdWl0YWJsZSAicGFfcmFuZ2UiIGFjY29y ZGluZyB0byB0aGUgSU9NTVUgcmVxdWlyZW1lbnRzCj4gKyAgICAgICAgICogKHJlc3RyaWN0ZWQg InAybV9pcGFfYml0cyIgdmFsdWUpLgo+ICsgICAgICAgICAqIEFzIFAyTSB0YWJsZSBpcyBhbHdh eXMgY29uZmlndXJlZCB3aXRoIElQQSBiaXRzID09IFBBIGJpdHMsCj4gKyAgICAgICAgICogY2hl Y2sgZm9yIGVxdWl2YWxlbnQgInBhYml0cyIgYW5kIHN0b3JlIGl0J3MgaW5kZXguCj4gKyAgICAg ICAgICovCj4gKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBhX3JhbmdlX2lu Zm8pOyBpKysgKQo+ICsgICAgICAgIHsKPiArICAgICAgICAgICAgaWYgKCBwMm1faXBhX2JpdHMg PT0gcGFfcmFuZ2VfaW5mb1tpXS5wYWJpdHMgKQo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAg ICAgICAgICBwYV9yYW5nZSA9IGk7Cj4gKyAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAg ICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gICAgICAgZm9yX2VhY2hfb25saW5l X2NwdSAoIGNwdSApCj4gICAgICAgewo+ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgY3B1aW5mb19h cm0gKmluZm8gPSAmY3B1X2RhdGFbY3B1XTsKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3Nl dHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwo+IGluZGV4IDUxYTY2NzcuLjQxM2YzZTYgMTAw NjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3NldHVwLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vc2V0 dXAuYwo+IEBAIC05MzYsMTIgKzkzNiwxOSBAQCB2b2lkIF9faW5pdCBzdGFydF94ZW4odW5zaWdu ZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0LAo+ICAgICAgIHByaW50aygiQnJvdWdodCB1cCAlbGQg Q1BVc1xuIiwgKGxvbmcpbnVtX29ubGluZV9jcHVzKCkpOwo+ICAgICAgIC8qIFRPRE86IHNtcF9j cHVzX2RvbmUoKTsgKi8KPiAgIAo+IC0gICAgc2V0dXBfdmlydF9wYWdpbmcoKTsKPiAtCj4gKyAg ICAvKgo+ICsgICAgICogVGhlIElPTU1VIHN1YnN5c3RlbSBtdXN0IGJlIGluaXRpYWxpemVkIGJl Zm9yZSBQMk0gYXMgd2UgbmVlZCB0byBnYXRoZXIKPiArICAgICAqIHJlcXVpcmVtZW50cyByZWdh cmRpbmcgdGhlIG1heGltdW0gSVBBIGJpdHMgc3VwcG9ydGVkIGJ5IGVhY2ggSU9NTVUKPiArICAg ICAqIGRldmljZSB0byBmaWd1cmUgb3V0IHRoZSBtaW5pbXVtIHZhbHVlIGFtb25nIHRoZW0uIFRo ZSBQMk0gY29kZSB3aWxsCj4gKyAgICAgKiBjaG9vc2Ugc3VpdGFibGUgInBhX3JhbmdlIiBhY2Nv cmRpbmcgdG8gdGhlIHJlc3RyaWN0ZWQgInAybV9pcGFfYml0cyIKPiArICAgICAqIHZhbHVlLgo+ ICsgICAgICovCgpUaGlzIGlzIGEgYml0IHRvbyB2ZXJib3NlLCBpbXBsZW1lbnRhdGlvbiBkZXRh aWxzIGFyZSBub3QgbmVjZXNzYXJ5IGhlcmUgCmFuZCBpbmNyZWFzaW5nIHRoZSByaXNrIHRvIGhh dmUgYml0IHJvdCBjb21tZW50LiBTbyBob3cgYWJvdXQ6CgoiVGhlIElPTU1VIHN1YnN5c3RlbSBt dXN0IGJlIGluaXRpYWxpemVkIGJlZm9yZSB0aGUgUDJNIGFzIHdlIG5lZWQgdG8gCmdhdGhlciBy ZXF1aXJlbWVudHMgcmVnYXJkaW5nIHRoZSBtYXhpbXVtIElQQSBiaXQgc3VwcG9ydGVkIGJ5IGVh Y2ggSU9NTVUuIj8KCj4gICAgICAgcmMgPSBpb21tdV9zZXR1cCgpOwo+ICAgICAgIGlmICggIWlv bW11X2VuYWJsZWQgJiYgcmMgIT0gLUVOT0RFViApCj4gICAgICAgICAgIHBhbmljKCJDb3VsZG4n dCBjb25maWd1cmUgY29ycmVjdGx5IGFsbCB0aGUgSU9NTVVzLiIpOwo+ICAgCj4gKyAgICBzZXR1 cF92aXJ0X3BhZ2luZygpOwo+ICsKPiAgICAgICBkb19pbml0Y2FsbHMoKTsKPiAgIAo+ICAgICAg IC8qCj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9pcG1tdS12bXNh LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaXBtbXUtdm1zYS5jCj4gaW5kZXggZWM1 NDNjMy4uZDJlMzZhNCAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0v aXBtbXUtdm1zYS5jCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lwbW11LXZt c2EuYwo+IEBAIC0xMzE0LDIzICsxMzE0LDEyIEBAIHN0YXRpYyBfX2luaXQgaW50IGlwbW11X2lu aXQoc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlLCBjb25zdCB2b2lkICpkYXRhKQo+ICAgICAg ICAgICByZXR1cm4gLUVOT0RFVjsKPiAgICAgICB9Cj4gICAgICAgZWxzZQo+IC0gICAgewo+ICAg ICAgICAgICAvKgo+IC0gICAgICAgICAqIEFzIDQtbGV2ZWwgdHJhbnNsYXRpb24gdGFibGUgaXMg bm90IHN1cHBvcnRlZCBpbiBJUE1NVSwgd2UgbmVlZAo+IC0gICAgICAgICAqIHRvIGNoZWNrIElQ QSBzaXplIHVzZWQgZm9yIFAyTSB0YWJsZSBiZWZvcmVoYW5kIHRvIGJlIHN1cmUgaXQgaXMKPiAt ICAgICAgICAgKiAzLWxldmVsIGFuZCB0aGUgSVBNTVUgd2lsbCBiZSBhYmxlIHRvIHVzZSBpdC4K PiAtICAgICAgICAgKgo+IC0gICAgICAgICAqIFRPRE86IEZpcnN0IGluaXRpYWxpemUgdGhlIElP TU1VIGFuZCBnYXRoZXIgdGhlIHJlcXVpcmVtZW50cyBhbmQKPiAtICAgICAgICAgKiB0aGVuIGlu aXRpYWxpemUgdGhlIFAyTS4gSW4gdGhlIFAyTSBjb2RlLCB0YWtlIGludG8gdGhlIGFjY291bnQK PiAtICAgICAgICAgKiB0aGUgSU9NTVUgcmVxdWlyZW1lbnRzIGFuZCByZXN0cmljdCAicGFfcmFu Z2UiIGlmIG5lY2Vzc2FyeS4KPiArICAgICAgICAgKiBTZXQgbWF4aW11bSBTdGFnZS0yIGlucHV0 IHNpemUgc3VwcG9ydGVkIGJ5IHRoZSBJUE1NVS4gV2UgZXhwZWN0Cj4gKyAgICAgICAgICogdGhl IFAyTSBjb2RlIHdpbGwgdGFrZSBpbnRvIHRoZSBhY2NvdW50IHRoZSBJT01NVSByZXF1aXJlbWVu dHMgYW5kCj4gKyAgICAgICAgICogY2hvb3NlIHN1aXRhYmxlICJwYV9yYW5nZSIuCgpJIHdvdWxk IGRyb3AgdGhlIGxhc3Qgc2VudGVuY2UuCgo+ICAgICAgICAgICAgKi8KPiAtICAgICAgICBpZiAo IElQTU1VX01BWF9QMk1fSVBBX0JJVFMgPCBwMm1faXBhX2JpdHMgKQo+IC0gICAgICAgIHsKPiAt ICAgICAgICAgICAgcHJpbnRrX29uY2UoWEVOTE9HX0VSUiAiaXBtbXU6IFAyTSBJUEEgc2l6ZSBp cyBub3Qgc3VwcG9ydGVkIChQMk09JXUgSVBNTVU9JXUpIVxuIiwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgcDJtX2lwYV9iaXRzLCBJUE1NVV9NQVhfUDJNX0lQQV9CSVRTKTsKPiAtICAgICAg ICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gLSAgICAgICAgfQo+IC0gICAgfQo+ICsgICAgICAgIHAy bV9yZXN0cmljdF9pcGFfYml0cyhJUE1NVV9NQVhfUDJNX0lQQV9CSVRTKTsKPiAgIAo+ICAgICAg IHJldCA9IGlwbW11X3Byb2JlKG5vZGUpOwo+ICAgICAgIGlmICggcmV0ICkKPiBkaWZmIC0tZ2l0 IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2FybS9zbW11LmMKPiBpbmRleCA4YWU5ODZhLi4yYjEwYzZlIDEwMDY0NAo+IC0tLSBh L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKPiArKysgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9hcm0vc21tdS5jCj4gQEAgLTIxOTgsMTQgKzIxOTgsMTQgQEAgc3RhdGljIGlu dCBhcm1fc21tdV9kZXZpY2VfY2ZnX3Byb2JlKHN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKnNtbXUp Cj4gICAJc2l6ZSA9IGFybV9zbW11X2lkX3NpemVfdG9fYml0cygoaWQgPj4gSUQyX0lBU19TSElG VCkgJiBJRDJfSUFTX01BU0spOwo+ICAgCXNtbXUtPnMxX291dHB1dF9zaXplID0gbWluX3QodW5z aWduZWQgbG9uZywgUEhZU19NQVNLX1NISUZULCBzaXplKTsKPiAgIAo+IC0JLyogWGVuOiBTdGFn ZS0yIGlucHV0IHNpemUgaGFzIHRvIG1hdGNoIHAybV9pcGFfYml0cy4gICovCj4gLQlpZiAoc2l6 ZSA8IHAybV9pcGFfYml0cykgewo+IC0JCWRldl9lcnIoc21tdS0+ZGV2LAo+IC0JCQkiUDJNIElQ QSBzaXplIG5vdCBzdXBwb3J0ZWQgKFAyTT0ldSBTTU1VPSVsdSkhXG4iLAo+IC0JCQlwMm1faXBh X2JpdHMsIHNpemUpOwo+IC0JCXJldHVybiAtRU5PREVWOwo+IC0JfQo+IC0Jc21tdS0+czJfaW5w dXRfc2l6ZSA9IHAybV9pcGFfYml0czsKPiArCS8qCj4gKwkgKiBYZW46Cj4gKwkgKiBTZXQgbWF4 aW11bSBTdGFnZS0yIGlucHV0IHNpemUgc3VwcG9ydGVkIGJ5IHRoZSBTTU1VLiBXZSBleHBlY3QK PiArCSAqIHRoZSBQMk0gY29kZSB3aWxsIHRha2UgaW50byB0aGUgYWNjb3VudCB0aGUgSU9NTVUg cmVxdWlyZW1lbnRzIGFuZAo+ICsJICogY2hvb3NlIHN1aXRhYmxlICJwYV9yYW5nZSIuCgpTYW1l IGhlcmUuCgo+ICsJICovCj4gKwlwMm1fcmVzdHJpY3RfaXBhX2JpdHMoc2l6ZSk7Cj4gKwlzbW11 LT5zMl9pbnB1dF9zaXplID0gc2l6ZTsKPiAgICNpZiAwCj4gICAJLyogU3RhZ2UtMiBpbnB1dCBz aXplIGxpbWl0ZWQgZHVlIHRvIHBnZCBhbGxvY2F0aW9uIChQVFJTX1BFUl9QR0QpICovCj4gICAj aWZkZWYgQ09ORklHXzY0QklUCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJt LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCj4gaW5kZXggZjk3MGM1My4uY2RjZjgzYSAx MDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCj4gKysrIGIveGVuL2luY2x1 ZGUvYXNtLWFybS9wMm0uaAo+IEBAIC0xNjUsNiArMTY1LDE0IEBAIHZvaWQgcDJtX2FsdHAybV9j aGVjayhzdHJ1Y3QgdmNwdSAqdiwgdWludDE2X3QgaWR4KQo+ICAgICAgIC8qIE5vdCBzdXBwb3J0 ZWQgb24gQVJNLiAqLwo+ICAgfQo+ICAgCj4gKy8qCj4gKyAqIEhlbHBlciB0byByZXN0cmljdCAi cDJtX2lwYV9iaXRzIiBhY2NvcmRpbmcgdGhlIElPTU1VIHJlcXVpcmVtZW50cy4KPiArICoKPiAr ICogRWFjaCBJT01NVSBkcml2ZXIgc2hvdWxkIHJlcG9ydCB0aGUgbWF4aW11bSBJUEEgYml0cyAo U3RhZ2UtMiBpbnB1dCBzaXplKQo+ICsgKiBpdCBjYW4gc3VwcG9ydC4KPiArICovCj4gK3ZvaWQg cDJtX3Jlc3RyaWN0X2lwYV9iaXRzKHVuc2lnbmVkIGludCBpb21tdV9pcGFfYml0cyk7Cj4gKwo+ ICAgLyogU2Vjb25kIHN0YWdlIHBhZ2luZyBzZXR1cCwgdG8gYmUgY2FsbGVkIG9uIGFsbCBDUFVz ICovCj4gICB2b2lkIHNldHVwX3ZpcnRfcGFnaW5nKHZvaWQpOwo+ICAgCj4gCgpDaGVlcnMsCgot LSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0 Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRl dmVs