From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 5/9] drm/fb-helper: Add generic fbdev emulation .fb_probe function Date: Mon, 7 Jan 2019 11:14:10 +0100 Message-ID: <20190107101410.GB21184@phenom.ffwll.local> References: <20180523143411.64070-1-noralf@tronnes.org> <20180523143411.64070-6-noralf@tronnes.org> <20180524091605.GH3438@phenom.ffwll.local> <8c876daa-5150-009f-af3a-01573144d452@tronnes.org> <20180529075456.GA3438@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: intel-gfx , dri-devel , Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKYW4gMDMsIDIwMTkgYXQgMDY6MDY6NTNQTSArMDEwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IAo+IAo+IERlbiAyOC4xMi4yMDE4IDIxLjM4LCBza3JldiBEYW5pZWwgVmV0dGVy Ogo+ID4gT24gVHVlLCBNYXkgMjksIDIwMTggYXQgOTo1NCBBTSBEYW5pZWwgVmV0dGVyIDxkYW5p ZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gPiAKPiA+ID4gT24gRnJpLCBNYXkgMjUsIDIwMTggYXQg MDI6NDI6MDJQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVzIHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+ IERlbiAyNC4wNS4yMDE4IDExLjE2LCBza3JldiBEYW5pZWwgVmV0dGVyOgo+ID4gPiA+ID4gT24g V2VkLCBNYXkgMjMsIDIwMTggYXQgMDQ6MzQ6MDdQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVzIHdy b3RlOgo+ID4gPiA+ID4gPiBUaGlzIGlzIHRoZSBmaXJzdCBzdGVwIGluIGdldHRpbmcgZ2VuZXJp YyBmYmRldiBlbXVsYXRpb24uCj4gPiA+ID4gPiA+IEEgZHJtX2ZiX2hlbHBlcl9mdW5jcy5mYl9w cm9iZSBmdW5jdGlvbiBpcyBhZGRlZCB3aGljaCB1c2VzIHRoZQo+ID4gPiA+ID4gPiBEUk0gY2xp ZW50IEFQSSB0byBnZXQgYSBmcmFtZWJ1ZmZlciBiYWNrZWQgYnkgYSBkdW1iIGJ1ZmZlci4KPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEEgdHJhbnNpdGlvbmFsIGhhY2sgZm9yIHRpbnlkcm0gaXMg bmVlZGVkIGluIG9yZGVyIHRvIHN3aXRjaCBvdmVyIGFsbAo+ID4gPiA+ID4gPiBDTUEgaGVscGVy IGRyaXZlcnMgaW4gYSBsYXRlciBwYXRjaC4gVGhpcyBoYWNrIHdpbGwgYmUgcmVtb3ZlZCB3aGVu Cj4gPiA+ID4gPiA+IHRpbnlkcm0gbW92ZXMgdG8gdm1hbGxvYyBidWZmZXJzLgo+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJv bm5lcy5vcmc+Cj4gPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2ZiX2hlbHBlci5jIHwgMTY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiA+ID4gPiA+ID4gICAgaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oICAgICB8ICAy NiArKysrKysrCj4gPiA+ID4gPiA+ICAgIDIgZmlsZXMgY2hhbmdlZCwgMTkwIGluc2VydGlvbnMo KykKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4gPiA+ ID4gPiBpbmRleCAyZWUxZWFhNjYxODguLjQ0NGMyYjQwNDBlYSAxMDA2NDQKPiA+ID4gPiA+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4gPiA+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gPiA+ID4gPiA+IEBAIC0zMCwxMSArMzAs MTMgQEAKPiA+ID4gPiA+ID4gICAgI2RlZmluZSBwcl9mbXQoZm10KSBLQlVJTERfTU9ETkFNRSAi OiAiIGZtdAo+ID4gPiA+ID4gPiAgICAjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgo+ID4gPiA+ ID4gPiArI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4KPiA+ID4gPiA+ID4gICAgI2luY2x1ZGUg PGxpbnV4L2tlcm5lbC5oPgo+ID4gPiA+ID4gPiAgICAjaW5jbHVkZSA8bGludXgvc3lzcnEuaD4K PiA+ID4gPiA+ID4gICAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiA+ID4gPiA+ID4gICAgI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ID4gPiA+ID4gPiAgICAjaW5jbHVkZSA8ZHJtL2RybVAu aD4KPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxkcm0vZHJtX2NsaWVudC5oPgo+ID4gPiA+ID4gPiAg ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4gPiA+ID4gPiA+ICAgICNpbmNsdWRlIDxkcm0v ZHJtX2ZiX2hlbHBlci5oPgo+ID4gPiA+ID4gPiAgICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hl bHBlci5oPgo+ID4gPiA+ID4gPiBAQCAtMjkyOCw2ICsyOTMwLDE2OCBAQCB2b2lkIGRybV9mYl9o ZWxwZXJfb3V0cHV0X3BvbGxfY2hhbmdlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ ID4gPiAgICB9Cj4gPiA+ID4gPiA+ICAgIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9vdXRw dXRfcG9sbF9jaGFuZ2VkKTsKPiA+ID4gPiA+ID4gKy8qIEB1c2VyOiAxPXVzZXJzcGFjZSwgMD1m YmNvbiAqLwo+ID4gPiA+ID4gPiArc3RhdGljIGludCBkcm1fZmJkZXZfZmJfb3BlbihzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywgaW50IHVzZXIpCj4gPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiA+ICsgc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciA9IGluZm8tPnBhcjsKPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiArIGlmICghdHJ5X21vZHVsZV9nZXQoZmJfaGVscGVyLT5kZXYtPmRyaXZlci0+ Zm9wcy0+b3duZXIpKQo+ID4gPiA+ID4gPiArICAgICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyByZXR1cm4gMDsKPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ ID4gKwo+ID4gPiA+ID4gPiArc3RhdGljIGludCBkcm1fZmJkZXZfZmJfcmVsZWFzZShzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywgaW50IHVzZXIpCj4gPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiA+ICsgc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciA9IGluZm8tPnBhcjsKPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiArIG1vZHVsZV9wdXQoZmJfaGVscGVyLT5kZXYtPmRyaXZlci0+Zm9wcy0+b3du ZXIpOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgcmV0dXJuIDA7Cj4gPiA+ID4gPiA+ICt9 Cj4gPiA+ID4gPiBIbSwgSSB0aG91Z2h0IGVhcmxpZXIgdmVyc2lvbnMgb2YgeW91ciBwYXRjaCBz ZXJpZXMgaGFkIHRoaXMgc2VwYXJhdGVseSwKPiA+ID4gPiA+IGZvciBldmVyeW9uZS4gV2hhdCdz IHRoZSByZWFzb25zIGZvciBtZXJnaW5nIHRoaXMgaW50byB0aGUgZmJfcHJvYmUKPiA+ID4gPiA+ IGltcGxlbWVudGF0aW9uLgo+ID4gPiA+IAo+ID4gPiA+IFRoaXMgaXMgb25seSBuZWNlc3Nhcnkg d2hlbiBzdHJ1Y3QgZmJfb3BzIGlzIGRlZmluZWQgaW4gYSBsaWJyYXJ5IHdoZXJlCj4gPiA+ID4g dGhlIG93bmVyIGZpZWxkIGlzIHRoZSBsaWJyYXJ5IG1vZHVsZSBhbmQgbm90IHRoZSBkcml2ZXIg bW9kdWxlLgo+ID4gPiA+IEkgcmVhbGlzZWQgdGhhdCB3aXRoIHRoaXMgZ2VuZXJpYyB2ZXJzaW9u IGl0J3MgaGlnaGx5IHVubGlrZWx5IHRoYXQgd2UKPiA+ID4gPiBnZXQgYW5vdGhlciBsaWJyYXJ5 IHRoYXQgZGVmaW5lcyBzdHJ1Y3QgZmJfb3BzLCBzbyBpdCdzIG9ubHkgbmVlZGVkIGhlcmUuCj4g PiA+IAo+ID4gPiBIbSwgSSdtIHN0aWxsIG5vdCAxMDAlIGNvbnZpbmNlZCB3ZSBjYW4gZnVsbHkg c3Vic3VtZSB0aGUgdGlueWRybSBmYmRldgo+ID4gPiBjb2RlIHdpdGggdGhlIGdlbmVyaWMgb25l LCBkdWUgdG8gdGhlIHZhcmlvcyBzbGlnaHQgaXNzdWVzIGFyb3VuZCBkZWZpbwo+ID4gPiB0cmFj a2luZyB0aGF0IHdlIHN0aWxsIGhhdmUuCj4gPiAKPiA+IEkgaGF2ZSBhIG5ldyBpZGVhIGZvciAx MDAlIGdlbmVyaWMgZGVmaW8gc3VwcG9ydCBpbiB0aGUgZmJkZXYgaGVscGVycy4KPiA+IEhhdmVu J3QgdHJpZWQgaXQgdGhvdWdodCwgYnV0IEkgdGhpbmsgdGhpcyBjb3VsZCB3b3JrIGFyb3VuZCB0 aGUKPiA+IHByb2JsZW0gaWYgeW91ciBtbWFwIGlzbid0IHN0cnVjdCBwYWdlIGJhY2tlZDoKPiA+ IAo+ID4gLSBJbiB0aGUgZHJtX2ZiZGV2X2ZiX21tYXAgaGVscGVyLCBpZiB3ZSBuZWVkIGRlZmlv LCBjaGFuZ2UgdGhlCj4gPiBkZWZhdWx0IHBhZ2UgcHJvdHMgdG8gd3JpdGUtcHJvdGVjdGVkIHdp dGggc29tZXRoaW5nIGxpa2UgdGhpczoKPiA+IAo+ID4gdm1hLT52bV9wYWdlX3Byb3QgPSBwZ3By b3Rfd3Jwcm90ZWN0KHZtYS0+dm1fcGFnZV9wcm90KTsKPiA+IAo+ID4gLSBBZnRlciB0aGUgZHJp dmVyJ3MgbW1hcCBmdW5jdGlvbiBjb21wbGV0ZWQsIGNvcHkgdGhlIHZtX29wcwo+ID4gc3RydWN0 dXJlIGFuZCBXQVJOX09OIGlmIGl0IGhhcyBhbiBta3dyaXRlIGFuZCBzeW5jIGNhbGxiYWNrIHNl dC4KPiA+IFRoZXJlJ3Mgbm8gcmVhbCByYWNlIGhlcmUgYXMgbG9uZyBhcyB3ZSBkbyBhbGwgdGhp cyBiZWZvcmUgd2UgcmV0dXJuCj4gPiB0byB1c2Vyc3BhY2UuCj4gPiAKPiA+IC0gU2V0IHRoZSBt a3dyaXRlIGFuZCBmc3luYyBjYWxsYmFja3Mgd2l0aCBzaW1pbGFyIGltcGxlbWVudGlvbnMgdG8K PiA+IHRoZSBjb3JlIGZiZGV2IGRlZmlvIHN0dWZmLiBUaGVzZSBzaG91bGQgYWxsIHdvcmsgb24g cGxhaW4gcHRlcywgdGhleQo+ID4gZG9uJ3QgYWN0dWFsbHkgcmVxdWlyZSBhIHN0cnVjdCBwYWdl Lgo+ID4gdWZmLiBUaGVzZSBzaG91bGQgYWxsIHdvcmsgb24gcGxhaW4gcHRlcywgdGhleSBkb24n dCBhY3R1YWxseSByZXF1aXJlCj4gPiBhIHN0cnVjdCBwYWdlLgo+ID4gCj4gPiAtIFdlIG1pZ2h0 IGFsc28gbmVlZCB0byBvdmVyd3JpdGUgdGhlIHZtYV9vcHMgZmF1bHQgY2FsbGJhY2ssIGp1c3QK PiA+IGZvcndhcmRpbmcgdG8gdGhlIHVuZGVybHlpbmcgdm1hX29wcyBpbnN0ZWFkIG9mIGNvcHlp bmcgdGhlbSB3b3VsZCBiZQo+ID4gY2xlYW5lci4gVGhlIG92ZXJoZWFkIHdvbid0IG1hdHRlciwg ZXNwZWNpYWxseSBub3QgZm9yIGRlZmlvIGRyaXZlcnMuCj4gPiAKPiA+IC0gQWxzbyBjb3B5cGFz dGUgYWxsIHRoZSBvdGhlciBiaXRzIG9mIHRoZSBjb3JlIGZiZGV2IGRlZmlvIGNvZGUgd2UnbGwK PiA+IG5lZWQsIHRoYXQgd291bGQgYWxsb3cgdXMgdG8gYWxzbyBjbGVhbiB1cCB0aGUgY2xlYW51 cCgpIHdhcnRzIC4uLgo+ID4gCj4gPiBBbGwgb2YgdGhpcyB3b3VsZCBvZmMgb25seSBiZSBkb25l IGlmIHRoZSBmYiBoYXMgYSAtPmRpcnR5IGNhbGxiYWNrLgo+ID4gCj4gPiBXZSBjYW4gYWxzbyBq dXN0IHN0dWZmIHRoaXMgaW50byB0b2RvLnJzdC4KPiA+IAo+IAo+IEhtbSwgZG8geW91IHRoaW5r IGl0J3Mgd29ydGggc3BlbmRpbmcgbW9yZSB0aW1lIG9uIGZiZGV2Pwo+IFRoZSBwb2ludCB3b3Vs ZCBiZSB0byBzcGVlZCBpdCB1cCwgcmlnaHQ/IEF2b2lkIHRoZSBibGl0dGluZy4KPiAKPiBNeSBo b3BlIGlzIHRoYXQgd2hlbiBJJ20gZG9uZSB3aXRoIERSTSBjbGllbnQsIERhdmlkIEhlcnJtYW5u IHdpbGwgcGljawo+IHVwIGFuZCBmaW5pc2ggaGlzIERSTS9LTVMgY29uc29sZS4gQXQgdGhhdCBw b2ludCBmYmRldiBpcyBvbmx5IG5lZWRlZAo+IGZvciBsZWdhY3kgdXNlcnNwYWNlLgoKVGhpcyBp cyBvbmx5IGFib3V0IHRoZSBsZWdhY3kgbW1hcCBzdHVmZiwgZmJjb24gZG9lc24ndCB1c2UgdGhh dC4gQW5kIHRoZQpjdXJyZW50IGRlZmlvIGZiZGV2IG1tYXAgc3R1ZmYgaXMgZmFpcmx5IGhvcnJp YmxlIGFuZCB2ZXJ5CmRyaXZlci1zcGVjaWZpYy4gRG9pbmcgdGhlIGFib3ZlIHdvdWxkIGJlIGEg bmVhdCBjbGVhbnVwIEkgdGhpbmssIHNpbmNlIGl0CmF2b2lkcyB0aGF0IG5ldyBkcml2ZXJzIGhh dmUgdG8gY2FyZSBhYm91dCBmYmRldi4KCkFzaWRlOiBOb3Qgc3VyZSBEYXZpZCBpcyBzdGlsbCBp bnRlcmVzdGVkIGluIHRoZSBkcm0gY29uc29sZSBzdHVmZi4gSQpoYXZlbid0IGNoYXR0ZWQgd2l0 aCBoaW0gc2luY2UgYWdlcyBhYm91dCB0aGlzIGF0IGxlYXN0IC4uLgoKPiBJIHN1Y2sgYXQgZXN0 aW1hdGluZyBob3cgbG9uZyBpdCB0YWtlcyB0byBkbyBzdHVmZiwgYnV0IEkgcmVhbGx5IGhvcGUg SSdtCj4gZG9uZSB3aXRoIERSTSBjbGllbnQgYnkgdGhlIGVuZCBvZiB0aGlzIHllYXIuCgpJdCdz IGdvaW5nIHRvIGJlIGEgc2l6ZWFibGUgY2h1bmsgb2Ygd29yayBJIHRoaW5rLCBhbmQgbWlnaHQg bm90IHdvcmsuIFdhcwpyZWFsbHkganVzdCBhbiBpZGVhLCBJIHRoaW5rIGJldHRlciB0byBzdHVm ZiBpdCBpbnRvIHRvZG8ucnN0LiBJJ2xsIGRvIGEKcGF0Y2guCgpDaGVlcnMsIERhbmllbAo+IAo+ IE5vcmFsZi4KPiAKPiA+IENoZWVycywgRGFuaWVsCj4gPiAKPiA+IAo+ID4gPiAKPiA+ID4gQnV0 IGl0J3MgYWxzbyBlYXN5IHRvIGV4cG9ydCB0aGlzIGxhdGVyIG9uLiBJZiB5b3UgYWRkIGEgY29t bWVudAo+ID4gPiBleHBsYWluaW5nIHdoYXQgeW91IGV4cGxhaW5lZCBoZXJlIHRvIHRoZSBjb21t aXQgbWVzc2FnZSBJIHRoaW5rIHRoaXMgaXMKPiA+ID4gYWxsIGZpbmUgd2l0aCBtZSBhcy1pcy4K PiA+ID4gLURhbmllbAo+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBOb3JhbGYuCj4gPiA+ID4gCj4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKy8qCj4gPiA+ID4gPiA+ICsgKiBmYl9vcHMuZmJfZGVz dHJveSBpcyBjYWxsZWQgYnkgdGhlIGxhc3QgcHV0X2ZiX2luZm8oKSBjYWxsIGF0IHRoZSBlbmQg b2YKPiA+ID4gPiA+ID4gKyAqIHVucmVnaXN0ZXJfZnJhbWVidWZmZXIoKSBvciBmYl9yZWxlYXNl KCkuCj4gPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGRybV9mYmRldl9m Yl9kZXN0cm95KHN0cnVjdCBmYl9pbmZvICppbmZvKQo+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4g PiArIHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIgPSBpbmZvLT5wYXI7Cj4gPiA+ID4g PiA+ICsgc3RydWN0IGZiX29wcyAqZmJvcHMgPSBOVUxMOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4g PiA+ICsgRFJNX0RFQlVHKCJcbiIpOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgaWYgKGZi X2hlbHBlci0+ZmJkZXYtPmZiZGVmaW8pIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgIGZiX2RlZmVy cmVkX2lvX2NsZWFudXAoZmJfaGVscGVyLT5mYmRldik7Cj4gPiA+ID4gPiA+ICsgICAgICAgICBm Ym9wcyA9IGZiX2hlbHBlci0+ZmJkZXYtPmZib3BzOwo+ID4gPiA+ID4gPiArIH0KPiA+ID4gPiA+ ID4gKwo+ID4gPiA+ID4gPiArIGRybV9mYl9oZWxwZXJfZmluaShmYl9oZWxwZXIpOwo+ID4gPiA+ ID4gPiArIGRybV9jbGllbnRfZnJhbWVidWZmZXJfZGVsZXRlKGZiX2hlbHBlci0+YnVmZmVyKTsK PiA+ID4gPiA+ID4gKyBkcm1fY2xpZW50X2ZyZWUoZmJfaGVscGVyLT5jbGllbnQpOwo+ID4gPiA+ ID4gPiArIGtmcmVlKGZiX2hlbHBlcik7Cj4gPiA+ID4gPiA+ICsga2ZyZWUoZmJvcHMpOwo+ID4g PiA+ID4gPiArfQo+ID4gPiA+ID4gSG0sIGlmIHdlIGdvIHdpdGggdGhlIGlkZWEgdGhhdCBkcm1f Y2xpZW50cyBjb3VsZCBhdXRvLXVucmVnaXN0ZXIgdGhyb3VnaAo+ID4gPiA+ID4gYSBjYWxsYmFj aywgdGhlbiBJIGV4cGVjdCB0aGlzIHdpbGwgbGVhZCB0byBzb21lIGNvbnRyb2wgaW52ZXJzaW9u LiBCdXQgd2UKPiA+ID4gPiA+IGNhbiBmaXggdGhhdCBsYXRlciBvbi4KPiA+ID4gPiA+IAo+ID4g PiA+ID4gPiArCj4gPiA+ID4gPiA+ICtzdGF0aWMgaW50IGRybV9mYmRldl9mYl9tbWFwKHN0cnVj dCBmYl9pbmZvICppbmZvLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPiA+ID4gPiA+ID4g K3sKPiA+ID4gPiA+ID4gKyBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyID0gaW5mby0+ cGFyOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgaWYgKGZiX2hlbHBlci0+ZGV2LT5kcml2 ZXItPmdlbV9wcmltZV9tbWFwKQo+ID4gPiA+ID4gPiArICAgICAgICAgcmV0dXJuIGZiX2hlbHBl ci0+ZGV2LT5kcml2ZXItPmdlbV9wcmltZV9tbWFwKGZiX2hlbHBlci0+YnVmZmVyLT5nZW0sIHZt YSk7Cj4gPiA+ID4gPiA+ICsgZWxzZQo+ID4gPiA+ID4gPiArICAgICAgICAgcmV0dXJuIC1FTk9E RVY7Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gK3N0YXRpYyBzdHJ1 Y3QgZmJfb3BzIGRybV9mYmRldl9mYl9vcHMgPSB7Cj4gPiA+ID4gPiA+ICsgLyogTm8gbmVlZCB0 byBzZXQgb3duZXIsIHRoaXMgbW9kdWxlIGlzIGFscmVhZHkgcGlubmVkIGJ5IHRoZSBkcml2ZXIu ICovCj4gPiA+ID4gPiBJJ2Qgc3RpbGwgc2V0IGl0LCBtZWFucyBsZXNzIHRoaW5raW5nIHNpbmNl IG1vcmUgb2J2aW91c2x5IGNvcnJlY3QuCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gKyBEUk1fRkJf SEVMUEVSX0RFRkFVTFRfT1BTLAo+ID4gPiA+ID4gPiArIC5mYl9vcGVuICAgICAgICA9IGRybV9m YmRldl9mYl9vcGVuLAo+ID4gPiA+ID4gPiArIC5mYl9yZWxlYXNlICAgICA9IGRybV9mYmRldl9m Yl9yZWxlYXNlLAo+ID4gPiA+ID4gPiArIC5mYl9kZXN0cm95ICAgICA9IGRybV9mYmRldl9mYl9k ZXN0cm95LAo+ID4gPiA+ID4gPiArIC5mYl9tbWFwICAgICAgICA9IGRybV9mYmRldl9mYl9tbWFw LAo+ID4gPiA+ID4gPiArIC5mYl9yZWFkICAgICAgICA9IGRybV9mYl9oZWxwZXJfc3lzX3JlYWQs Cj4gPiA+ID4gPiA+ICsgLmZiX3dyaXRlICAgICAgID0gZHJtX2ZiX2hlbHBlcl9zeXNfd3JpdGUs Cj4gPiA+ID4gPiA+ICsgLmZiX2ZpbGxyZWN0ICAgID0gZHJtX2ZiX2hlbHBlcl9zeXNfZmlsbHJl Y3QsCj4gPiA+ID4gPiA+ICsgLmZiX2NvcHlhcmVhICAgID0gZHJtX2ZiX2hlbHBlcl9zeXNfY29w eWFyZWEsCj4gPiA+ID4gPiA+ICsgLmZiX2ltYWdlYmxpdCAgID0gZHJtX2ZiX2hlbHBlcl9zeXNf aW1hZ2VibGl0LAo+ID4gPiA+ID4gSG0sIHNvbWUgZHJpdmVycyByZXF1aXJlIHRoZSBjZmIgdmVy c2lvbnMgb2YgdGhlc2UuIEluIHByYWN0aWNlIEkgZ3Vlc3MKPiA+ID4gPiA+IHRoZXJlJ3Mgbm90 IG11Y2ggb2YgYSBkaWZmZXJlbmNlIHJlYWxseSwgYXQgbGVhc3Qgb24geDg2IGFuZCBhcm0uCj4g PiA+ID4gPiAKPiA+ID4gPiA+IFdlIG1pZ2h0IHdhbnQgdG8gZG9jdW1lbnQgdGhhdCB0aG91Z2gu Cj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gK307Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gK3N0 YXRpYyBzdHJ1Y3QgZmJfZGVmZXJyZWRfaW8gZHJtX2ZiZGV2X2RlZmlvID0gewo+ID4gPiA+ID4g PiArIC5kZWxheSAgICAgICAgICA9IEhaIC8gMjAsCj4gPiA+ID4gPiA+ICsgLmRlZmVycmVkX2lv ICAgID0gZHJtX2ZiX2hlbHBlcl9kZWZlcnJlZF9pbywKPiA+ID4gPiA+ID4gK307Cj4gPiA+ID4g PiA+ICsKPiA+ID4gPiA+ID4gKy8qCj4gPiA+ID4gPiA+ICsgKiBUT0RPOiBSZW1vdmUgdGhpcyB3 aGVuIHRpbnlkcm0gaXMgY29udmVydGVkIHRvIHZtYWxsb2MgYnVmZmVycy4KPiA+ID4gPiA+ID4g KyAqLwo+ID4gPiA+ID4gPiArc3RhdGljIGludCBkcm1fZmJkZXZfY21hX2RlZmVycmVkX2lvX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+ID4gPiA+ID4gPiAr ewo+ID4gPiA+ID4gPiArIGZiX2RlZmVycmVkX2lvX21tYXAoaW5mbywgdm1hKTsKPiA+ID4gPiA+ ID4gKyB2bWEtPnZtX3BhZ2VfcHJvdCA9IHBncHJvdF93cml0ZWNvbWJpbmUodm1hLT52bV9wYWdl X3Byb3QpOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgcmV0dXJuIDA7Cj4gPiA+ID4gPiA+ ICt9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+IE5lZWRzIGtlcm5lbGRvYyBoZXJlLgo+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ICtpbnQgZHJtX2ZiX2hlbHBlcl9nZW5lcmljX3Byb2JlKHN0cnVjdCBk cm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGRybV9mYl9oZWxwZXJfc3VyZmFjZV9zaXplICpzaXplcykKPiA+ID4gPiA+ ID4gK3sKPiA+ID4gPiA+ID4gKyBzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCA9IGZiX2hl bHBlci0+Y2xpZW50Owo+ID4gPiA+ID4gPiArIHN0cnVjdCBkcm1fY2xpZW50X2J1ZmZlciAqYnVm ZmVyOwo+ID4gPiA+ID4gPiArIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+ID4gPiA+ID4g PiArIHN0cnVjdCBmYl9pbmZvICpmYmk7Cj4gPiA+ID4gPiA+ICsgdTMyIGZvcm1hdDsKPiA+ID4g PiA+ID4gKyBpbnQgcmV0Owo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgRFJNX0RFQlVHX0tN Uygic3VyZmFjZSB3aWR0aCglZCksIGhlaWdodCglZCkgYW5kIGJwcCglZClcbiIsCj4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICBzaXplcy0+c3VyZmFjZV93aWR0aCwgc2l6ZXMtPnN1cmZhY2Vf aGVpZ2h0LAo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgc2l6ZXMtPnN1cmZhY2VfYnBwKTsK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArIGZvcm1hdCA9IGRybV9tb2RlX2xlZ2FjeV9mYl9m b3JtYXQoc2l6ZXMtPnN1cmZhY2VfYnBwLCBzaXplcy0+c3VyZmFjZV9kZXB0aCk7Cj4gPiA+ID4g PiA+ICsgYnVmZmVyID0gZHJtX2NsaWVudF9mcmFtZWJ1ZmZlcl9jcmVhdGUoY2xpZW50LCBzaXpl cy0+c3VyZmFjZV93aWR0aCwKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplcy0+c3VyZmFjZV9oZWlnaHQsIGZvcm1hdCk7Cj4gPiA+ID4gPiA+ ICsgaWYgKElTX0VSUihidWZmZXIpKQo+ID4gPiA+ID4gPiArICAgICAgICAgcmV0dXJuIFBUUl9F UlIoYnVmZmVyKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArIGZiX2hlbHBlci0+YnVmZmVy ID0gYnVmZmVyOwo+ID4gPiA+ID4gPiArIGZiX2hlbHBlci0+ZmIgPSBidWZmZXItPmZiOwo+ID4g PiA+ID4gPiArIGZiID0gYnVmZmVyLT5mYjsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArIGZi aSA9IGRybV9mYl9oZWxwZXJfYWxsb2NfZmJpKGZiX2hlbHBlcik7Cj4gPiA+ID4gPiA+ICsgaWYg KElTX0VSUihmYmkpKSB7Cj4gPiA+ID4gPiA+ICsgICAgICAgICByZXQgPSBQVFJfRVJSKGZiaSk7 Cj4gPiA+ID4gPiA+ICsgICAgICAgICBnb3RvIGVycl9mcmVlX2J1ZmZlcjsKPiA+ID4gPiA+ID4g KyB9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyBmYmktPnBhciA9IGZiX2hlbHBlcjsKPiA+ ID4gPiA+ID4gKyBmYmktPmZib3BzID0gJmRybV9mYmRldl9mYl9vcHM7Cj4gPiA+ID4gPiA+ICsg ZmJpLT5zY3JlZW5fc2l6ZSA9IGZiLT5oZWlnaHQgKiBmYi0+cGl0Y2hlc1swXTsKPiA+ID4gPiA+ ID4gKyBmYmktPmZpeC5zbWVtX2xlbiA9IGZiaS0+c2NyZWVuX3NpemU7Cj4gPiA+ID4gPiA+ICsg ZmJpLT5zY3JlZW5fYnVmZmVyID0gYnVmZmVyLT52YWRkcjsKPiA+ID4gPiA+ID4gKyBzdHJjcHko ZmJpLT5maXguaWQsICJEUk0gZW11bGF0ZWQiKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAr IGRybV9mYl9oZWxwZXJfZmlsbF9maXgoZmJpLCBmYi0+cGl0Y2hlc1swXSwgZmItPmZvcm1hdC0+ ZGVwdGgpOwo+ID4gPiA+ID4gPiArIGRybV9mYl9oZWxwZXJfZmlsbF92YXIoZmJpLCBmYl9oZWxw ZXIsIHNpemVzLT5mYl93aWR0aCwgc2l6ZXMtPmZiX2hlaWdodCk7Cj4gPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ID4gKyBpZiAoZmItPmZ1bmNzLT5kaXJ0eSkgewo+ID4gPiA+ID4gPiArICAgICAgICAg c3RydWN0IGZiX29wcyAqZmJvcHM7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAgICAgICAg IC8qCj4gPiA+ID4gPiA+ICsgICAgICAgICAgKiBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKCkgY2xl YXJzICZmYm9wcy0+ZmJfbW1hcCBzbyBhIHBlcgo+ID4gPiA+ID4gPiArICAgICAgICAgICogaW5z dGFuY2UgdmVyc2lvbiBpcyBuZWNlc3NhcnkuCj4gPiA+ID4gPiA+ICsgICAgICAgICAgKi8KPiA+ ID4gPiA+ID4gKyAgICAgICAgIGZib3BzID0ga3phbGxvYyhzaXplb2YoKmZib3BzKSwgR0ZQX0tF Uk5FTCk7Cj4gPiA+ID4gPiA+ICsgICAgICAgICBpZiAoIWZib3BzKSB7Cj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgIHJldCA9IC1FTk9NRU07Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgIGdvdG8gZXJyX2ZiX2luZm9fZGVzdHJveTsKPiA+ID4gPiA+ID4gKyAgICAgICAgIH0KPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArICAgICAgICAgKmZib3BzID0gKmZiaS0+ZmJvcHM7Cj4g PiA+ID4gPiA+ICsgICAgICAgICBmYmktPmZib3BzID0gZmJvcHM7Cj4gPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ID4gKyAgICAgICAgIGZiaS0+ZmJkZWZpbyA9ICZkcm1fZmJkZXZfZGVmaW87Cj4gPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAgICAgICAgIC8qIFRPRE86IFJlbW92ZSB0aGlzIHdoZW4g dGlueWRybSBpcyBjb252ZXJ0ZWQgdG8gdm1hbGxvYyBidWZmZXJzLiAqLwo+ID4gPiA+ID4gPiAr ICAgICAgICAgZmJpLT5maXguc21lbV9zdGFydCA9IHBhZ2VfdG9fcGh5cyh2aXJ0X3RvX3BhZ2Uo YnVmZmVyLT52YWRkcikpOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgICAgICAgICBmYl9k ZWZlcnJlZF9pb19pbml0KGZiaSk7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAgICAgICAg IC8qIFRPRE86IFJlbW92ZSB0aGlzIHdoZW4gdGlueWRybSBpcyBjb252ZXJ0ZWQgdG8gdm1hbGxv YyBidWZmZXJzLiAqLwo+ID4gPiA+ID4gPiArICAgICAgICAgZmJpLT5mYm9wcy0+ZmJfbW1hcCA9 IGRybV9mYmRldl9jbWFfZGVmZXJyZWRfaW9fbW1hcDsKPiA+ID4gPiA+ID4gKyB9Cj4gPiA+ID4g PiBVZ2guIFllYWggZGVmaW8gYW5kIGdlbmVyaWMgYWxsb2NhdG9yIHRocm91Z2ggZHVtYiBidWZm ZXJzIGRvbid0IG1peCB3ZWxsLgo+ID4gPiA+ID4gVGhlIG9ubHkgdHJ1ZSBnZW5lcmljIHNvbHV0 aW9uIGZvciB0aGlzIHdvdWxkIGJlIHRvIGdpdmUgdXNlcnNwYWNlIChhbmQKPiA+ID4gPiA+IG9u bHkgdXNlcnNwYWNlLCBmb3IgZmJjb24gd2UgY2FuIGludGVyY2VwdCBldmVyeXRoaW5nKSBhIHN0 YWdpbmcgYnVmZmVyLAo+ID4gPiA+ID4gYW5kIHRoZW4gdXBsb2FkIHRoaW5ncyB1c2luZyB0aGUg ZGlydHkgY2FsbGJhY2suCj4gPiA+ID4gPiAKPiA+ID4gPiA+IEJ1dCB0aGF0IGludHJvZHVjZXMg YW5vdGhlciBjb3B5IHN0ZXAsIHNvIGlzbid0IGNvb2wuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IEkg dGhpbmsgYSBjaGVjayBmb3IgaXNfdm1hbGxvY19hZGRyIGFuZCBpZiB0aGF0J3MgZmFsc2UsIG5v dCBkb2luZyBhbnkgb2YKPiA+ID4gPiA+IHRoZSBkZWZpbyBtbWFwIHNldHVwIHdvdWxkIGJlIGdv b2QuIFVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgaWRlYS4gQW5kIHllcwo+ID4gPiA+ID4gdGhhdCB3 b3VsZCBuZWVkIHRvIGJlIGRvbmUgYWZ0ZXIgdGlueWRybSBpcyBtb3ZlZCBvdmVyLgo+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyByZXR1cm4gMDsKPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiArZXJyX2ZiX2luZm9fZGVzdHJveToKPiA+ID4gPiA+ID4gKyBkcm1fZmJfaGVs cGVyX2ZpbmkoZmJfaGVscGVyKTsKPiA+ID4gPiA+ID4gK2Vycl9mcmVlX2J1ZmZlcjoKPiA+ID4g PiA+ID4gKyBkcm1fY2xpZW50X2ZyYW1lYnVmZmVyX2RlbGV0ZShidWZmZXIpOwo+ID4gPiA+ID4g PiArCj4gPiA+ID4gPiA+ICsgcmV0dXJuIHJldDsKPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4g K0VYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9nZW5lcmljX3Byb2JlKTsKPiA+ID4gPiA+ID4g Kwo+ID4gPiA+ID4gPiAgICAvKiBUaGUgS2NvbmZpZyBEUk1fS01TX0hFTFBFUiBzZWxlY3RzIEZS QU1FQlVGRkVSX0NPTlNPTEUgKGlmICFFWFBFUlQpCj4gPiA+ID4gPiA+ICAgICAqIGJ1dCB0aGUg bW9kdWxlIGRvZXNuJ3QgZGVwZW5kIG9uIGFueSBmYiBjb25zb2xlIHN5bWJvbHMuICBBdCBsZWFz dAo+ID4gPiA+ID4gPiAgICAgKiBhdHRlbXB0IHRvIGxvYWQgZmJjb24gdG8gYXZvaWQgbGVhdmlu ZyB0aGUgc3lzdGVtIHdpdGhvdXQgYSB1c2FibGUgY29uc29sZS4KPiA+ID4gPiA+ID4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mYl9o ZWxwZXIuaAo+ID4gPiA+ID4gPiBpbmRleCBiMDY5NDMzZTdmYzEuLmJiMzg0NjlhOTUwMiAxMDA2 NDQKPiA+ID4gPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4gPiA+ID4g PiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAo+ID4gPiA+ID4gPiBAQCAtMzAs NiArMzAsOCBAQAo+ID4gPiA+ID4gPiAgICAjaWZuZGVmIERSTV9GQl9IRUxQRVJfSAo+ID4gPiA+ ID4gPiAgICAjZGVmaW5lIERSTV9GQl9IRUxQRVJfSAo+ID4gPiA+ID4gPiArc3RydWN0IGRybV9j bGllbnRfYnVmZmVyOwo+ID4gPiA+ID4gPiArc3RydWN0IGRybV9jbGllbnRfZGV2Owo+ID4gPiA+ ID4gPiAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcjsKPiA+ID4gPiA+ID4gICAgI2luY2x1ZGUgPGRy bS9kcm1fY3J0Yy5oPgo+ID4gPiA+ID4gPiBAQCAtMjMyLDYgKzIzNCwyMCBAQCBzdHJ1Y3QgZHJt X2ZiX2hlbHBlciB7Cj4gPiA+ID4gPiA+ICAgICAgICAgICAgICogU2VlIGFsc286IEBkZWZlcnJl ZF9zZXR1cAo+ID4gPiA+ID4gPiAgICAgICAgICAgICAqLwo+ID4gPiA+ID4gPiAgICAgICAgICAg IGludCBwcmVmZXJyZWRfYnBwOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgLyoqCj4gPiA+ ID4gPiA+ICsgICogQGNsaWVudDoKPiA+ID4gPiA+ID4gKyAgKgo+ID4gPiA+ID4gPiArICAqIERS TSBjbGllbnQgdXNlZCBieSB0aGUgZ2VuZXJpYyBmYmRldiBlbXVsYXRpb24uCj4gPiA+ID4gPiA+ ICsgICovCj4gPiA+ID4gPiA+ICsgc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQ7Cj4gPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAvKioKPiA+ID4gPiA+ID4gKyAgKiBAYnVmZmVyOgo+ID4g PiA+ID4gPiArICAqCj4gPiA+ID4gPiA+ICsgICogRnJhbWVidWZmZXIgdXNlZCBieSB0aGUgZ2Vu ZXJpYyBmYmRldiBlbXVsYXRpb24uCj4gPiA+ID4gPiA+ICsgICovCj4gPiA+ID4gPiA+ICsgc3Ry dWN0IGRybV9jbGllbnRfYnVmZmVyICpidWZmZXI7Cj4gPiA+ID4gPiA+ICAgIH07Cj4gPiA+ID4g PiA+ICAgIC8qKgo+ID4gPiA+ID4gPiBAQCAtMzMwLDYgKzM0Niw5IEBAIHZvaWQgZHJtX2ZiX2hl bHBlcl9mYmRldl90ZWFyZG93bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ID4gPiA+ID4g ICAgdm9pZCBkcm1fZmJfaGVscGVyX2xhc3RjbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK PiA+ID4gPiA+ID4gICAgdm9pZCBkcm1fZmJfaGVscGVyX291dHB1dF9wb2xsX2NoYW5nZWQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gK2ludCBkcm1f ZmJfaGVscGVyX2dlbmVyaWNfcHJvYmUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwK PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBl cl9zdXJmYWNlX3NpemUgKnNpemVzKTsKPiA+ID4gPiA+ID4gICAgI2Vsc2UKPiA+ID4gPiA+ID4g ICAgc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfcHJlcGFyZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKPiA+ID4gPiA+ID4gQEAgLTU2 NCw2ICs1ODMsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfb3V0cHV0X3Bv bGxfY2hhbmdlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ID4gPiAgICB7Cj4gPiA+ ID4gPiA+ICAgIH0KPiA+ID4gPiA+ID4gK3N0YXRpYyBpbmxpbmUgaW50Cj4gPiA+ID4gPiA+ICtk cm1fZmJfaGVscGVyX2dlbmVyaWNfcHJvYmUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBl ciwKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZmJfaGVscGVy X3N1cmZhY2Vfc2l6ZSAqc2l6ZXMpCj4gPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiA+ICsgcmV0dXJu IDA7Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiBPaywgSSB0aGluayB0aGlzIHBhdGNoIGxvb2tz IG9rLiBXaXRoIHRoZSBtaXNzaW5nIGtlcm5lbGRvYyBhZGRlZCAod2hpY2gKPiA+ID4gPiA+IGFs c28gZXhwbGFpbnMgdGhlIGN1cnJlbnQgbGltaXRhdGlvbnMpIHRoaXMgaXMKPiA+ID4gPiA+IAo+ ID4gPiA+ID4gUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwu Y2g+Cj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAgICAjZW5kaWYKPiA+ID4g PiA+ID4gICAgc3RhdGljIGlubGluZSBpbnQKPiA+ID4gPiA+ID4gLS0KPiA+ID4gPiA+ID4gMi4x NS4xCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+ID4gPiA+ID4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4g PiA+ID4gPiA+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gPiA+ID4gaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiA+ ID4gPiAKPiA+ID4gCj4gPiA+IC0tCj4gPiA+IERhbmllbCBWZXR0ZXIKPiA+ID4gU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4g PiAKPiA+IAo+ID4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwg Q29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==