From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ayan Halder Subject: Re: [RFC PATCH] drm:- Add a modifier to denote 'protected' framebuffer Date: Mon, 30 Sep 2019 12:57:02 +0000 Message-ID: <20190930125701.GA13998@arm.com> References: <20190909134241.23297-1-ayan.halder@arm.com> <20190917125301.GQ3958@phenom.ffwll.local> <20190917160730.hutzlbuqtpmmtdz3@e110455-lin.cambridge.arm.com> <11689dc3-6c3e-084b-b66d-e6ccf75cb8fb@baylibre.com> <20190930095134.xjcucw2rrij5f4np@DESKTOP-E1NTVVP.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190930095134.xjcucw2rrij5f4np-cyTpl0DnfLAx1Goa8x4jbQH0AcctZ4a01BehtkLrGTY@public.gmane.org> Content-Language: en-US Content-ID: <9568E100547F3741B9126710B9C45687-R04qaBv3nuicE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Brian Starkey Cc: "David1.Zhou-5C7GfCeVMHo@public.gmane.org" , Neil Armstrong , "maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org" , Liviu Dudau , "maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "christian.koenig-5C7GfCeVMHo@public.gmane.org" , "linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org" , "airlied-cv59FeDIM0c@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , Daniel Vetter , "alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" , "alexander.deucher-5C7GfCeVMHo@public.gmane.org" , nd , "sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org" , "sumit.semwal-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org" , linux-media-u79uwXL29TZUIDd8j+nm9g@public.gmane.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBTZXAgMzAsIDIwMTkgYXQgMDk6NTE6MzVBTSArMDAwMCwgQnJpYW4gU3RhcmtleSB3 cm90ZToKPiBIaSwKPiAKPiBPbiBUdWUsIFNlcCAxNywgMjAxOSBhdCAwNzozNjo0NVBNICswMjAw LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gT24gVHVlLCBTZXAgMTcsIDIwMTkgYXQgNjoxNSBQ TSBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+IHdyb3RlOgo+ID4gPgo+ ID4gPiBIaSwKPiA+ID4KPiA+ID4gT24gMTcvMDkvMjAxOSAxODowNywgTGl2aXUgRHVkYXUgd3Jv dGU6Cj4gPiA+ID4gT24gVHVlLCBTZXAgMTcsIDIwMTkgYXQgMDI6NTM6MDFQTSArMDIwMCwgRGFu aWVsIFZldHRlciB3cm90ZToKPiA+ID4gPj4gT24gTW9uLCBTZXAgMDksIDIwMTkgYXQgMDE6NDI6 NTNQTSArMDAwMCwgQXlhbiBIYWxkZXIgd3JvdGU6Cj4gPiA+ID4+PiBBZGQgYSBtb2RpZmllciAn RFJNX0ZPUk1BVF9NT0RfQVJNX1BST1RFQ1RFRCcgd2hpY2ggZGVub3RlcyB0aGF0IHRoZSBmcmFt ZWJ1ZmZlcgo+ID4gPiA+Pj4gaXMgYWxsb2NhdGVkIGluIGEgcHJvdGVjdGVkIHN5c3RlbSBtZW1v cnkuCj4gPiA+ID4+PiBFc3NlbnRpYWxseSwgd2Ugd2FudCB0byBzdXBwb3J0IEVHTF9FWFRfcHJv dGVjdGVkX2NvbnRlbnQgaW4gb3VyIGtvbWVkYSBkcml2ZXIuCj4gPiA+ID4+Pgo+ID4gPiA+Pj4g U2lnbmVkLW9mZi1ieTogQXlhbiBLdW1hciBIYWxkZXIgPGF5YW4uaGFsZGVyQGFybS5jb20+Cj4g PiA+ID4+Pgo+ID4gPiA+Pj4gLy0tIE5vdGUgdG8gcmV2aWV3ZXIKPiA+ID4gPj4+IEtvbWVkYSBk cml2ZXIgaXMgY2FwYWJsZSBvZiByZW5kZXJpbmcgRFJNIChEaWdpdGFsIFJpZ2h0cyBNYW5hZ2Vt ZW50KSBwcm90ZWN0ZWQKPiA+ID4gPj4+IGNvbnRlbnQuIFRoZSBEUk0gY29udGVudCBpcyBzdG9y ZWQgaW4gYSBmcmFtZWJ1ZmZlciBhbGxvY2F0ZWQgaW4gc3lzdGVtIG1lbW9yeQo+ID4gPiA+Pj4g KHdoaWNoIG5lZWRzIHNvbWUgc3BlY2lhbCBoYXJkd2FyZSBzaWduYWxzIGZvciBhY2Nlc3MpLgo+ ID4gPiA+Pj4KPiA+ID4gPj4+IExldCB1cyBpZ25vcmUgaG93IHRoZSBwcm90ZWN0ZWQgc3lzdGVt IG1lbW9yeSBpcyBhbGxvY2F0ZWQgYW5kIGZvciB0aGUgc2NvcGUgb2YKPiA+ID4gPj4+IHRoaXMg ZGlzY3Vzc2lvbiwgd2Ugd2FudCB0byBmaWd1cmUgb3V0IHRoZSBiZXN0IHdheSBwb3NzaWJsZSBm b3IgdGhlIHVzZXJzcGFjZQo+ID4gPiA+Pj4gdG8gY29tbXVuaWNhdGUgdG8gdGhlIGRybSBkcml2 ZXIgdG8gdHVybiB0aGUgcHJvdGVjdGVkIG1vZGUgb24gKGZvciBhY2Nlc3NpbmcgdGhlCj4gPiA+ ID4+PiBmcmFtZWJ1ZmZlciB3aXRoIHRoZSBEUk0gY29udGVudCkgb3Igb2ZmLgo+ID4gPiA+Pj4K PiA+ID4gPj4+IFRoZSBwb3NzaWJsZSB3YXlzIGJ5IHdoaWNoIHRoZSB1c2Vyc3BhY2UgY291bGQg YWNoaWV2ZSB0aGlzIGlzIHZpYTotCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gMS4gTW9kaWZpZXJzIDot IFRoaXMgbG9va3MgdG8gbWUgdGhlIGJlc3Qgd2F5IGJ5IHdoaWNoIHRoZSB1c2Vyc3BhY2UgY2Fu Cj4gPiA+ID4+PiBjb21tdW5pY2F0ZSB0byB0aGUga2VybmVsIHRvIHR1cm4gdGhlIHByb3RlY3Rl ZCBtb2RlIG9uIGZvciB0aGUga29tZWRhIGRyaXZlcgo+ID4gPiA+Pj4gYXMgaXQgaXMgZ29pbmcg dG8gYWNjZXNzIG9uZSBvZiB0aGUgcHJvdGVjdGVkIGZyYW1lYnVmZmVycy4gVGhlIG9ubHkgcHJv YmxlbSBpcwo+ID4gPiA+Pj4gdGhhdCB0aGUgY3VycmVudCBtb2RpZmllcnMgZGVzY3JpYmUgdGhl IHRpbGluZy9jb21wcmVzc2lvbiBmb3JtYXQuIEhvd2V2ZXIsIGl0Cj4gPiA+ID4+PiBkb2VzIG5v dCBodXJ0IHRvIGV4dGVuZCB0aGUgbWVhbmluZyBvZiBtb2RpZmllcnMgdG8gZGVub3RlIG90aGVy IGF0dHJpYnV0ZXMgb2YKPiA+ID4gPj4+IHRoZSBmcmFtZWJ1ZmZlciBhcyB3ZWxsLgo+ID4gPiA+ Pj4KPiA+ID4gPj4+IFRoZSBvdGhlciByZWFzb24gaXMgdGhhdCBvbiBBbmRyb2lkLCB3ZSBnZXQg YW4gaW5mbyBmcm9tIEdyYWxsb2MKPiA+ID4gPj4+IChHUkFMTE9DX1VTQUdFX1BST1RFQ1RFRCkg d2hpY2ggdGVsbHMgdXMgdGhhdCB0aGUgYnVmZmVyIGlzIHByb3RlY3RlZC4gVGhpcyBjYW4KPiA+ ID4gPj4+IGJlIHVzZWQgdG8gc2V0IHVwIHRoZSBtb2RpZmllci9zIChBZGRGQjIpIGR1cmluZyBm cmFtZWJ1ZmZlciBjcmVhdGlvbi4KPiA+ID4gPj4KPiA+ID4gPj4gSG93IGRvZXMgdGhpcyBtZXNo IHdpdGggb3RoZXIgbW9kaWZpZXJzLCBsaWtlIEFGQkM/IFRoYXQncyB3aGVyZSBJIHNlZSB0aGUK PiA+ID4gPj4gaXNzdWUgaGVyZS4KPiA+ID4gPgo+ID4gPiA+IEFGQkMgbW9kaWZpZXJzIGFyZSBj dXJyZW50bHkgdW5kZXIgQXJtJ3MgbmFtZXNwYWNlLCB0aGUgdGhvdWdodCBiZWhpbmQgdGhlIERS TQo+ID4gPiA+IG1vZGlmaWVycyB3b3VsZCBiZSB0byBoYXZlIGl0IGFzIGEgImdlbmVyaWMiIG1v ZGlmaWVyLgo+ID4gCj4gPiBCdXQgaWYgaXQncyBhIGdlbmVyaWMgZmxhZywgaG93IGRvIHlvdSBj b21iaW5lIHRoYXQgd2l0aCBvdGhlcgo+ID4gbW9kaWZpZXJzPyBMaWtlIGlmIHlvdSBoYXZlIGEg dGlsZWQgYnVmZmVyLCBidXQgYWxzbyBlbmNyeXB0ZWQ/IE9yCj4gPiBhZmJjIGNvbXByZXNzZWQs IG9yIHdoYXRldmVyIGVsc2UuIEknZCBleHBlY3QgZm9yIHlvdXIgaHcgZW5jcnlwdGlvbgo+ID4g aXMgb3J0aG9nb25hbCB0byB0aGUgYnVmZmVyL3RpbGluZy9jb21wcmVzc2lvbiBmb3JtYXQgdXNl ZD8KPiAKPiBUaGlzIGJpdCBkb2Vzbid0IG92ZXJsYXAgd2l0aCBhbnkgb2YgdGhlIG90aGVyIEFG QkMgbW9kaWZpZXJzLCBzbyBhcwo+IHlvdSBzYXkgaXQnZCBiZSBvcnRob2dvbmFsLCBhbmQgY291 bGQgYmUgc2V0IG9uIEFGQkMgYnVmZmVycyAoaWYgd2UKPiB3ZW50IHRoYXQgcm91dGUpLgo+IAo+ ID4gCj4gPiA+ID4+PiAyLiBGcmFtZWJ1ZmZlciBmbGFncyA6LSBBcyBvZiB0b2RheSwgdGhpcyBj YW4gYmUgb25lIG9mIHRoZSB0d28gdmFsdWVzCj4gPiA+ID4+PiBpZSAoRFJNX01PREVfRkJfSU5U RVJMQUNFRC9EUk1fTU9ERV9GQl9NT0RJRklFUlMpLiBVbmxpa2UgbW9kaWZpZXJzLCB0aGUgZHJt Cj4gPiA+ID4+PiBmcmFtZWJ1ZmZlciBmbGFncyBhcmUgZ2VuZXJpYyB0byB0aGUgZHJtIHN1YnN5 c3RlbSBhbmQgaWRlYWxseSB3ZSBzaG91bGQgbm90Cj4gPiA+ID4+PiBpbnRyb2R1Y2UgYW55IGRy aXZlciBzcGVjaWZpYyBjb25zdHJhaW50L2ZlYXR1cmUuCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gMy4g Q29ubmVjdG9yIHByb3BlcnR5Oi0gSSBjb3VsZCBzZWUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVz IHVzZWQgZm9yIERSTQo+ID4gPiA+Pj4gcHJvdGVjdGVkIGNvbnRlbnQ6LQo+ID4gPiA+Pj4gRFJN X01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQgLyBFTkFCTEVEIDotICJUaGlzIHByb3Bl cnR5IGlzIHVzZWQgYnkKPiA+ID4gPj4+IHVzZXJzcGFjZSB0byByZXF1ZXN0IHRoZSBrZXJuZWwg cHJvdGVjdCBmdXR1cmUgY29udGVudCBjb21tdW5pY2F0ZWQgb3Zlcgo+ID4gPiA+Pj4gdGhlIGxp bmsiLiBDbGVhcmx5LCB3ZSBhcmUgbm90IGNvbmNlcm5lZCB3aXRoIHRoZSBwcm90ZWN0aW9uIGF0 dHJpYnV0ZXMgb2YgdGhlCj4gPiA+ID4+PiB0cmFuc21pdHRlci4gU28sIHdlIGNhbm5vdCB1c2Ug dGhpcyBwcm9wZXJ0eSBmb3Igb3VyIGNhc2UuCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gNC4gRFJNIHBs YW5lIHByb3BlcnR5Oi0gQWdhaW4sIHdlIHdhbnQgdG8gY29tbXVuaWNhdGUgdGhhdCB0aGUgZnJh bWVidWZmZXIod2hpY2gKPiA+ID4gPj4+IGNhbiBiZSBhdHRhY2hlZCB0byBhbnkgcGxhbmUpIGlz IHByb3RlY3RlZC4gU28gaW50cm9kdWNpbmcgYSBuZXcgcGxhbmUgcHJvcGVydHkKPiA+ID4gPj4+ IGRvZXMgbm90IGhlbHAuCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gNS4gRFJNIGNydGMgcHJvcGVydHk6 LSBGb3IgdGhlIHNhbWUgcmVhc29uIGFzIGFib3ZlLCBpbnRyb2R1Y2luZyBhIG5ldyBjcnRjCj4g PiA+ID4+PiBwcm9wZXJ0eSBkb2VzIG5vdCBoZWxwLgo+ID4gPiA+Pgo+ID4gPiA+PiA2LiBKdXN0 IHRyYWNrIHRoaXMgYXMgcGFydCBvZiBidWZmZXIgYWxsb2NhdGlvbiwgaS5lLiBJIHRoaW5rIGl0 IGRvZXMKPiA+ID4gPj4gbWF0dGVyIGhvdyB5b3UgYWxsb2NhdGUgdGhlc2UgcHJvdGVjdGVkIGJ1 ZmZlcnMuIFdlIGNvdWxkIGFkZCBhICJpcwo+ID4gPiA+PiBwcm90ZWN0ZWQgYnVmZmVyIiBmbGFn IGF0IHRoZSBkbWFfYnVmIGxldmVsIGZvciB0aGlzLgo+IAo+IEkgYWxzbyBsaWtlIHRoaXMgYXBw cm9hY2guIFRoZSBwcm90ZWN0ZWQtbmVzcyBpcyBhIHByb3BlcnR5IG9mIHRoZQo+IGFsbG9jYXRp b24sIHNvIG1ha2VzIHNlbnNlIHRvIHN0b3JlIGl0IHdpdGggdGhlIGFsbG9jYXRpb24gSU1PLgo+ IAo+ID4gPiA+Pgo+ID4gPiA+PiBTbyB5ZWFoIGZvciB0aGlzIHN0dWZmIGhlcmUgSSB0aGluayB3 ZSBkbyB3YW50IHRoZSBmdWxsIHVzZXJzcGFjZSBzaWRlLAo+ID4gPiA+PiBmcm9tIGFsbG9jYXRv ciB0byByZW5kZXJpbmcgc29tZXRoaW5nIGludG8gdGhpcyBwcm90ZWN0ZWQgYnVmZmVycyAobm8g bmVlZAo+ID4gPiA+PiB0byBhbHNvIGhhdmUgdGhlIGVudGlyZSAiZGVjb2RlIGEgcHJvdGVjdGVk IGJpdHN0cmVhbSBwYXJ0IiBpbW8sIHNpbmNlCj4gPiA+ID4+IHRoYXQgd2lsbCBmcmVhayBwZW9w bGUgb3V0KS4gVW5mb3J0dW5hdGVseSwgaW4gbXkgZXhwZXJpZW5jZSwgdGhhdCBraWxscwo+ID4g PiA+PiBpdCBmb3IgdXBzdHJlYW0gOi0vIEJ1dCBhbHNvIGluIG15IGV4cGVyaWVuY2Ugb2YgbG9v a2luZyBpbnRvIHRoaXMgZm9yCj4gPiA+ID4+IG90aGVyIGdwdSdzLCB3ZSByZWFsbHkgbmVlZCB0 byBoYXZlIHRoZSBmdWxsIHBpY3R1cmUgaGVyZSB0byBtYWtlIHN1cmUKPiA+ID4gPj4gd2UncmUg bm90IHNjcmV3aW5nIHRoaXMgdXAuCj4gPiA+ID4KPiA+ID4gPiBNYXliZSBBeWFuIGNvdWxkJ3Zl IGJlZW4gYSBiaXQgY2xlYXJlciBpbiBoaXMgbWVzc2FnZSwgYnV0IHRoZSBhc2sgaGVyZSBpcyBm b3IgaWRlYXMKPiA+ID4gPiBvbiBob3cgdXNlcnNwYWNlICJjb21tdW5pY2F0ZXMiIChzdG9yZXM/ KSB0aGUgZmFjdCB0aGF0IHRoZSBidWZmZXJzIGFyZSBwcm90ZWN0ZWQgdG8KPiA+ID4gPiB0aGUg a2VybmVsIGRyaXZlci4gSW4gb3VyIGRpc3BsYXkgcHJvY2Vzc29yIHdlIG5lZWQgdG8gdGhlIHRo ZSBoYXJkd2FyZSB0aGF0IHRoZQo+ID4gPiA+IGJ1ZmZlcnMgYXJlIHByb3RlY3RlZCBiZWZvcmUg aXQgdHJpZXMgdG8gZmV0Y2ggdGhlbSBzbyB0aGF0IGl0IGNhbiAxKSBlbmFibGUgdGhlCj4gPiA+ ID4gYWRkaXRpb25hbCBoYXJkd2FyZSBzaWduYWxpbmcgdGhhdCBzZXRzIHRoZSBwcm90ZWN0aW9u IGFyb3VuZCB0aGUgc3RyZWFtOyBhbmQgMikgcmVhZAo+ID4gPiA+IHRoZSBwcm90ZWN0ZWQgYnVm ZmVycyBpbiBhIHNwZWNpYWwgbW9kZSB3aGVyZSB0aGVyZSB0aGUgbWFnaWMgaGFwcGVucy4KPiA+ IAo+ID4gVGhhdCB3YXMgY2xlYXIsIGJ1dCBmb3IgdGhlIGZ1bGwgcGljdHVyZSB3ZSBhbHNvIG5l ZWQgdG8ga25vdyBob3cKPiA+IHRoZXNlIGJ1ZmZlcnMgYXJlIHByb2R1Y2VkIGFuZCB3aGVyZSB0 aGV5IGFyZSBhbGxvY2F0ZWQuIE9uZSBhcHByb2FjaAo+ID4gd291bGQgYmUgdG8gaGF2ZSBhIGRt YS1idWYgaGVhcCB0aGF0IGdpdmVzIHlvdSBlbmNyeXB0ZWQgYnVmZmVycyBiYWNrLgo+ID4gV2l0 aCB0aGF0IHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgb25seSBlbmNyeXB0aW9uLWF3YXJlIGRy aXZlcnMKPiA+IGFsbG93IHN1Y2ggYnVmZmVycyB0byBiZSBpbXBvcnRlZCwgYW5kIHRoZSBlbnRp cmUgcHJvYmxlbSBiZWNvbWVzIGEKPiA+IGtlcm5lbC1pbnRlcm5hbCBvbmUgLSBhc2lkZSBmcm9t IGFsbG9jYXRpbmcgdGhlIHJpZ2h0IGtpbmQgb2YgYnVmZmVyCj4gPiBhdCB0aGUgcmlnaHQgcGxh Y2UuCj4gPiAKPiAKPiBJbiBvdXIgY2FzZSwgd2UnZCBiZSBzdXBwb3J0aW5nIGEgc3lzdGVtIGxp a2UgVFpNUC0xLCB0aGVyZSdzIGEKPiBMaW5hcm8gY29ubmVjdCBwcmVzZW50YXRpb24gb24gaXQg aGVyZToKPiBodHRwczovL2Nvbm5lY3QubGluYXJvLm9yZy9yZXNvdXJjZXMvaGtnMTgvaGtnMTgt NDA4Lwo+IAo+IFRoZSBzaW1wbGVzdCB3YXkgdG8gaW1wbGVtZW50IHRoaXMgaXMgZm9yIGZpcm13 YXJlIHRvIHNldCB1cCBhCj4gY2FydmVvdXQgd2hpY2ggaXQgdGVsbHMgbGludXggaXMgc2VjdXJl LiBBIGxpbnV4IGFsbG9jYXRvciAoaW9uLCBnZW0sCj4gdmIyLCB3aGF0ZXZlcikgY2FuIGFsbG9j YXRlIGZyb20gdGhpcyBjYXJ2ZW91dCwgYW5kIHRhZyB0aGUgYnVmZmVyIGFzCj4gc2VjdXJlLgo+ IAo+IEluIHRoaXMga2luZCBvZiBzeXN0ZW0sIGxpbnV4IGRvZXNuJ3QgbmVjZXNzYXJpbHkgbmVl ZCB0byBrbm93Cj4gYW55dGhpbmcgYWJvdXQgaG93IGJ1ZmZlcnMgYXJlIHByb3RlY3RlZCwgb3Ig d2hhdCBIVyBpcyBjYXBhYmxlIG9mIC0KPiBpdCBvbmx5IG5lZWRzIHRvIGNhcnJ5IGFyb3VuZCB0 aGUgImlzX3Byb3RlY3RlZCIgZmxhZy4KPiAKPiBIZXJlLCB0aGUgVEVFIGlzIHVsdGltYXRlbHkg cmVzcG9uc2libGUgZm9yIGRlY2lkaW5nIHdoaWNoIEhXIGdldHMKPiBhY2Nlc3MgdG8gYSBidWZm ZXIuIEkgZG9uJ3Qgc2VlIGEgYmVuZWZpdCBvZiBoYXZpbmcgbGludXggZGVjaWRlIHdoaWNoCj4g ZHJpdmVycyBjYW4gb3IgY2Fubm90IGltcG9ydCBhIGJ1ZmZlciwgYmVjYXVzZSB0aGF0IGRlY2lz aW9uIHNob3VsZCBiZQo+IGhhbmRsZWQgYnkgdGhlIFRFRS4KPiAKPiBGb3IgcHJvdmluZyBvdXQg dGhlIHBpcGVsaW5lLCBJTU8gaXQgZG9lc24ndCBtYXR0ZXIgd2hldGhlciB0aGUKPiBidWZmZXJz IGFyZSBwcm90ZWN0ZWQgb3Igbm90LiBGb3Igb3VyIERQVSwgYWxsIHRoYXQgbWF0dGVycyBpcyB0 aGF0IGlmCj4gdGhlIGJ1ZmZlciBjbGFpbXMgdG8gYmUgcHJvdGVjdGVkLCB3ZSBoYXZlIHRvIHNl dCBvdXIgcHJvdGVjdGVkCj4gY29udHJvbCBiaXQuIE5vdGhpbmcgbW9yZS4gQUZBSUsgaXQgc2hv dWxkIHdvcmsgdGhlIHNhbWUgZm9yIG90aGVyCj4gVFpNUC0xIGltcGxlbWVudGF0aW9ucy4KPiAK PiA+ID4gPiBTbyB5ZWFoLCB3ZSBrbm93IHdlIGRvIHdhbnQgZnVsbCB1c2Vyc3BhY2Ugc3VwcG9y dCwgd2UncmUgcHJvZGRpbmcgdGhlIGNvbW11bml0eSBvbgo+ID4gPiA+IGFuc3dlcnMgb24gaG93 IHRvIGJlc3QgbGV0IHRoZSBrZXJuZWwgc2lkZSBrbm93IHdoYXQgdXNlcnNwYWNlIGhhcyBkb25l Lgo+ID4gPgo+ID4gPiBBY3R1YWxseSB0aGlzIGlzIGludGVyZXN0aW5nIGZvciBvdGhlciBtdWx0 aW1lZGlhIFNvQ3MgaW1wbGVtZW50aW5nIHNlY3VyZSB2aWRlbyBkZWNvZGUKPiA+ID4gcGF0aHMg d2hlcmUgdmlkZW8gYnVmZmVycyBhcmUgYWxsb2NhdGVkIGFuZCBtYW5hZ2VkIGJ5IGEgdHJ1c3Rl ZCBhcHAuCj4gPiAKPiA+IFllYWggSSBleHBlY3QgdGhlcmUncyBtb3JlIHRoYW4ganVzdCBhcm0g d2FudGluZyB0aGlzLiBJIGFsc28gd29uZGVyCj4gPiBob3cgdGhhdCBpbnRlcmFjdHMgd2l0aCB0 aGUgc2VjdXJlIG1lbW9yeSBhbGxvY2F0b3IgdGhhdCB3YXMgYm9iYmluZwo+ID4gYXJvdW5kIG9u IGRyaS1kZXZlbCBmb3IgYSB3aGlsZSwgYnV0IHNlZW1zIHRvIG5vdCBoYXZlIGdvbmUgYW55d2hl cmUuCj4gPiBUaGF0IHRoaW5nIGltcGxlbWVudGVkIG15IGlkZWEgb2YgInNlY3VyZSBtZW1vcnkg aXMgb25seSBhbGxvY2F0ZWQgYnkKPiA+IGEgc3BlY2lhbCBlbnRpdHkiLgo+ID4gLURhbmllbAo+ IAo+IExpa2UgSSBzYWlkLCBmb3IgdXMgYWxsIHdlIG5lZWQgaXMgYSB3YXkgdG8gY2FycnkgYXJv dW5kIGEgMS1iaXQKPiAiaXNfcHJvdGVjdGVkIiBmbGFnIHdpdGggYSBidWZmZXIuIENvdWxkIG90 aGVyIGZvbGtzIHNoYXJlIHdoYXQncwo+IG5lZWRlZCBmb3IgdGhlaXIgc3lzdGVtcyBzbyB3ZSBj YW4gcmVhc29uIGFib3V0IHNvbWV0aGluZyB0aGF0IHdvcmtzCj4gZm9yIGFsbD8KClRvIG1ha2Ug dGhpbmdzIGEgYml0IG1vcmUgc3BlY2lmaWMsIHdlIGFyZSB0aGlua2luZyBvZiB0aGUgZm9sbG93 aW5nCnBhdGNoIDotCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kbWEtYnVmLmggYi9pbmNs dWRlL2xpbnV4L2RtYS1idWYuaAppbmRleCBlYzIxMmNiMjdmZGMuLjM2ZjA4MTMwNzNhMiAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9saW51eC9kbWEtYnVmLmgKKysrIGIvaW5jbHVkZS9saW51eC9kbWEt YnVmLmgKQEAgLTI3OSw2ICsyNzksNyBAQCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgewogICogICAgICAg ICBrZXJuZWwgbW9kdWxlLgogICogQGxpc3Rfbm9kZTogbm9kZSBmb3IgZG1hX2J1ZiBhY2NvdW50 aW5nIGFuZCBkZWJ1Z2dpbmcuCiAgKiBAcHJpdjogZXhwb3J0ZXIgc3BlY2lmaWMgcHJpdmF0ZSBk YXRhIGZvciB0aGlzIGJ1ZmZlciBvYmplY3QuCisgKiBAaXNfcHJvdGVjdGVkOiBkZW5vdGVzIHRo YXQgdGhlIGJ1ZmZlciBpcwpzZWN1cmUvcHJvdGVjdGVkL2VuY3J5cHRlZC90cnVzdGVkLgogICog QHJlc3Y6IHJlc2VydmF0aW9uIG9iamVjdCBsaW5rZWQgdG8gdGhpcyBkbWEtYnVmCiAgKiBAcG9s bDogZm9yIHVzZXJzcGFjZSBwb2xsIHN1cHBvcnQKICAqIEBjYl9leGNsOiBmb3IgdXNlcnNwYWNl IHBvbGwgc3VwcG9ydApAQCAtMzA2LDYgKzMwNyw3IEBAIHN0cnVjdCBkbWFfYnVmIHsKICAgICAg ICBzdHJ1Y3QgbW9kdWxlICpvd25lcjsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Rfbm9k ZTsKICAgICAgICB2b2lkICpwcml2OworICAgICAgIGJvb2wgaXNfcHJvdGVjdGVkOwogICAgICAg IHN0cnVjdCBkbWFfcmVzdiAqcmVzdjsKIAogICAgICAgIC8qIHBvbGwgc3VwcG9ydCAqLwoKQGFs bCwgQGFtZGdwdS1mb2xrcyA6LSBJcyB0aGlzIHNvbWV0aGluZyB5b3UgY2FuIHVzZSBvZiB0byBk ZW5vdGUKc2VjdXJlL3Byb3RlY3RlZC9lbmNyeXB0ZWQvdHJ1c3RlZCBidWZmZXJzID8KClRoZSB3 YXkgJ2lzX3Byb3RlY3RlZCcgZmxhZyBnZXRzIHVzZWQgdG8gYWxsb2NhdGUKc2VjdXJlL3Byb3Rl Y3RlZC9lbmNyeXB0ZWQgYnVmZmVycyB3aWxsIGJlIHZlbmRvciBzcGVjaWZpYy4KClBsZWFzZSBj b21tZW50IHRvIGxldCB1cyBrbm93IGlmIGl0IGxvb2tzIHVzZWZ1bCB0byBub24gQXJtIGZvbGtz Lgo+IAo+IFRoYW5rcyEKPiAtQnJpYW4KPiAKPiA+IAo+ID4gPgo+ID4gPiBOZWlsCj4gPiA+Cj4g PiA+ID4KPiA+ID4gPiBCZXN0IHJlZ2FyZHMsCj4gPiA+ID4gTGl2aXUKPiA+ID4gPgo+ID4gPiA+ Cj4gPiA+ID4+IC1EYW5pZWwKPiA+ID4gPj4KPiA+ID4gPj4+Cj4gPiA+ID4+PiAtLS8KPiA+ID4g Pj4+Cj4gPiA+ID4+PiAtLS0KPiA+ID4gPj4+ICBpbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2Mu aCB8IDkgKysrKysrKysrCj4gPiA+ID4+PiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygr KQo+ID4gPiA+Pj4KPiA+ID4gPj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9m b3VyY2MuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oCj4gPiA+ID4+PiBpbmRleCAz ZmVlYWEzZjk4N2EuLjM4ZTVlODFkMTFmZSAxMDA2NDQKPiA+ID4gPj4+IC0tLSBhL2luY2x1ZGUv dWFwaS9kcm0vZHJtX2ZvdXJjYy5oCj4gPiA+ID4+PiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2Ry bV9mb3VyY2MuaAo+ID4gPiA+Pj4gQEAgLTc0Miw2ICs3NDIsMTUgQEAgZXh0ZXJuICJDIiB7Cj4g PiA+ID4+PiAgICovCj4gPiA+ID4+PiAgI2RlZmluZSBBRkJDX0ZPUk1BVF9NT0RfQkNIICAgICAo MVVMTCA8PCAxMSkKPiA+ID4gPj4+Cj4gPiA+ID4+PiArLyoKPiA+ID4gPj4+ICsgKiBQcm90ZWN0 ZWQgZnJhbWVidWZmZXIKPiA+ID4gPj4+ICsgKgo+ID4gPiA+Pj4gKyAqIFRoZSBmcmFtZWJ1ZmZl ciBpcyBhbGxvY2F0ZWQgaW4gYSBwcm90ZWN0ZWQgc3lzdGVtIG1lbW9yeSB3aGljaCBjYW4gYmUg YWNjZXNzZWQKPiA+ID4gPj4+ICsgKiB2aWEgc29tZSBzcGVjaWFsIGhhcmR3YXJlIHNpZ25hbHMg ZnJvbSB0aGUgZHB1LiBUaGlzIGlzIHVzZWQgdG8gc3VwcG9ydAo+ID4gPiA+Pj4gKyAqICdHUkFM TE9DX1VTQUdFX1BST1RFQ1RFRCcgaW4gb3VyIGZyYW1lYnVmZmVyIGZvciBFR0xfRVhUX3Byb3Rl Y3RlZF9jb250ZW50Lgo+ID4gPiA+Pj4gKyAqLwo+ID4gPiA+Pj4gKyNkZWZpbmUgRFJNX0ZPUk1B VF9NT0RfQVJNX1BST1RFQ1RFRCAgICAgICBmb3VyY2NfbW9kX2NvZGUoQVJNLCAoMVVMTCA8PCA1 NSkpCj4gPiA+ID4+PiArCj4gPiA+ID4+PiAgLyoKPiA+ID4gPj4+ICAgKiBBbGx3aW5uZXIgdGls ZWQgbW9kaWZpZXIKPiA+ID4gPj4+ICAgKgo+ID4gPiA+Pj4gLS0KPiA+ID4gPj4+IDIuMjMuMAo+ ID4gPiA+Pj4KPiA+ID4gPj4KPiA+ID4gPj4gLS0KPiA+ID4gPj4gRGFuaWVsIFZldHRlcgo+ID4g PiA+PiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+ID4gPj4gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKPiA+ID4gPgo+ID4gPgo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4g PiA+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiA+IAo+ID4gCj4gPiAK PiA+IC0tIAo+ID4gRGFuaWVsIFZldHRlcgo+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENv cnBvcmF0aW9uCj4gPiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNo Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZngg bWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==