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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,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 3B1D2C32750 for ; Tue, 13 Aug 2019 12:39:34 +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 0197B20578 for ; Tue, 13 Aug 2019 12:39:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0197B20578 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 1hxW54-0007d1-CI; Tue, 13 Aug 2019 12:39:14 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hxW53-0007cw-ID for xen-devel@lists.xenproject.org; Tue, 13 Aug 2019 12:39:13 +0000 X-Inumbo-ID: 59e6ea28-bdc7-11e9-9f02-5f7cb1266f9b Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 59e6ea28-bdc7-11e9-9f02-5f7cb1266f9b; Tue, 13 Aug 2019 12:39:11 +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 6AA2A344; Tue, 13 Aug 2019 05:39:11 -0700 (PDT) Received: from [10.37.8.112] (unknown [10.37.8.112]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 236623F694; Tue, 13 Aug 2019 05:39:09 -0700 (PDT) To: Oleksandr Tyshchenko , xen-devel@lists.xenproject.org References: <1564763985-20312-1-git-send-email-olekstysh@gmail.com> <1564763985-20312-5-git-send-email-olekstysh@gmail.com> From: Julien Grall Message-ID: <33ac8ed2-572f-a7d8-ddfa-17f6dd50f0f8@arm.com> Date: Tue, 13 Aug 2019 13:39:08 +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: <1564763985-20312-5-git-send-email-olekstysh@gmail.com> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH V2 4/6] iommu/arm: Add lightweight iommu_fwspec support 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 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGkgT2xla3NhbmRyLAoKT24gOC8yLzE5IDU6MzkgUE0sIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdy b3RlOgo+IEZyb206IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0Bl cGFtLmNvbT4KPiAKPiBXZSBuZWVkIHRvIGhhdmUgc29tZSBhYnN0cmFjdCB3YXkgdG8gYWRkIG5l dyBkZXZpY2UgdG8gdGhlIElPTU1VCj4gYmFzZWQgb24gdGhlIGdlbmVyaWMgSU9NTVUgRFQgYmlu ZGluZyBbMV0gd2hpY2ggY2FuIGJlIHVzZWQgZm9yCj4gYm90aCBEVCAocmlnaHQgbm93KSBhbmQg QUNQSSAoaW4gZnV0dXJlKS4KPiAKPiBGb3IgdGhhdCByZWFzb24gd2UgY2FuIGJvcnJvdyB0aGUg aWRlYSB1c2VkIGluIExpbnV4IHRoZXNlIGRheXMKPiBjYWxsZWQgImlvbW11X2Z3c3BlYyIuIEhh dmluZyB0aGlzIGluLCBpdCB3aWxsIGJlIHBvc3NpYmxlCj4gdG8gY29uZmlndXJlIElPTU1VIG1h c3RlciBpbnRlcmZhY2VzIG9mIHRoZSBkZXZpY2UgKGRldmljZSBJRHMpCj4gZnJvbSBhIHNpbmds ZSBjb21tb24gcGxhY2UgYW5kIGF2b2lkIGtlZXBpbmcgYWxtb3N0IGlkZW50aWZpY2FsIGxvb2st dXAKCnMvaWRlbnRpZmljYWwvaWRlbnRpY2FsLwoKPiBpbXBsZW1lbnRhdGlvbnMgaW4gZWFjaCBJ T01NVSBkcml2ZXIuCj4gCj4gVGhlcmUgaXMgbm8gbmVlZCB0byBwb3J0IHRoZSB3aG9sZSBpbXBs ZW1lbnRhdGlvbiBvZiAiaW9tbXVfZndzcGVjIgo+IHRvIFhlbiwgd2UgY291bGQsIHByb2JhYmx5 LCBlbmQgdXAgd2l0aCBhIG11Y2ggc2ltcGxlciBzb2x1dGlvbiwKPiBzb21lICJzdHJpcHBlZCBk b3duIiB2ZXJzaW9uIHdoaWNoIGZpdHMgb3VyIHJlcXVpcm1lbnRzLgoKcy9yZXF1aXJtZW50cy9y ZXF1aXJlbWVudHMvCgo+IAo+IFNvLCB0aGlzIHBhdGNoIGFkZHMgdGhlIGZvbGxvd2luZzoKPiAx LiBBIGNvbW1vbiBzdHJ1Y3R1cmUgImlvbW11X2Z3c3BlYyIgdG8gaG9sZCB0aGUgdGhlIHBlci1k ZXZpY2UKPiAgICAgZmlybXdhcmUgZGF0YQo+IDIuIE5ldyBtZW1iZXIgImlvbW11X2Z3c3BlYyIg b2Ygc3RydWN0IGRldmljZQo+IDMuIEZ1bmN0aW9ucy9oZWxwZXJzIHRvIGRlYWwgd2l0aCAiZGV2 LT5pb21tdV9md3NwZWMiCj4gCj4gSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgaW4gY29tcGFyaW5n IHdpdGggb3JpZ2luYWwgImlvbW11X2Z3c3BlYyIKPiBYZW4ncyB2YXJpYW50IGRvZXNuJ3QgY29u dGFpbiBzb21lIGZpZWxkcywgd2hpY2ggYXJlIG5vdCByZWFsbHkKPiBuZWVkZWQgYXQgdGhlIG1v bWVudCAob3BzLCBmbGFnKSBhbmQgImlvbW11X2Z3bm9kZSIgZmllbGQgd2FzIHJlcGxhY2VkCj4g YnkgImlvbW11X2RldiIgdG8gYXZvaWQgcG9ydGluZyBhIGxvdCBvZiBjb2RlICh0byBzdXBwb3J0 ICJmd25vZGVfaGFuZGxlIikKPiB3aXRoIGxpdHRsZSBiZW5lZml0Lgo+IAo+IE5leHQgcGF0Y2gg aW4gdGhpcyBzZXJpZXMgd2lsbCBtYWtlIHVzZSBvZiB0aGF0IHN1cHBvcnQuCj4gCj4gWzFdIGh0 dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9pb21tdS9pb21tdS50eHQKPiAKPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5r byA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+Cj4gLS0tCj4gICB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9hcm0vTWFrZWZpbGUgICAgICAgfCAgMiArLQo+ICAgeGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvYXJtL2lvbW11X2Z3c3BlYy5jIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL2RldmljZS5oICAgICAgICAgICAgICAgfCAg MSArCj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmggICAgICAgICAgICAgICAgfCAgMiAr Cj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11X2Z3c3BlYy5oICAgICAgICAgfCA2NSArKysr KysrKysrKysrKysrKysrKysKPiAgIDUgZmlsZXMgY2hhbmdlZCwgMTYwIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9hcm0vaW9tbXVfZndzcGVjLmMKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVk ZS9hc20tYXJtL2lvbW11X2Z3c3BlYy5oCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL2FybS9NYWtlZmlsZSBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9NYWtl ZmlsZQo+IGluZGV4IDRhYmI4N2EuLjVmYmFkNDUgMTAwNjQ0Cj4gLS0tIGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYXJtL01ha2VmaWxlCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YXJtL01ha2VmaWxlCj4gQEAgLTEsMiArMSwyIEBACj4gLW9iai15ICs9IGlvbW11Lm8gaW9tbXVf aGVscGVycy5vCj4gK29iai15ICs9IGlvbW11Lm8gaW9tbXVfaGVscGVycy5vIGlvbW11X2Z3c3Bl Yy5vCj4gICBvYmotJChDT05GSUdfQVJNX1NNTVUpICs9IHNtbXUubwo+IGRpZmYgLS1naXQgYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfZndzcGVjLmMgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9hcm0vaW9tbXVfZndzcGVjLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu ZGV4IDAwMDAwMDAuLjM0NzQxOTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYXJtL2lvbW11X2Z3c3BlYy5jCj4gQEAgLTAsMCArMSw5MSBAQAo+ICsvKgo+ ICsgKiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXVfZndzcGVjLmMKPiArICoKPiAr ICogQ29udGFpbnMgZnVuY3Rpb25zIHRvIG1haW50YWluIHBlci1kZXZpY2UgZmlybXdhcmUgZGF0 YQo+ICsgKgo+ICsgKiBCYXNlZCBvbiBMaW51eCdzIGlvbW11X2Z3c3BlYyBzdXBwb3J0IHlvdSBj YW4gZmluZCBhdDoKPiArICogICAgZHJpdmVycy9pb21tdS9pb21tdS5jCj4gKyAqCj4gKyAqIENv cHlyaWdodCAoQykgMjAxOSBFUEFNIFN5c3RlbXMgSW5jLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gKyAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYwo+ICsgKiBMaWNlbnNlLCB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK PiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUKPiArICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMKPiArICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICsgKi8KPiArCj4g KyNpbmNsdWRlIDx4ZW4vbGliLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vaW9tbXUuaD4KClBsZWFzZSBv cmRlciB0aGUgaGVhZGVycyBhbHBoYWJldGljYWxseS4KCk5JVDogQ2FuIHlvdSBhIG5ld2xpbmUg YmV0d2VlbiB4ZW4gYW5kIGFzbSBoZWFkZXJzPwoKPiArI2luY2x1ZGUgPGFzbS9kZXZpY2UuaD4K PiArI2luY2x1ZGUgPGFzbS9pb21tdV9md3NwZWMuaD4KCj4gKwo+ICtpbnQgaW9tbXVfZndzcGVj X2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICppb21tdV9kZXYpCj4gK3sK PiArICAgIHN0cnVjdCBpb21tdV9md3NwZWMgKmZ3c3BlYyA9IGRldl9pb21tdV9md3NwZWNfZ2V0 KGRldik7Cj4gKwo+ICsgICAgaWYgKCBmd3NwZWMgKQo+ICsgICAgICAgIHJldHVybiAwOwo+ICsK PiArICAgIGZ3c3BlYyA9IHh6YWxsb2Moc3RydWN0IGlvbW11X2Z3c3BlYyk7Cj4gKyAgICBpZiAo ICFmd3NwZWMgKQo+ICsgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ICsKPiArICAgIGZ3c3BlYy0+ aW9tbXVfZGV2ID0gaW9tbXVfZGV2Owo+ICsgICAgZGV2X2lvbW11X2Z3c3BlY19zZXQoZGV2LCBm d3NwZWMpOwo+ICsKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lkIGlvbW11X2Z3c3Bl Y19mcmVlKHN0cnVjdCBkZXZpY2UgKmRldikKPiArewo+ICsgICAgc3RydWN0IGlvbW11X2Z3c3Bl YyAqZndzcGVjID0gZGV2X2lvbW11X2Z3c3BlY19nZXQoZGV2KTsKPiArCj4gKyAgICBpZiAoIGZ3 c3BlYyApCgp4ZnJlZSBpcyBhYmxlIHRvIGRlYWwgd2l0aCBOVUxMIHBvaW50ZXIsIHNvIHRoZSBj aGVjayBpcyBub3QgbmVjZXNzYXJ5LgoKPiArICAgIHsKPiArICAgICAgICB4ZnJlZShmd3NwZWMp Owo+ICsgICAgICAgIGRldl9pb21tdV9md3NwZWNfc2V0KGRldiwgTlVMTCk7Cj4gKyAgICB9Cj4g K30KPiArCj4gK2ludCBpb21tdV9md3NwZWNfYWRkX2lkcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVp bnQzMl90ICppZHMsIGludCBudW1faWRzKQoKV2hpbGUgSSByZWFsaXplIHRoZSBwcm90b3R5cGUg aXMgY29taW5nIGZyb20gTGludXgsIG51bV9pZHMgY2Fubm90IGJlIApuZWdhdGl2ZSAodGhlIGNv ZGUgYmVsb3cgd291bGQgbm90IHdvcmsgcHJvcGVybHkpLiBTbyB0aGUgcGFyYW1ldGVyIApzaG91 bGQgYmUgdW5zaWduZWQuCgo+ICt7Cj4gKyAgICBzdHJ1Y3QgaW9tbXVfZndzcGVjICpmd3NwZWMg PSBkZXZfaW9tbXVfZndzcGVjX2dldChkZXYpOwo+ICsgICAgc2l6ZV90IHNpemU7Cj4gKyAgICBp bnQgaTsKCkFueSB2YXJpYWJsZSB0aGF0IGNhbid0IGJlIG5lZ2F0aXZlIHNob3VsZCBiZSB1bnNp Z25lZC4KCj4gKwo+ICsgICAgaWYgKCAhZndzcGVjICkKPiArICAgICAgICByZXR1cm4gLUVJTlZB TDsKPiArCj4gKyAgICBzaXplID0gb2Zmc2V0b2Yoc3RydWN0IGlvbW11X2Z3c3BlYywgaWRzW2Z3 c3BlYy0+bnVtX2lkcyArIG51bV9pZHNdKTsKPiArICAgIGlmICggc2l6ZSA+IHNpemVvZigqZndz cGVjKSApCj4gKyAgICB7Cj4gKyAgICAgICAgZndzcGVjID0gX3hyZWFsbG9jKGZ3c3BlYywgc2l6 ZSwgc2l6ZW9mKHZvaWQgKikpOwo+ICsgICAgICAgIGlmICggIWZ3c3BlYyApCj4gKyAgICAgICAg ICAgIHJldHVybiAtRU5PTUVNOwo+ICsKPiArICAgICAgICBkZXZfaW9tbXVfZndzcGVjX3NldChk ZXYsIGZ3c3BlYyk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgZm9yICggaSA9IDA7IGkgPCBudW1faWRz OyBpKysgKQo+ICsgICAgICAgIGZ3c3BlYy0+aWRzW2Z3c3BlYy0+bnVtX2lkcyArIGldID0gaWRz W2ldOwo+ICsKPiArICAgIGZ3c3BlYy0+bnVtX2lkcyArPSBudW1faWRzOwo+ICsKPiArICAgIHJl dHVybiAwOwo+ICt9Cj4gKwo+ICsvKgo+ICsgKiBMb2NhbCB2YXJpYWJsZXM6Cj4gKyAqIG1vZGU6 IEMKPiArICogYy1maWxlLXN0eWxlOiAiQlNEIgo+ICsgKiBjLWJhc2ljLW9mZnNldDogNAo+ICsg KiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKPiArICogRW5kOgo+ICsgKi8KPiBkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLWFybS9kZXZpY2UuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZGV2aWNl LmgKPiBpbmRleCBlZTFjM2JjLi5lZTdjZmYyIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2Fz bS1hcm0vZGV2aWNlLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RldmljZS5oCj4gQEAg LTE4LDYgKzE4LDcgQEAgc3RydWN0IGRldmljZQo+ICAgICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9k ZSAqb2Zfbm9kZTsgLyogVXNlZCBieSBkcml2ZXJzIGltcG9ydGVkIGZyb20gTGludXggKi8KPiAg ICNlbmRpZgo+ICAgICAgIHN0cnVjdCBkZXZfYXJjaGRhdGEgYXJjaGRhdGE7Cj4gKyAgICBzdHJ1 Y3QgaW9tbXVfZndzcGVjICppb21tdV9md3NwZWM7IC8qIHBlci1kZXZpY2UgSU9NTVUgaW5zdGFu Y2UgZGF0YSAqLwo+ICAgfTsKPiAgIAo+ICAgdHlwZWRlZiBzdHJ1Y3QgZGV2aWNlIGRldmljZV90 Owo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmggYi94ZW4vaW5jbHVk ZS9hc20tYXJtL2lvbW11LmgKPiBpbmRleCAyMGQ4NjVlLi4xODUzYmQ5IDEwMDY0NAo+IC0tLSBh L3hlbi9pbmNsdWRlL2FzbS1hcm0vaW9tbXUuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v aW9tbXUuaAo+IEBAIC0xNCw2ICsxNCw4IEBACj4gICAjaWZuZGVmIF9fQVJDSF9BUk1fSU9NTVVf SF9fCj4gICAjZGVmaW5lIF9fQVJDSF9BUk1fSU9NTVVfSF9fCj4gICAKPiArI2luY2x1ZGUgPGFz bS9pb21tdV9md3NwZWMuaD4KCmlvbW11LmggZG9lcyBub3Qgc2VlbSB0byB1c2UgYW55dGhpbmcg ZGVmaW5lZCBpbiBpb21tdV9md3NwZWMuaC4gU28gd2h5IApkbyB5b3UgaW5jbHVkZSBpdCBoZXJl PwoKPiArCj4gICBzdHJ1Y3QgYXJjaF9pb21tdQo+ICAgewo+ICAgICAgIC8qIFByaXZhdGUgaW5m b3JtYXRpb24gZm9yIHRoZSBJT01NVSBkcml2ZXJzICovCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS1hcm0vaW9tbXVfZndzcGVjLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11X2Z3 c3BlYy5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wNjc2Mjg1Cj4g LS0tIC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vaW9tbXVfZndzcGVjLmgK PiBAQCAtMCwwICsxLDY1IEBACj4gKy8qCj4gKyAqIHhlbi9pbmNsdWRlL2FzbS1hcm0vaW9tbXVf ZndzcGVjLmgKPiArICoKPiArICogQ29udGFpbnMgYSBjb21tb24gc3RydWN0dXJlIHRvIGhvbGQg dGhlIHBlci1kZXZpY2UgZmlybXdhcmUgZGF0YSBhbmQKPiArICogZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb25zIHVzZWQgdG8gbWFpbnRhaW4gdGhhdCBkYXRhCj4gKyAqCj4gKyAqIEJhc2VkIG9uIExp bnV4J3MgaW9tbXVfZndzcGVjIHN1cHBvcnQgeW91IGNhbiBmaW5kIGF0Ogo+ICsgKiAgICBpbmNs dWRlL2xpbnV4L2lvbW11LmgKPiArICoKPiArICogQ29weXJpZ2h0IChDKSAyMDE5IEVQQU0gU3lz dGVtcyBJbmMuCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiArICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCj4gKyAqIExpY2Vuc2Us IHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u Cj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQo+ICsgKiBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gKyAqCj4gKyAqIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwo+ICsgKiBM aWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBfX0FSQ0hfQVJNX0lPTU1V X0ZXU1BFQ19IX18KPiArI2RlZmluZSBfX0FSQ0hfQVJNX0lPTU1VX0ZXU1BFQ19IX18KPiArCj4g Ky8qIHBlci1kZXZpY2UgSU9NTVUgaW5zdGFuY2UgZGF0YSAqLwo+ICtzdHJ1Y3QgaW9tbXVfZndz cGVjIHsKPiArICAgIC8qIGRldmljZSB3aGljaCByZXByZXNlbnRzIHRoaXMgSU9NTVUgSC9XICov CgpEaWQgeW91IGludGVuZCB0byBzYXkgInRoaXMgZGV2aWNlJ3MgSU9NTVUiPwoKPiArICAgIHN0 cnVjdCBkZXZpY2UgKmlvbW11X2RldjsKPiArICAgIC8qIElPTU1VIGRyaXZlciBwcml2YXRlIGRh dGEgZm9yIHRoaXMgZGV2aWNlICovCj4gKyAgICB2b2lkICppb21tdV9wcml2Owo+ICsgICAgLyog bnVtYmVyIG9mIGFzc29jaWF0ZWQgZGV2aWNlIElEcyAqLwo+ICsgICAgdW5zaWduZWQgaW50IG51 bV9pZHM7Cj4gKyAgICAvKiBJRHMgd2hpY2ggdGhpcyBkZXZpY2UgbWF5IHByZXNlbnQgdG8gdGhl IElPTU1VICovCj4gKyAgICB1aW50MzJfdCBpZHNbMV07Cj4gK307Cj4gKwo+ICtpbnQgaW9tbXVf ZndzcGVjX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICppb21tdV9kZXYp Owo+ICt2b2lkIGlvbW11X2Z3c3BlY19mcmVlKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gK2ludCBp b21tdV9md3NwZWNfYWRkX2lkcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVpbnQzMl90ICppZHMsIGlu dCBudW1faWRzKTsKPiArCj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGlvbW11X2Z3c3BlYyAqZGV2 X2lvbW11X2Z3c3BlY19nZXQoc3RydWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKyAgICByZXR1cm4g ZGV2LT5pb21tdV9md3NwZWM7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBkZXZfaW9t bXVfZndzcGVjX3NldChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaW9tbXVfZndzcGVjICpmd3NwZWMpCj4gK3sKPiAr ICAgIGRldi0+aW9tbXVfZndzcGVjID0gZndzcGVjOwo+ICt9Cj4gKwo+ICsjZW5kaWYgLyogX19B UkNIX0FSTV9JT01NVV9GV1NQRUNfSF9fICovCj4gKwo+ICsvKgo+ICsgKiBMb2NhbCB2YXJpYWJs ZXM6Cj4gKyAqIG1vZGU6IEMKPiArICogYy1maWxlLXN0eWxlOiAiQlNEIgo+ICsgKiBjLWJhc2lj LW9mZnNldDogNAo+ICsgKiB0YWItd2lkdGg6IDQKPiArICogaW5kZW50LXRhYnMtbW9kZTogbmls Cj4gKyAqIEVuZDoKPiArICovCj4gCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs