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, 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 6B3EAC4740A for ; Mon, 9 Sep 2019 15:05:16 +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 421AD2086D for ; Mon, 9 Sep 2019 15:05:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 421AD2086D 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 1i7LDq-0005Il-Pz; Mon, 09 Sep 2019 15:04:54 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i7LDp-0005Ig-0w for xen-devel@lists.xenproject.org; Mon, 09 Sep 2019 15:04:53 +0000 X-Inumbo-ID: 2c4e4082-d313-11e9-a337-bc764e2007e4 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 2c4e4082-d313-11e9-a337-bc764e2007e4; Mon, 09 Sep 2019 15:04:51 +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 0F098169E; Mon, 9 Sep 2019 08:04:51 -0700 (PDT) Received: from [10.37.12.117] (unknown [10.37.12.117]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3BBD83F59C; Mon, 9 Sep 2019 08:04:49 -0700 (PDT) To: Oleksandr Tyshchenko , xen-devel@lists.xenproject.org References: <1566324587-3442-1-git-send-email-olekstysh@gmail.com> <1566324587-3442-8-git-send-email-olekstysh@gmail.com> From: Julien Grall Message-ID: <17ed5e35-94e5-69a7-67f1-6978c50fea09@arm.com> Date: Mon, 9 Sep 2019 16:04:47 +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: <1566324587-3442-8-git-send-email-olekstysh@gmail.com> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH V3 7/8] iommu/arm: Introduce iommu_add_dt_device API 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" SGkgT2xla3NhbmRyLAoKT24gOC8yMC8xOSA3OjA5IFBNLCBPbGVrc2FuZHIgVHlzaGNoZW5rbyB3 cm90ZToKPiBGcm9tOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29A ZXBhbS5jb20+Cj4gCj4gVGhpcyBwYXRjaCBhZGRzIG5ldyBpb21tdV9hZGRfZHRfZGV2aWNlIEFQ SSBmb3IgYWRkaW5nIERUIGRldmljZQo+IHRvIHRoZSBJT01NVSB1c2luZyBnZW5lcmljIElPTU1V IERUIGJpbmRpbmdzIFsxXSBhbmQgcHJldmlvdXNseQo+IGFkZGVkICJpb21tdV9md3NwZWMiIHN1 cHBvcnQgYW5kICJhZGRfZGV2aWNlL29mX3hsYXRlIiBjYWxsYmFja3MuCj4gCj4gTmV3IGZ1bmN0 aW9uIGRvZXMgdGhlIGZvbGxvd2luZzoKPiAtIFBhcnNlIHRoZSBEVCBiaW5kaW5ncyBhY2NvcmRp bmcgdG8gdGhlIHNwZWNpZmljYXRpb24KPiAtIFByb3ZpZGUgRFQgSU9NTVUgc3BlY2lmaWVyIHdo aWNoIGRlc2NyaWJlcyB0aGUgSU9NTVUgbWFzdGVyCj4gICAgaW50ZXJmYWNlcyBvZiB0aGF0IGRl dmljZSAoZGV2aWNlIElEcywgZXRjKSB0byB0aGUgZHJpdmVyCj4gLSBBZGQgbWFzdGVyIGRldmlj ZSB0byB0aGUgSU9NTVUgaWYgbGF0dGVyIGlzIHByZXNlbnQgYW5kIGF2YWlsYWJsZQo+IAo+IFRo ZSBhZGRpdGlvbmFsIGJlbmVmaXQgaGVyZSBpcyB0byBhdm9pZCB0byBnbyB0aHJvdWdoIHRoZSB3 aG9sZSBEVAo+IG11bHRpcGxlIHRpbWVzIGluIElPTU1VIGRyaXZlciB0cnlpbmcgdG8gbG9jYXRl IG1hc3RlciBkZXZpY2VzIHdoaWNoCj4gYmVsb25nIHRvIGVhY2ggSU9NTVUgZGV2aWNlIGJlaW5n IHByb2JlZC4KClNvIHRoZSBjb21taXQgdGl0bGUvbWVzc2FnZSBkZXNjcmliZXMgdGhlIG5ldyBm dW5jdGlvbiAKaW9tbXVfYWRkX2R0X2RldmljZSwgYnV0IG5vdCB0aGUgbWFpbiBpbXBvcnRhbnQg dGhpbmcgaS5lLiAiV2h5IGlzIGl0IApjYWxsZWQgd2hlbiBidWlsZGluZyBkb20wIi4KCldoaWxl IEkgYWdyZWUgdGhlIG5ldyBmdW5jdGlvbiBpcyB0aGUgYmlnIHBhcnQgb2YgdGhlIGZ1bmN0aW9u IHdoYXQgCm1hdHRlciBpcyB3ZSBuZWVkIHRvIHJlZ2lzdGVyIGRldmljZSB1c2luZyB0aGUgZ2Vu ZXJpYyBJT01NVSBiaW5kaW5ncyAKYmVmb3JlIGFzc2lnbmluZyB0aGUgZGV2aWNlIHRvIGEgZG9t YWluLiBUaGUgc3BsaXQgaXMgdG8ga2VlcCBzZXBhcmF0ZSAKImFkZCIgYW5kICJhc3NpZ24iLiBU aGUgbGF0ZXIgY2FuIGJlIGNhbGxlZCBmcm9tIGRvbTAuCgo+IAo+IFsxXSBodHRwczovL3d3dy5r ZXJuZWwub3JnL2RvYy9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaW9tbXUvaW9t bXUudHh0Cj4gCj4gU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5k cl90eXNoY2hlbmtvQGVwYW0uY29tPgo+IENDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBh cm0uY29tPgo+IAo+IC0tLQo+IENoYW5nZXMgVjIgLT4gVjM6Cj4gICAgICAtIGNsYXJpZmllZCBw YXRjaCBkZXNjcmlwdGlvbgo+ICAgICAgLSBjbGFyaWZpZWQgY29tbWVudHMgaW4gY29kZQo+ICAg ICAgLSBtb2RpZmllZCB0byBwcm92aWRlIERUIElPTU1VIHNwZWNpZmllciB0byB0aGUgZHJpdmVy Cj4gICAgICAgIHVzaW5nICJvZl94bGF0ZSIgY2FsbGJhY2sKPiAgICAgIC0gZG9jdW1lbnRlZCBm dW5jdGlvbiB1c2FnZQo+ICAgICAgLSBtb2RpZmllZCB0byByZXR1cm4gYW4gZXJyb3IgaWYgb3Bz IGlzIG5vdCBwcmVzZW50L2ltcGxlbWVudGVkLAo+ICAgICAgLSBhZGRlZCBhYmlsaXR5IHRvIHJl dHVybiBhIHBvc3NpdGl2ZSB2YWx1ZSB0byBpbmRpY2F0ZQo+ICAgICAgICB0aGF0IGRldmljZSBk b2Vzbid0IG5lZWQgdG8gYmUgcHJvdGVjdGVkCj4gICAgICAtIHJlbW92ZWQgY2hlY2sgZm9yIHRo ZSAiaW9tbXUiIHByb3BlcnR5IHByZXNlbmNlCj4gICAgICAgIGluIHRoZSBjb21tb24gY29kZQo+ ICAgICAgLSBpbmNsdWRlZCA8YXNtL2lvbW11X2Z3c3BlYy5oPiBkaXJlY3RseQo+IC0tLQo+ICAg eGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jICAgICAgICAgfCAxMSArKysrKysrKwo+ICAgeGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMgfCA1NSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmggICAgICAg ICB8IDExICsrKysrKysrCj4gICAzIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKPiAK PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJt L2RvbWFpbl9idWlsZC5jCj4gaW5kZXggZTc5ZDRlMi4uMTU5ZWE2YSAxMDA2NDQKPiAtLS0gYS94 ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1 aWxkLmMKPiBAQCAtMTI0MCw2ICsxMjQwLDcgQEAgc3RhdGljIGludCBfX2luaXQgbWFwX2Rldmlj ZV9jaGlsZHJlbihzdHJ1Y3QgZG9tYWluICpkLAo+ICAgCj4gICAvKgo+ICAgICogRm9yIGEgZ2l2 ZW4gZGV2aWNlIG5vZGU6Cj4gKyAqICAtIFRyeSB0byBjYWxsIGlvbW11X2FkZF9kdF9kZXZpY2Ug dG8gcHJvdGVjdCB0aGUgZGV2aWNlIGJ5IGFuIElPTU1VCj4gICAgKiAgLSBHaXZlIHBlcm1pc3Np b24gdG8gdGhlIGd1ZXN0IHRvIG1hbmFnZSBJUlEgYW5kIE1NSU8gcmFuZ2UKPiAgICAqICAtIFJl dHJpZXZlIHRoZSBJUlEgY29uZmlndXJhdGlvbiAoaS5lIGVkZ2UvbGV2ZWwpIGZyb20gZGV2aWNl IHRyZWUKPiAgICAqIFdoZW4gdGhlIGRldmljZSBpcyBub3QgbWFya2VkIGZvciBndWVzdCBwYXNz dGhyb3VnaDoKPiBAQCAtMTI1Nyw2ICsxMjU4LDE2IEBAIHN0YXRpYyBpbnQgX19pbml0IGhhbmRs ZV9kZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYsCj4g ICAgICAgdTY0IGFkZHIsIHNpemU7Cj4gICAgICAgYm9vbCBuZWVkX21hcHBpbmcgPSAhZHRfZGV2 aWNlX2Zvcl9wYXNzdGhyb3VnaChkZXYpOwo+ICAgCj4gKyAgICBkdF9kcHJpbnRrKCIlcyBhZGQg dG8gaW9tbXVcbiIsIGR0X25vZGVfZnVsbF9uYW1lKGRldikpOwoKVGhpcyBtZXNzYWdlIGlzIHNs aWdodGx5IGNvbmZ1c2luZy4gWW91IGFyZSBub3QgYWRkaW5nIHRoZSBkZXZpY2UsIHlvdSAKYXJl IHRyeWluZyB0by4gU28gaG93IGFib3V0ICJDaGVjayBpZiAlcyBpcyBiZWhpbmQgYW4gSU9NTVUg YW5kIGFkZCBpdCIuCgo+ICsKPiArICAgIHJlcyA9IGlvbW11X2FkZF9kdF9kZXZpY2UoZGV2KTsK PiArICAgIGlmICggcmVzIDwgMCApCj4gKyAgICB7Cj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19F UlIgIkZhaWxlZCB0byBhZGQgJXMgdG8gdGhlIElPTU1VXG4iLAo+ICsgICAgICAgICAgICAgICBk dF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKPiArICAgICAgICByZXR1cm4gcmVzOwo+ICsgICAgfQo+ ICsKPiAgICAgICBuaXJxID0gZHRfbnVtYmVyX29mX2lycShkZXYpOwo+ICAgICAgIG5hZGRyID0g ZHRfbnVtYmVyX29mX2FkZHJlc3MoZGV2KTsKPiAgIAo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9p b21tdS5jCj4gaW5kZXggNzJhMzBlMC4uNDdlNGJjNiAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYwo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2FybS9pb21tdS5jCj4gQEAgLTIwLDYgKzIwLDcgQEAKPiAgICNpbmNsdWRlIDx4ZW4vbGliLmg+ Cj4gICAKPiAgICNpbmNsdWRlIDxhc20vZGV2aWNlLmg+Cj4gKyNpbmNsdWRlIDxhc20vaW9tbXVf ZndzcGVjLmg+Cj4gICAKPiAgIC8qCj4gICAgKiBEZWZlcnJlZCBwcm9iZSBsaXN0IGlzIHVzZWQg dG8ga2VlcCB0cmFjayBvZiBkZXZpY2VzIGZvciB3aGljaCBkcml2ZXIKPiBAQCAtMTM5LDMgKzE0 MCw1NyBAQCBpbnQgYXJjaF9pb21tdV9wb3B1bGF0ZV9wYWdlX3RhYmxlKHN0cnVjdCBkb21haW4g KmQpCj4gICB2b2lkIF9faHdkb21faW5pdCBhcmNoX2lvbW11X2h3ZG9tX2luaXQoc3RydWN0IGRv bWFpbiAqZCkKPiAgIHsKPiAgIH0KPiArCj4gK2ludCBfX2luaXQgaW9tbXVfYWRkX2R0X2Rldmlj ZShzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wKQo+ICt7Cj4gKyAgICBjb25zdCBzdHJ1Y3QgaW9t bXVfb3BzICpvcHMgPSBpb21tdV9nZXRfb3BzKCk7Cj4gKyAgICBzdHJ1Y3QgZHRfcGhhbmRsZV9h cmdzIGlvbW11X3NwZWM7Cj4gKyAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSBkdF90b19kZXYobnAp Owo+ICsgICAgaW50IHJjID0gMSwgaW5kZXggPSAwOwo+ICsKPiArICAgIGlmICggIWlvbW11X2Vu YWJsZWQgKQo+ICsgICAgICAgIHJldHVybiAxOwo+ICsKPiArICAgIGlmICggIW9wcyB8fCAhb3Bz LT5hZGRfZGV2aWNlIHx8ICFvcHMtPm9mX3hsYXRlICkKClRoZSBTTU1VIGRvZXMgbm90IGltcGxl bWVudCBvZl94bGF0ZSgpLiBJdCBpcyBhY3R1YWxseSBvbmx5IG1hbmRhdG9yeSBpZiAKeW91IGFy ZSB1c2luZyB0aGUgZ2VuZXJpYyBiaW5kaW5ncy4gU28gSSB3b3VsZCBvbmx5IGNoZWNrIG9wcy0+ b2ZfeGxhdGUgCmlmICJpb21tdXMiIGV4aXN0cy4KCj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4gKwo+ICsgICAgaWYgKCBkZXZfaW9tbXVfZndzcGVjX2dldChkZXYpICkKPiArICAgICAgICBy ZXR1cm4gLUVFWElTVDsgPiArCj4gKyAgICAvKiBBY2NvcmRpbmcgRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL2lvbW11L2lvbW11LnR4dCBmcm9tIExpbnV4ICovCgpzL0FjY29yZGlu Zy9BY2NvcmRpbmcgdG8vCgo+ICsgICAgd2hpbGUgKCAhZHRfcGFyc2VfcGhhbmRsZV93aXRoX2Fy Z3MobnAsICJpb21tdXMiLCAiI2lvbW11LWNlbGxzIiwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGluZGV4LCAmaW9tbXVfc3BlYykgKQo+ICsgICAgewo+ICsgICAg ICAgIGlmICggIWR0X2RldmljZV9pc19hdmFpbGFibGUoaW9tbXVfc3BlYy5ucCkgKQo+ICsgICAg ICAgICAgICBicmVhazsKPiArCj4gKyAgICAgICAgcmMgPSBpb21tdV9md3NwZWNfaW5pdChkZXYs ICZpb21tdV9zcGVjLm5wLT5kZXYpOwo+ICsgICAgICAgIGlmICggcmMgKQo+ICsgICAgICAgICAg ICBicmVhazsKPiArCj4gKyAgICAgICAgLyoKPiArICAgICAgICAgKiBQcm92aWRlIERUIElPTU1V IHNwZWNpZmllciB3aGljaCBkZXNjcmliZXMgdGhlIElPTU1VIG1hc3Rlcgo+ICsgICAgICAgICAq IGludGVyZmFjZXMgb2YgdGhhdCBkZXZpY2UgKGRldmljZSBJRHMsIGV0YykgdG8gdGhlIGRyaXZl ci4KPiArICAgICAgICAgKiBUaGUgZHJpdmVyJ3MgcmVzcG9uc2liaWxpdHkgaXMgdG8gZGVjaWRl IGhvdyB0byBpbnRlcnByZXQgdGhlbS4KCk5JVDogIlRoZSBkcml2ZXIgaXMgcmVzcG9uc2libGUg dG8gZGVjaWRlLi4uIi4KCj4gKyAgICAgICAgICogSXQgc2hvdWxkIGFsc28gaW5pdGlhbGl6ZS92 ZXJpZnkgdGhhdCBkZXZpY2UuCgpXaGF0IGRvIHlvdSBtZWFuPyBvZl94bGF0ZSBzaG91bGQgbW9z dGx5IHRyYW5zbGF0ZSB0aGUgc3BlY2lmaWVyIHRvIGZ3c3BlYy4KCj4gKyAgICAgICAgICovCj4g KyAgICAgICAgcmMgPSBvcHMtPm9mX3hsYXRlKGRldiwgJmlvbW11X3NwZWMpOwo+ICsgICAgICAg IGlmICggcmMgKQo+ICsgICAgICAgICAgICBicmVhazsKPiArCj4gKyAgICAgICAgaW5kZXgrKzsK PiArICAgIH0KPiArCj4gKyAgICAvKgo+ICsgICAgICogQWRkIG1hc3RlciBkZXZpY2UgdG8gdGhl IElPTU1VIGlmIGxhdHRlciBpcyBwcmVzZW50IGFuZCBhdmFpbGFibGUuCj4gKyAgICAgKiBUaGUg ZHJpdmVyJ3MgcmVzcG9uc2liaWxpdHkgaXMgdG8gY2hlY2sgd2hldGhlciB0aGF0IGRldmljZQo+ ICsgICAgICogd2FzIGluaXRpYWxpemVkL3ZlcmlmaWVkIGJlZm9yZSBhbmQgbWFyayB0aGF0IGRl dmljZSBhcyBwcm90ZWN0ZWQuCgpJIGRvbid0IHVuZGVyc3RhbmQgdGhlIGxhc3Qgc2VudGVuY2Uu IEZvciBtZSwgImRldmljZSIgcmVmZXJzIHRvIHdoYXQncyAKcG9pbnRlZCBieSAiZGV2Ii4gQnV0 IHRoZSBJT01NVSBkcml2ZXIgaXMgbm90IHJlc3BvbnNpYmxlIGZvciAKaW5pdGlhbGl6aW5nIHRo ZSBkZXZpY2UuCgo+ICsgICAgICovCj4gKyAgICBpZiAoICFyYyApCj4gKyAgICAgICAgcmMgPSBv cHMtPmFkZF9kZXZpY2UoMCwgZGV2KTsKPiArCj4gKyAgICBpZiAoIHJjIDwgMCApCj4gKyAgICAg ICAgaW9tbXVfZndzcGVjX2ZyZWUoZGV2KTsKPiArCj4gKyAgICByZXR1cm4gcmM7Cj4gK30KPiBk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9pb21tdS5oIGIveGVuL2luY2x1ZGUvYXNt LWFybS9pb21tdS5oCj4gaW5kZXggMjBkODY1ZS4uZTc1MzU5YyAxMDA2NDQKPiAtLS0gYS94ZW4v aW5jbHVkZS9hc20tYXJtL2lvbW11LmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11 LmgKPiBAQCAtMjYsNiArMjYsMTcgQEAgc3RydWN0IGFyY2hfaW9tbXUKPiAgIGNvbnN0IHN0cnVj dCBpb21tdV9vcHMgKmlvbW11X2dldF9vcHModm9pZCk7Cj4gICB2b2lkIGlvbW11X3NldF9vcHMo Y29uc3Qgc3RydWN0IGlvbW11X29wcyAqb3BzKTsKPiAgIAo+ICsvKgo+ICsgKiBIZWxwZXIgdG8g YWRkIG1hc3RlciBkZXZpY2UgdG8gdGhlIElPTU1VIHVzaW5nIGdlbmVyaWMgSU9NTVUgRFQgYmlu ZGluZ3MuCj4gKyAqCj4gKyAqIFJldHVybiB2YWx1ZXM6Cj4gKyAqICAwIDogZGV2aWNlIGlzIHBy b3RlY3RlZCBieSBhbiBJT01NVQo+ICsgKiA8MCA6IGRldmljZSBpcyBub3QgcHJvdGVjdGVkIGJ5 IGFuIElPTU1VLCBidXQgbXVzdCBiZSAoZXJyb3IgY29uZGl0aW9uKQo+ICsgKiA+MCA6IGRldmlj ZSBkb2Vzbid0IG5lZWQgdG8gYmUgcHJvdGVjdGVkIGJ5IGFuIElPTU1VCj4gKyAqICAgICAgKElP TU1VIGlzIG5vdCBlbmFibGVkL3ByZXNlbnQgb3IgZGV2aWNlIGlzIG5vdCBjb25uZWN0ZWQgdG8g aXQpLgo+ICsgKi8KPiAraW50IGlvbW11X2FkZF9kdF9kZXZpY2Uoc3RydWN0IGR0X2RldmljZV9u b2RlICpucCk7Cj4gKwo+ICAgLyogbWFwcGluZyBoZWxwZXJzICovCj4gICBpbnQgX19tdXN0X2No ZWNrIGFybV9pb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sIG1mbl90 IG1mbiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBmbGFncywKPiAKCkNoZWVycywKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=