From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 08/10] xen/arm: keep track of reserved-memory regions Date: Tue, 7 May 2019 18:21:02 +0100 Message-ID: <64029b1d-73dd-82de-a83e-0116c991606b@arm.com> References: <1556658172-8824-8-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hO3m6-0005v8-RX for xen-devel@lists.xenproject.org; Tue, 07 May 2019 17:21:06 +0000 In-Reply-To: <1556658172-8824-8-git-send-email-sstabellini@kernel.org> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Stefano Stabellini , xen-devel@lists.xenproject.org Cc: Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGksCgpTb21lIG1vcmUgcmV2aWV3IG9uIHRoaXMgcGF0Y2guCgpPbiA0LzMwLzE5IDEwOjAyIFBN LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6Cj4gQXMgd2UgcGFyc2UgdGhlIGRldmljZSB0cmVl IGluIFhlbiwga2VlcCB0cmFjayBvZiB0aGUgcmVzZXJ2ZWQtbWVtb3J5Cj4gcmVnaW9ucyBhcyB0 aGV5IG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQgKGZvbGxvdy11cCBwYXRjaGVzIHdpbGwgbWFrZSB1 c2UKPiBvZiB0aGUgc3RvcmVkIGluZm9ybWF0aW9uLikKPiAKPiBSZXVzZSBwcm9jZXNzX21lbW9y eV9ub2RlIHRvIGFkZCByZXNlcnZlZC1tZW1vcnkgcmVnaW9ucyB0byB0aGUKPiBib290aW5mby5y ZXNlcnZlZF9tZW0gYXJyYXkuIFJlbW92ZSB0aGUgd2FybmluZyBpZiB0aGVyZSBpcyBubyByZWcg aW4KPiBwcm9jZXNzX21lbW9yeV9ub2RlIGJlY2F1c2UgaXQgaXMgYSBub3JtYWwgY29uZGl0aW9u IGZvcgo+IHJlc2VydmVkLW1lbW9yeS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJl bGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+Cj4gCj4gLS0tCj4gCj4gTm90IGRvbmU6IGNyZWF0 ZSBhbiBlODIwLWxpa2Ugc3RydWN0dXJlIG9uIEFSTS4KPiAKPiBDaGFuZ2VzIGluIHYyOgo+IC0g Y2FsbCBwcm9jZXNzX21lbW9yeV9ub2RlIGZyb20gcHJvY2Vzc19yZXNlcnZlZF9tZW1vcnlfbm9k ZSB0byBhdm9pZAo+ICAgIGR1cGxpY2F0aW9uCj4gLS0tCj4gICB4ZW4vYXJjaC9hcm0vYm9vdGZk dC5jICAgICAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgIHhlbi9pbmNs dWRlL2FzbS1hcm0vc2V0dXAuaCB8ICAxICsKPiAgIDIgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jv b3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKPiBpbmRleCBiNjYwMGFiLi45MzU1YTZl IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKPiArKysgYi94ZW4vYXJjaC9h cm0vYm9vdGZkdC5jCj4gQEAgLTEzNSw2ICsxMzUsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwcm9j ZXNzX21lbW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCj4gICAgICAgY29uc3Qg X19iZTMyICpjZWxsOwo+ICAgICAgIHBhZGRyX3Qgc3RhcnQsIHNpemU7Cj4gICAgICAgdTMyIHJl Z19jZWxscyA9IGFkZHJlc3NfY2VsbHMgKyBzaXplX2NlbGxzOwo+ICsgICAgc3RydWN0IG1lbWlu Zm8gKm1lbTsKPiArICAgIGJvb2wgcmVzZXJ2ZWQgPSAoYm9vbClkYXRhOwo+ICAgCj4gICAgICAg aWYgKCBhZGRyZXNzX2NlbGxzIDwgMSB8fCBzaXplX2NlbGxzIDwgMSApCj4gICAgICAgewo+IEBA IC0xNDMsMjkgKzE0NSwzOSBAQCBzdGF0aWMgaW50IF9faW5pdCBwcm9jZXNzX21lbW9yeV9ub2Rl KGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCj4gICAgICAgICAgIHJldHVybiAwOwo+ICAgICAg IH0KPiAgIAo+ICsgICAgaWYgKCByZXNlcnZlZCApCj4gKyAgICAgICAgbWVtID0gJmJvb3RpbmZv LnJlc2VydmVkX21lbTsKPiArICAgIGVsc2UKPiArICAgICAgICBtZW0gPSAmYm9vdGluZm8ubWVt Owo+ICsKPiAgICAgICBwcm9wID0gZmR0X2dldF9wcm9wZXJ0eShmZHQsIG5vZGUsICJyZWciLCBO VUxMKTsKPiAgICAgICBpZiAoICFwcm9wICkKPiAtICAgIHsKPiAtICAgICAgICBwcmludGsoImZk dDogbm9kZSBgJXMnOiBtaXNzaW5nIGByZWcnIHByb3BlcnR5XG4iLCBuYW1lKTsKPiAgICAgICAg ICAgcmV0dXJuIDA7Cj4gLSAgICB9Cj4gICAKPiAgICAgICBjZWxsID0gKGNvbnN0IF9fYmUzMiAq KXByb3AtPmRhdGE7Cj4gICAgICAgYmFua3MgPSBmZHQzMl90b19jcHUocHJvcC0+bGVuKSAvIChy ZWdfY2VsbHMgKiBzaXplb2YgKHUzMikpOwo+ICAgCj4gLSAgICBmb3IgKCBpID0gMDsgaSA8IGJh bmtzICYmIGJvb3RpbmZvLm1lbS5ucl9iYW5rcyA8IE5SX01FTV9CQU5LUzsgaSsrICkKPiArICAg IGZvciAoIGkgPSAwOyBpIDwgYmFua3MgJiYgbWVtLT5ucl9iYW5rcyA8IE5SX01FTV9CQU5LUzsg aSsrICkKPiAgICAgICB7Cj4gICAgICAgICAgIGRldmljZV90cmVlX2dldF9yZWcoJmNlbGwsIGFk ZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsICZzdGFydCwgJnNpemUpOwo+ICAgICAgICAgICBpZiAo ICFzaXplICkKPiAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+IC0gICAgICAgIGJvb3RpbmZvLm1l bS5iYW5rW2Jvb3RpbmZvLm1lbS5ucl9iYW5rc10uc3RhcnQgPSBzdGFydDsKPiAtICAgICAgICBi b290aW5mby5tZW0uYmFua1tib290aW5mby5tZW0ubnJfYmFua3NdLnNpemUgPSBzaXplOwo+IC0g ICAgICAgIGJvb3RpbmZvLm1lbS5ucl9iYW5rcysrOwo+ICsgICAgICAgIG1lbS0+YmFua1ttZW0t Pm5yX2JhbmtzXS5zdGFydCA9IHN0YXJ0Owo+ICsgICAgICAgIG1lbS0+YmFua1ttZW0tPm5yX2Jh bmtzXS5zaXplID0gc2l6ZTsKPiArICAgICAgICBtZW0tPm5yX2JhbmtzKys7Cj4gICAgICAgfQo+ ICAgCj4gICAgICAgcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiArc3RhdGljIGludCBfX2luaXQgcHJv Y2Vzc19yZXNlcnZlZF9tZW1vcnlfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg Km5hbWUsIGludCBkZXB0aCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1MzIgYWRkcmVzc19jZWxscywgdTMyIHNpemVfY2VsbHMpCj4gK3sKPiArICAg IGRldmljZV90cmVlX2Zvcl9lYWNoX25vZGUoZmR0LCBub2RlLCBkZXB0aCwgcHJvY2Vzc19tZW1v cnlfbm9kZSwgKHZvaWQqKXRydWUpOwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gICBzdGF0 aWMgdm9pZCBfX2luaXQgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQsIGlu dCBub2RlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqbmFtZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHUzMiBhZGRyZXNzX2NlbGxzLCB1MzIgc2l6ZV9jZWxscykKPiBAQCAtMjk3LDcgKzMwOSw5 IEBAIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3NjYW5fbm9kZShjb25zdCB2b2lkICpmZHQsCj4g ICB7Cj4gICAgICAgaWYgKCBkZXZpY2VfdHJlZV9ub2RlX21hdGNoZXMoZmR0LCBub2RlLCAibWVt b3J5IikgKQo+ICAgICAgICAgICBwcm9jZXNzX21lbW9yeV9ub2RlKGZkdCwgbm9kZSwgbmFtZSwg ZGVwdGgsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKilmYWxz ZSk7Cj4gKyAgICBlbHNlIGlmICggZGV2aWNlX3RyZWVfbm9kZV9tYXRjaGVzKGZkdCwgbm9kZSwg InJlc2VydmVkLW1lbW9yeSIpICkKPiArICAgICAgICBwcm9jZXNzX3Jlc2VydmVkX21lbW9yeV9u b2RlKGZkdCwgbm9kZSwgbmFtZSwgZGVwdGgsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMpOwoK VGhpcyB3aWxsIG1hdGNoIHJlc2VydmVkLW1lbW9yeUAuLi4gb3IgZXZlbiAvZm9vL3Jlc2VydmVk LW1lbW9yeS4gSGVyZSwgCndlIG9ubHkgd2FudCB0byBtYXRjaCAvcmVzZXJ2ZWQtbWVtb3J5LgoK PiAgICAgICBlbHNlIGlmICggZGVwdGggPD0gMyAmJiAoZGV2aWNlX3RyZWVfbm9kZV9jb21wYXRp YmxlKGZkdCwgbm9kZSwgInhlbixtdWx0aWJvb3QtbW9kdWxlIiApIHx8Cj4gICAgICAgICAgICAg ICAgIGRldmljZV90cmVlX25vZGVfY29tcGF0aWJsZShmZHQsIG5vZGUsICJtdWx0aWJvb3QsbW9k dWxlIiApKSkKPiAgICAgICAgICAgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShmZHQsIG5vZGUsIG5h bWUsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMpOwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKPiBpbmRleCA0 ODE4N2UxLi41YzNmYzJkIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAu aAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAo+IEBAIC02Niw2ICs2Niw3IEBA IHN0cnVjdCBib290Y21kbGluZXMgewo+ICAgCj4gICBzdHJ1Y3QgYm9vdGluZm8gewo+ICAgICAg IHN0cnVjdCBtZW1pbmZvIG1lbTsKPiArICAgIHN0cnVjdCBtZW1pbmZvIHJlc2VydmVkX21lbTsK PiAgICAgICBzdHJ1Y3QgYm9vdG1vZHVsZXMgbW9kdWxlczsKPiAgICAgICBzdHJ1Y3QgYm9vdGNt ZGxpbmVzIGNtZGxpbmVzOwo+ICAgI2lmZGVmIENPTkZJR19BQ1BJCj4gCgpDaGVlcnMsCgotLSAK SnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs 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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 CA280C004C9 for ; Tue, 7 May 2019 17:21:24 +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 A41EB205ED for ; Tue, 7 May 2019 17:21:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A41EB205ED 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 1hO3m7-0005vD-Pz; Tue, 07 May 2019 17:21:07 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hO3m6-0005v8-RX for xen-devel@lists.xenproject.org; Tue, 07 May 2019 17:21:06 +0000 X-Inumbo-ID: 7ec72f7c-70ec-11e9-843c-bc764e045a96 Received: from foss.arm.com (unknown [217.140.101.70]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id 7ec72f7c-70ec-11e9-843c-bc764e045a96; Tue, 07 May 2019 17:21:05 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2858AA78; Tue, 7 May 2019 10:21:05 -0700 (PDT) Received: from [10.37.8.6] (unknown [10.37.8.6]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E51723F5AF; Tue, 7 May 2019 10:21:03 -0700 (PDT) To: Stefano Stabellini , xen-devel@lists.xenproject.org References: <1556658172-8824-8-git-send-email-sstabellini@kernel.org> From: Julien Grall Message-ID: <64029b1d-73dd-82de-a83e-0116c991606b@arm.com> Date: Tue, 7 May 2019 18:21:02 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <1556658172-8824-8-git-send-email-sstabellini@kernel.org> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH v2 08/10] xen/arm: keep track of reserved-memory regions 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: Stefano Stabellini Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8"; format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190507172102.Bu4pzF2eD3kug3fK7pnZbaN7Pa2UFheOQabqVud_II4@z> SGksCgpTb21lIG1vcmUgcmV2aWV3IG9uIHRoaXMgcGF0Y2guCgpPbiA0LzMwLzE5IDEwOjAyIFBN LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6Cj4gQXMgd2UgcGFyc2UgdGhlIGRldmljZSB0cmVl IGluIFhlbiwga2VlcCB0cmFjayBvZiB0aGUgcmVzZXJ2ZWQtbWVtb3J5Cj4gcmVnaW9ucyBhcyB0 aGV5IG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQgKGZvbGxvdy11cCBwYXRjaGVzIHdpbGwgbWFrZSB1 c2UKPiBvZiB0aGUgc3RvcmVkIGluZm9ybWF0aW9uLikKPiAKPiBSZXVzZSBwcm9jZXNzX21lbW9y eV9ub2RlIHRvIGFkZCByZXNlcnZlZC1tZW1vcnkgcmVnaW9ucyB0byB0aGUKPiBib290aW5mby5y ZXNlcnZlZF9tZW0gYXJyYXkuIFJlbW92ZSB0aGUgd2FybmluZyBpZiB0aGVyZSBpcyBubyByZWcg aW4KPiBwcm9jZXNzX21lbW9yeV9ub2RlIGJlY2F1c2UgaXQgaXMgYSBub3JtYWwgY29uZGl0aW9u IGZvcgo+IHJlc2VydmVkLW1lbW9yeS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJl bGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+Cj4gCj4gLS0tCj4gCj4gTm90IGRvbmU6IGNyZWF0 ZSBhbiBlODIwLWxpa2Ugc3RydWN0dXJlIG9uIEFSTS4KPiAKPiBDaGFuZ2VzIGluIHYyOgo+IC0g Y2FsbCBwcm9jZXNzX21lbW9yeV9ub2RlIGZyb20gcHJvY2Vzc19yZXNlcnZlZF9tZW1vcnlfbm9k ZSB0byBhdm9pZAo+ICAgIGR1cGxpY2F0aW9uCj4gLS0tCj4gICB4ZW4vYXJjaC9hcm0vYm9vdGZk dC5jICAgICAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgIHhlbi9pbmNs dWRlL2FzbS1hcm0vc2V0dXAuaCB8ICAxICsKPiAgIDIgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jv b3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKPiBpbmRleCBiNjYwMGFiLi45MzU1YTZl IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKPiArKysgYi94ZW4vYXJjaC9h cm0vYm9vdGZkdC5jCj4gQEAgLTEzNSw2ICsxMzUsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwcm9j ZXNzX21lbW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCj4gICAgICAgY29uc3Qg X19iZTMyICpjZWxsOwo+ICAgICAgIHBhZGRyX3Qgc3RhcnQsIHNpemU7Cj4gICAgICAgdTMyIHJl Z19jZWxscyA9IGFkZHJlc3NfY2VsbHMgKyBzaXplX2NlbGxzOwo+ICsgICAgc3RydWN0IG1lbWlu Zm8gKm1lbTsKPiArICAgIGJvb2wgcmVzZXJ2ZWQgPSAoYm9vbClkYXRhOwo+ICAgCj4gICAgICAg aWYgKCBhZGRyZXNzX2NlbGxzIDwgMSB8fCBzaXplX2NlbGxzIDwgMSApCj4gICAgICAgewo+IEBA IC0xNDMsMjkgKzE0NSwzOSBAQCBzdGF0aWMgaW50IF9faW5pdCBwcm9jZXNzX21lbW9yeV9ub2Rl KGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCj4gICAgICAgICAgIHJldHVybiAwOwo+ICAgICAg IH0KPiAgIAo+ICsgICAgaWYgKCByZXNlcnZlZCApCj4gKyAgICAgICAgbWVtID0gJmJvb3RpbmZv LnJlc2VydmVkX21lbTsKPiArICAgIGVsc2UKPiArICAgICAgICBtZW0gPSAmYm9vdGluZm8ubWVt Owo+ICsKPiAgICAgICBwcm9wID0gZmR0X2dldF9wcm9wZXJ0eShmZHQsIG5vZGUsICJyZWciLCBO VUxMKTsKPiAgICAgICBpZiAoICFwcm9wICkKPiAtICAgIHsKPiAtICAgICAgICBwcmludGsoImZk dDogbm9kZSBgJXMnOiBtaXNzaW5nIGByZWcnIHByb3BlcnR5XG4iLCBuYW1lKTsKPiAgICAgICAg ICAgcmV0dXJuIDA7Cj4gLSAgICB9Cj4gICAKPiAgICAgICBjZWxsID0gKGNvbnN0IF9fYmUzMiAq KXByb3AtPmRhdGE7Cj4gICAgICAgYmFua3MgPSBmZHQzMl90b19jcHUocHJvcC0+bGVuKSAvIChy ZWdfY2VsbHMgKiBzaXplb2YgKHUzMikpOwo+ICAgCj4gLSAgICBmb3IgKCBpID0gMDsgaSA8IGJh bmtzICYmIGJvb3RpbmZvLm1lbS5ucl9iYW5rcyA8IE5SX01FTV9CQU5LUzsgaSsrICkKPiArICAg IGZvciAoIGkgPSAwOyBpIDwgYmFua3MgJiYgbWVtLT5ucl9iYW5rcyA8IE5SX01FTV9CQU5LUzsg aSsrICkKPiAgICAgICB7Cj4gICAgICAgICAgIGRldmljZV90cmVlX2dldF9yZWcoJmNlbGwsIGFk ZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsICZzdGFydCwgJnNpemUpOwo+ICAgICAgICAgICBpZiAo ICFzaXplICkKPiAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+IC0gICAgICAgIGJvb3RpbmZvLm1l bS5iYW5rW2Jvb3RpbmZvLm1lbS5ucl9iYW5rc10uc3RhcnQgPSBzdGFydDsKPiAtICAgICAgICBi b290aW5mby5tZW0uYmFua1tib290aW5mby5tZW0ubnJfYmFua3NdLnNpemUgPSBzaXplOwo+IC0g ICAgICAgIGJvb3RpbmZvLm1lbS5ucl9iYW5rcysrOwo+ICsgICAgICAgIG1lbS0+YmFua1ttZW0t Pm5yX2JhbmtzXS5zdGFydCA9IHN0YXJ0Owo+ICsgICAgICAgIG1lbS0+YmFua1ttZW0tPm5yX2Jh bmtzXS5zaXplID0gc2l6ZTsKPiArICAgICAgICBtZW0tPm5yX2JhbmtzKys7Cj4gICAgICAgfQo+ ICAgCj4gICAgICAgcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiArc3RhdGljIGludCBfX2luaXQgcHJv Y2Vzc19yZXNlcnZlZF9tZW1vcnlfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg Km5hbWUsIGludCBkZXB0aCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1MzIgYWRkcmVzc19jZWxscywgdTMyIHNpemVfY2VsbHMpCj4gK3sKPiArICAg IGRldmljZV90cmVlX2Zvcl9lYWNoX25vZGUoZmR0LCBub2RlLCBkZXB0aCwgcHJvY2Vzc19tZW1v cnlfbm9kZSwgKHZvaWQqKXRydWUpOwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gICBzdGF0 aWMgdm9pZCBfX2luaXQgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQsIGlu dCBub2RlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqbmFtZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHUzMiBhZGRyZXNzX2NlbGxzLCB1MzIgc2l6ZV9jZWxscykKPiBAQCAtMjk3LDcgKzMwOSw5 IEBAIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3NjYW5fbm9kZShjb25zdCB2b2lkICpmZHQsCj4g ICB7Cj4gICAgICAgaWYgKCBkZXZpY2VfdHJlZV9ub2RlX21hdGNoZXMoZmR0LCBub2RlLCAibWVt b3J5IikgKQo+ICAgICAgICAgICBwcm9jZXNzX21lbW9yeV9ub2RlKGZkdCwgbm9kZSwgbmFtZSwg ZGVwdGgsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKilmYWxz ZSk7Cj4gKyAgICBlbHNlIGlmICggZGV2aWNlX3RyZWVfbm9kZV9tYXRjaGVzKGZkdCwgbm9kZSwg InJlc2VydmVkLW1lbW9yeSIpICkKPiArICAgICAgICBwcm9jZXNzX3Jlc2VydmVkX21lbW9yeV9u b2RlKGZkdCwgbm9kZSwgbmFtZSwgZGVwdGgsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMpOwoK VGhpcyB3aWxsIG1hdGNoIHJlc2VydmVkLW1lbW9yeUAuLi4gb3IgZXZlbiAvZm9vL3Jlc2VydmVk LW1lbW9yeS4gSGVyZSwgCndlIG9ubHkgd2FudCB0byBtYXRjaCAvcmVzZXJ2ZWQtbWVtb3J5LgoK PiAgICAgICBlbHNlIGlmICggZGVwdGggPD0gMyAmJiAoZGV2aWNlX3RyZWVfbm9kZV9jb21wYXRp YmxlKGZkdCwgbm9kZSwgInhlbixtdWx0aWJvb3QtbW9kdWxlIiApIHx8Cj4gICAgICAgICAgICAg ICAgIGRldmljZV90cmVlX25vZGVfY29tcGF0aWJsZShmZHQsIG5vZGUsICJtdWx0aWJvb3QsbW9k dWxlIiApKSkKPiAgICAgICAgICAgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShmZHQsIG5vZGUsIG5h bWUsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMpOwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKPiBpbmRleCA0 ODE4N2UxLi41YzNmYzJkIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAu aAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAo+IEBAIC02Niw2ICs2Niw3IEBA IHN0cnVjdCBib290Y21kbGluZXMgewo+ICAgCj4gICBzdHJ1Y3QgYm9vdGluZm8gewo+ICAgICAg IHN0cnVjdCBtZW1pbmZvIG1lbTsKPiArICAgIHN0cnVjdCBtZW1pbmZvIHJlc2VydmVkX21lbTsK PiAgICAgICBzdHJ1Y3QgYm9vdG1vZHVsZXMgbW9kdWxlczsKPiAgICAgICBzdHJ1Y3QgYm9vdGNt ZGxpbmVzIGNtZGxpbmVzOwo+ICAgI2lmZGVmIENPTkZJR19BQ1BJCj4gCgpDaGVlcnMsCgotLSAK SnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs