From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v6] drm/i915: Add IOCTL Param to control data port coherency. Date: Wed, 10 Oct 2018 08:29:03 +0100 Message-ID: <0d5a6279-0287-f169-3d97-b7d484a0a93d@linux.intel.com> References: <1521463055-5325-2-git-send-email-tomasz.lis@intel.com> <1539108371-25517-1-git-send-email-tomasz.lis@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id AD61C89FD4 for ; Wed, 10 Oct 2018 07:29:07 +0000 (UTC) In-Reply-To: <1539108371-25517-1-git-send-email-tomasz.lis@intel.com> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomasz Lis , intel-gfx@lists.freedesktop.org Cc: bartosz.dunajski@intel.com List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA5LzEwLzIwMTggMTk6MDYsIFRvbWFzeiBMaXMgd3JvdGU6Cj4gVGhlIHBhdGNoIGFkZHMg YSBwYXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgZGF0YSBwb3J0IGNvaGVyZW5jeSBmdW5jdGlvbmFs aXR5Cj4gb24gYSBwZXItY29udGV4dCBsZXZlbC4gV2hlbiB0aGUgSU9DVEwgaXMgY2FsbGVkLCBh IGNvbW1hbmQgdG8gc3dpdGNoIGRhdGEKPiBwb3J0IGNvaGVyZW5jeSBzdGF0ZSBpcyBhZGRlZCB0 byB0aGUgb3JkZXJlZCBsaXN0LiBBbGwgcHJpb3IgcmVxdWVzdHMgYXJlCj4gZXhlY3V0ZWQgb24g b2xkIGNvaGVyZW5jeSBzZXR0aW5ncywgYW5kIGFsbCBleGVjIHJlcXVlc3RzIGFmdGVyIHRoZSBJ T0NUTAo+IHdpbGwgdXNlIG5ldyBzZXR0aW5ncy4KPiAKPiBSYXRpb25hbGU6Cj4gCj4gVGhlIE9w ZW5DTCBkcml2ZXIgZGV2ZWxwZXJzIHJlcXVlc3RlZCBhIGZ1bmN0aW9uYWxpdHkgdG8gY29udHJv bCBjYWNoZQo+IGNvaGVyZW5jeSBhdCBkYXRhIHBvcnQgbGV2ZWwuIEtlZXBpbmcgdGhlIGNvaGVy ZW5jeSBhdCB0aGF0IGxldmVsIGlzIGRpc2FibGVkCj4gYnkgZGVmYXVsdCBkdWUgdG8gaXRzIHBl cmZvcm1hbmNlIGNvc3RzLiBPcGVuQ0wgZHJpdmVyIGlzIHBsYW5uaW5nIHRvCj4gZW5hYmxlIGl0 IGZvciBhIHNtYWxsIHN1YnNldCBvZiBzdWJtaXNzaW9ucywgd2hlbiBzdWNoIGZ1bmN0aW9uYWxp dHkgaXMKPiByZXF1aXJlZC4gQmVsb3cgYXJlIGFuc3dlcnMgdG8gYmFzaWMgcXVlc3Rpb24gZXhw bGFpbmluZyBiYWNrZ3JvdW5kCj4gb2YgdGhlIGZ1bmN0aW9uYWxpdHkgYW5kIHJlYXNvbmluZyBm b3IgdGhlIHByb3Bvc2VkIGltcGxlbWVudGF0aW9uOgo+IAo+IDEuIFdoeSBkbyB3ZSBuZWVkIGEg Y29oZXJlbmN5IGVuYWJsZS9kaXNhYmxlIHN3aXRjaCBmb3IgbWVtb3J5IHRoYXQgaXMgc2hhcmVk Cj4gYmV0d2VlbiBDUFUgYW5kIEdFTiAoR1BVKT8KPiAKPiBNZW1vcnkgY29oZXJlbmN5IGJldHdl ZW4gQ1BVIGFuZCBHRU4sIHdoaWxlIGJlaW5nIGEgZ3JlYXQgZmVhdHVyZSB0aGF0IGVuYWJsZXMK PiBDTF9NRU1fU1ZNX0ZJTkVfR1JBSU5fQlVGRkVSIE9DTCBjYXBhYmlsaXR5IG9uIEludGVsIEdF TiBhcmNoaXRlY3R1cmUsIGFkZHMKPiBvdmVyaGVhZCByZWxhdGVkIHRvIHRyYWNraW5nIChzbm9v cGluZykgbWVtb3J5IGluc2lkZSBkaWZmZXJlbnQgY2FjaGUgdW5pdHMKPiAoTDEkLCBMMiQsIEwz JCwgTExDJCwgZXRjLikuIEF0IHRoZSBzYW1lIHRpbWUsIG1pbm9yaXR5IG9mIG1vZGVybiBPQ0wK PiBhcHBsaWNhdGlvbnMgYWN0dWFsbHkgdXNlIENMX01FTV9TVk1fRklORV9HUkFJTl9CVUZGRVIg KGFuZCBoZW5jZSByZXF1aXJlCj4gbWVtb3J5IGNvaGVyZW5jeSBiZXR3ZWVuIENQVSBhbmQgR1BV KS4gVGhlIGdvYWwgb2YgY29oZXJlbmN5IGVuYWJsZS9kaXNhYmxlCj4gc3dpdGNoIGlzIHRvIHJl bW92ZSBvdmVyaGVhZCBvZiBtZW1vcnkgY29oZXJlbmN5IHdoZW4gbWVtb3J5IGNvaGVyZW5jeSBp cyBub3QKPiBuZWVkZWQuCj4gCj4gMi4gV2h5IGRvIHdlIG5lZWQgYSBnbG9iYWwgY29oZXJlbmN5 IHN3aXRjaD8KPiAKPiBJbiBvcmRlciB0byBzdXBwb3J0IEkvTyBjb21tYW5kcyBmcm9tIHdpdGhp biBFVXMgKEV4ZWN1dGlvbiBVbml0cyksIEludGVsIEdFTgo+IElTQSAoR0VOIEluc3RydWN0aW9u IFNldCBBc3NlbWJseSkgY29udGFpbnMgZGVkaWNhdGVkICJzZW5kIiBpbnN0cnVjdGlvbnMuCj4g VGhlc2Ugc2VuZCBpbnN0cnVjdGlvbnMgcHJvdmlkZSBzZXZlcmFsIGFkZHJlc3NpbmcgbW9kZWxz LiBPbmUgb2YgdGhlc2UKPiBhZGRyZXNzaW5nIG1vZGVscyAobmFtZWQgInN0YXRlbGVzcyIpIHBy b3ZpZGVzIG1vc3QgZmxleGlibGUgSS9PIHVzaW5nIHBsYWluCj4gdmlydHVhbCBhZGRyZXNzZXMg KGFzIG9wcG9zZWQgdG8gYnVmZmVyX2hhbmRsZStvZmZzZXQgbW9kZWxzKS4gVGhpcyAic3RhdGVs ZXNzIgo+IG1vZGVsIGlzIHNpbWlsYXIgdG8gcmVndWxhciBtZW1vcnkgbG9hZC9zdG9yZSBvcGVy YXRpb25zIGF2YWlsYWJsZSBvbiB0eXBpY2FsCj4gQ1BVcy4gU2luY2UgdGhpcyBtb2RlbCBwcm92 aWRlcyBJL08gdXNpbmcgYXJiaXRyYXJ5IHZpcnR1YWwgYWRkcmVzc2VzLCBpdAo+IGVuYWJsZXMg YWxnb3JpdGhtaWMgZGVzaWducyB0aGF0IGFyZSBiYXNlZCBvbiBwb2ludGVyLXRvLXBvaW50ZXIg KGUuZy4gYnVmZmVyCj4gb2YgcG9pbnRlcnMpIGNvbmNlcHRzLiBGb3IgaW5zdGFuY2UsIGl0IGFs bG93cyBjcmVhdGluZyB0cmVlLWxpa2UgZGF0YQo+IHN0cnVjdHVyZXMgc3VjaCBhczoKPiAgICAg ICAgICAgICAgICAgICAgIF9fX19fX19fX19fX19fX18KPiAgICAgICAgICAgICAgICAgICAgfCAg ICAgIE5PREUxICAgICB8Cj4gICAgICAgICAgICAgICAgICAgIHwgdWludDY0X3QgZGF0YSAgfAo+ ICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLXwKPiAgICAgICAgICAgICAgICAg ICAgfCBOT0RFKiAgfCAgTk9ERSp8Cj4gICAgICAgICAgICAgICAgICAgICstLS0tLS0tLSstLS0t LS0tKwo+ICAgICAgICAgICAgICAgICAgICAgIC8gICAgICAgICAgICAgIFwKPiAgICAgX19fX19f X19fX19fX19fXy8gICAgICAgICAgICAgICAgXF9fX19fX19fX19fX19fX18KPiAgICB8ICAgICAg Tk9ERTIgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgIE5PREUzICAgICB8Cj4gICAgfCB1aW50 NjRfdCBkYXRhICB8ICAgICAgICAgICAgICAgIHwgdWludDY0X3QgZGF0YSAgfAo+ICAgICstLS0t LS0tLS0tLS0tLS0tfCAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLXwKPiAgICB8IE5P REUqICB8ICBOT0RFKnwgICAgICAgICAgICAgICAgfCBOT0RFKiAgfCAgTk9ERSp8Cj4gICAgKy0t LS0tLS0tKy0tLS0tLS0rICAgICAgICAgICAgICAgICstLS0tLS0tLSstLS0tLS0tKwo+IAo+IFBs ZWFzZSBub3RlIHRoYXQgcG9pbnRlcnMgaW5zaWRlIHN1Y2ggc3RydWN0dXJlcyBjYW4gcG9pbnQg dG8gbWVtb3J5IGxvY2F0aW9ucwo+IGluIGRpZmZlcmVudCBPQ0wgYWxsb2NhdGlvbnMgIC0gZS5n LiBOT0RFMSBhbmQgTk9ERTIgY2FuIHJlc2lkZSBpbiBvbmUgT0NMCj4gYWxsb2NhdGlvbiB3aGls ZSBOT0RFMyByZXNpZGVzIGluIGEgY29tcGxldGVseSBzZXBhcmF0ZSBPQ0wgYWxsb2NhdGlvbi4K PiBBZGRpdGlvbmFsbHksIHN1Y2ggcG9pbnRlcnMgY2FuIGJlIHNoYXJlZCB3aXRoIENQVSAoaS5l LiB1c2luZyBTVk0gLSBTaGFyZWQKPiBWaXJ0dWFsIE1lbW9yeSBmZWF0dXJlKS4gVXNpbmcgcG9p bnRlcnMgZnJvbSBkaWZmZXJlbnQgYWxsb2NhdGlvbnMgZG9lc24ndAo+IGFmZmVjdCB0aGUgc3Rh dGVsZXNzIGFkZHJlc3NpbmcgbW9kZWwgd2hpY2ggZXZlbiBhbGxvd3Mgc2NhdHRlcmVkIHJlYWRp bmcgZnJvbQo+IGRpZmZlcmVudCBhbGxvY2F0aW9ucyBhdCB0aGUgc2FtZSB0aW1lIChpLmUuIGJ5 IHV0aWxpemluZyBTSU1ELW5hdHVyZSBvZiBzZW5kCj4gaW5zdHJ1Y3Rpb25zKS4KPiAKPiBXaGVu IGl0IGNvbWVzIHRvIGNvaGVyZW5jeSBwcm9ncmFtbWluZywgc2VuZCBpbnN0cnVjdGlvbnMgaW4g c3RhdGVsZXNzIG1vZGVsCj4gY2FuIGJlIGVuY29kZWQgKGF0IElTQSBsZXZlbCkgdG8gZWl0aGVy IHVzZSBvciBkaXNhYmxlIGNvaGVyZW5jeS4gSG93ZXZlciwgZm9yCj4gZ2VuZXJpYyBPQ0wgYXBw bGljYXRpb25zIChzdWNoIGFzIGV4YW1wbGUgd2l0aCB0cmVlLWxpa2UgZGF0YSBzdHJ1Y3R1cmUp LCBPQ0wKPiBjb21waWxlciBpcyBub3QgYWJsZSB0byBkZXRlcm1pbmUgb3JpZ2luIG9mIG1lbW9y eSBwb2ludGVkIHRvIGJ5IGFuIGFyYml0cmFyeQo+IHBvaW50ZXIgLSBpLmUuIGlzIG5vdCBhYmxl IHRvIHRyYWNrIGdpdmVuIHBvaW50ZXIgYmFjayB0byBhIHNwZWNpZmljCj4gYWxsb2NhdGlvbi4g QXMgc3VjaCwgaXQncyBub3QgYWJsZSB0byBkZWNpZGUgd2hldGhlciBjb2hlcmVuY3kgaXMgbmVl ZGVkIG9yIG5vdAo+IGZvciBzcGVjaWZpYyBwb2ludGVyIChvciBmb3Igc3BlY2lmaWMgSS9PIGlu c3RydWN0aW9uKS4gQXMgYSByZXN1bHQsIGNvbXBpbGVyCj4gZW5jb2RlcyBhbGwgc3RhdGVsZXNz IHNlbmRzIGFzIGNvaGVyZW50IChkb2luZyBvdGhlcndpc2Ugd291bGQgbGVhZCB0bwo+IGZ1bmN0 aW9uYWwgaXNzdWVzIHJlc3VsdGluZyBmcm9tIGRhdGEgY29ycnVwdGlvbikuIFBsZWFzZSBub3Rl IHRoYXQgaXQgd291bGQgYmUKPiBwb3NzaWJsZSB0byB3b3JrYXJvdW5kIHRoaXMgKGUuZy4gYmFz ZWQgb24gYWxsb2NhdGlvbnMgbWFwIGFuZCBwb2ludGVyIGJvdW5kcwo+IGNoZWNraW5nIHByaW9y IHRvIGVhY2ggSS9PIGluc3RydWN0aW9uKSBidXQgdGhlIHBlcmZvcm1hbmNlIGNvc3Qgb2Ygc3Vj aAo+IHdvcmthcm91bmQgd291bGQgYmUgbWFueSB0aW1lcyBncmVhdGVyIHRoYW4gdGhlIGNvc3Qg b2Yga2VlcGluZyBjb2hlcmVuY3kKPiBhbHdheXMgZW5hYmxlZC4gQXMgc3VjaCwgZW5hYmxpbmcv ZGlzYWJsaW5nIG1lbW9yeSBjb2hlcmVuY3kgYXQgR0VOIElTQSBsZXZlbAo+IGlzIG5vdCBmZWFz aWJsZSBhbmQgYWx0ZXJuYXRpdmUgbWV0aG9kIGlzIG5lZWRlZC4KPiAKPiBTdWNoIGFsdGVybmF0 aXZlIHNvbHV0aW9uIGlzIHRvIGhhdmUgYSBnbG9iYWwgY29oZXJlbmN5IHN3aXRjaCB0aGF0IGFs bG93cwo+IGRpc2FibGluZyBjb2hlcmVuY3kgZm9yIHNpbmdsZSAodGhvdWdoIGVudGlyZSkgR1BV IHN1Ym1pc3Npb24uIFRoaXMgaXMKPiBiZW5lZmljaWFsIGJlY2F1c2UgdGhpcyB3YXkgd2U6Cj4g KiBjYW4gZW5hYmxlIChhbmQgcGF5IGZvcikgY29oZXJlbmN5IG9ubHkgaW4gc3VibWlzc2lvbnMg dGhhdCBhY3R1YWxseSBuZWVkCj4gY29oZXJlbmN5IChzdWJtaXNzaW9ucyB0aGF0IHVzZSBDTF9N RU1fU1ZNX0ZJTkVfR1JBSU5fQlVGRkVSIHJlc291cmNlcykKPiAqIGRvbid0IGNhcmUgYWJvdXQg Y29oZXJlbmN5IGF0IEdFTiBJU0EgZ3JhbnVsYXJpdHkgKG5vIHBlcmZvcm1hbmNlIGltcGFjdCkK PiAKPiAzLiBXaWxsIGNvaGVyZW5jeSBzd2l0Y2ggYmUgdXNlZCBmcmVxdWVudGx5Pwo+IAo+IFRo ZXJlIGFyZSBzY2VuYXJpb3MgdGhhdCB3aWxsIHJlcXVpcmUgZnJlcXVlbnQgdG9nZ2xpbmcgb2Yg dGhlIGNvaGVyZW5jeQo+IHN3aXRjaC4KPiBFLmcuIGFuIGFwcGxpY2F0aW9uIGhhcyB0d28gT0NM IGNvbXB1dGUga2VybmVsczoga2Vybl9tYXN0ZXIgYW5kIGtlcm5fd29ya2VyLgo+IGtlcm5fbWFz dGVyIHVzZXMsIGNvbmN1cnJlbnRseSB3aXRoIENQVSwgc29tZSBmaW5lIGdyYWluIFNWTSByZXNv dXJjZXMKPiAoQ0xfTUVNX1NWTV9GSU5FX0dSQUlOX0JVRkZFUikuIFRoZXNlIHJlc291cmNlcyBj b250YWluIGRlc2NyaXB0b3JzIG9mCj4gY29tcHV0YXRpb25hbCB3b3JrIHRoYXQgbmVlZHMgdG8g YmUgZXhlY3V0ZWQuIGtlcm5fbWFzdGVyIGFuYWx5emVzIGluY29taW5nCj4gd29yayBkZXNjcmlw dG9ycyBhbmQgcG9wdWxhdGVzIGEgcGxhaW4gT0NMIGJ1ZmZlciAobm9uLWZpbmUtZ3JhaW4pIHdp dGggcGF5bG9hZAo+IGZvciBrZXJuX3dvcmtlci4gT25jZSBrZXJuX21hc3RlciBpcyBkb25lLCBr ZXJuX3dvcmtlciBraWNrcy1pbiBhbmQgcHJvY2Vzc2VzCj4gdGhlIHBheWxvYWQgdGhhdCBrZXJu X21hc3RlciBwcm9kdWNlZC4gVGhlc2UgdHdvIGtlcm5lbHMgd29yayBpbiBhIGxvb3AsIG9uZQo+ IGFmdGVyIGFub3RoZXIuIFNpbmNlIG9ubHkga2Vybl9tYXN0ZXIgcmVxdWlyZXMgY29oZXJlbmN5 LCBrZXJuX3dvcmtlciBzaG91bGQKPiBub3QgYmUgZm9yY2VkIHRvIHBheSBmb3IgaXQuIFRoaXMg bWVhbnMgdGhhdCB3ZSBuZWVkIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8KPiB0b2dnbGUgY29oZXJl bmN5IHN3aXRjaCBvbiBvciBvZmYgcGVyIGVhY2ggR1BVIHN1Ym1pc3Npb246Cj4gKEVOQUJMRSBD T0hFUkVOQ1kpIGtlcm5fbWFzdGVyIC0+IChESVNBQkxFIENPSEVSRU5DWSlrZXJuX3dvcmtlciAt PiAoRU5BQkxFCj4gQ09IRVJFTkNZKSBrZXJuX21hc3RlciAtPiAoRElTQUJMRSBDT0hFUkVOQ1kp a2Vybl93b3JrZXIgLT4gLi4uCj4gCj4gdjI6IEZpeGVkIGNvbXBpbGF0aW9uIHdhcm5pbmcuCj4g djM6IFJlZmFjdG9yZWQgdGhlIHBhdGNoIHRvIGFkZCBJT0NUTCBpbnN0ZWFkIG9mIGV4ZWMgZmxh Zy4KPiB2NDogUmVuYW1lZCBhbmQgZG9jdW1lbnRlZCB0aGUgQVBJIGZsYWcuIFVzZWQgc3RyaWN0 IHZhbHVlcy4KPiAgICAgIFJlbW92ZWQgcmVkdW5kYW50IEdFTV9XQVJOX09OKClzLiBJbXByb3Zl ZCB0byBjb2Rpbmcgc3RhbmRhcmQuCj4gICAgICBJbnRyb2R1Y2VkIGEgbWFjcm8gZm9yIGNoZWNr aW5nIHdoZXRoZXIgaGFyZHdhcmUgc3VwcG9ydHMgdGhlIGZlYXR1cmUuCj4gdjU6IFJlbmFtZWQg c29tZSBsb2NhbHMuIE1hZGUgdGhlIGZsYWcgd3JpdGUgdG8gYmUgbGF6eS4KPiAgICAgIFVwZGF0 ZWQgY29tbWVudHMgdG8gcmVtb3ZlIG1pc2NvbmNlcHRpb25zLiBBZGRlZCBnZW4xMSBzdXBwb3J0 Lgo+IHY2OiBNb3ZlZCB0aGUgZmxhZyB3cml0ZSB0byBnZW44X2VuaXRfZmx1c2hfcmVuZGVyKCku IFJlbmFtZWQgc29tZSBmdW5jdGlvbnMuCj4gICAgICBNb3ZlZCBhbGwgZmxhZ3MgY2hlY2tpbmcg dG8gb25lIHBsYWNlLiBBZGRlZCBtdXRleCBjaGVjay4KPiB2NzogUmVtb3ZlZCAyIGNvbW1lbnRz LCBpbXByb3ZlZCBBUEkgY29tbWVudC4gKEpvb25hcykKPiAKPiBDYzogSm9vbmFzIExhaHRpbmVu IDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KPiBDYzogTWljaGFsIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBp bnRlbC5jb20+Cj4gCj4gQnNwZWM6IDExNDE5Cj4gQnNwZWM6IDE5MTc1Cj4gU2lnbmVkLW9mZi1i eTogVG9tYXN6IExpcyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgfCAyOSArKysrKysrKysrKystLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaCB8IDE3ICsrKysrKysrKwo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgNjQgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAg ICAgfCAxMCArKysrKysKPiAgIDUgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDUg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggNzk0YThhMC4u ZTFlYTVjYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yNTg4LDYgKzI1ODgs NyBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgICNkZWZpbmUgSEFTX0VEUkFNKGRldl9wcml2KQkoISEoKGRldl9wcml2KS0+ZWRyYW1fY2Fw ICYgRURSQU1fRU5BQkxFRCkpCj4gICAjZGVmaW5lIEhBU19XVChkZXZfcHJpdikJKChJU19IQVNX RUxMKGRldl9wcml2KSB8fCBcCj4gICAJCQkJIElTX0JST0FEV0VMTChkZXZfcHJpdikpICYmIEhB U19FRFJBTShkZXZfcHJpdikpCj4gKyNkZWZpbmUgSEFTX0RBVEFfUE9SVF9DT0hFUkVOQ1koZGV2 X3ByaXYpCShJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gICAKPiAgICNkZWZpbmUgSFdTX05F RURTX1BIWVNJQ0FMKGRldl9wcml2KQkoKGRldl9wcml2KS0+aW5mby5od3NfbmVlZHNfcGh5c2lj YWwpCj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXgg OGNiZTU4MC4uNzE4ZWRlOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMKPiBAQCAtODQ3LDYgKzg0Nyw3IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3lf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIGludCBpOTE1X2dl bV9jb250ZXh0X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCj4gICAJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiAgIHsKPiArCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkZXYpOwo+ICAgCXN0cnVjdCBkcm1faTkx NV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owo+ICAgCXN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSAqYXJncyA9IGRhdGE7Cj4gICAJc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKmN0eDsKPiBAQCAtODY3LDEwICs4NjgsMTAgQEAgaW50IGk5MTVfZ2Vt X2NvbnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKPiAgIAljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9HVFRfU0laRToKPiAgIAkJaWYgKGN0eC0+ cHBndHQpCj4gICAJCQlhcmdzLT52YWx1ZSA9IGN0eC0+cHBndHQtPnZtLnRvdGFsOwo+IC0JCWVs c2UgaWYgKHRvX2k5MTUoZGV2KS0+bW0uYWxpYXNpbmdfcHBndHQpCj4gLQkJCWFyZ3MtPnZhbHVl ID0gdG9faTkxNShkZXYpLT5tbS5hbGlhc2luZ19wcGd0dC0+dm0udG90YWw7Cj4gKwkJZWxzZSBp ZiAoaTkxNS0+bW0uYWxpYXNpbmdfcHBndHQpCj4gKwkJCWFyZ3MtPnZhbHVlID0gaTkxNS0+bW0u YWxpYXNpbmdfcHBndHQtPnZtLnRvdGFsOwo+ICAgCQllbHNlCj4gLQkJCWFyZ3MtPnZhbHVlID0g dG9faTkxNShkZXYpLT5nZ3R0LnZtLnRvdGFsOwo+ICsJCQlhcmdzLT52YWx1ZSA9IGk5MTUtPmdn dHQudm0udG90YWw7Cj4gICAJCWJyZWFrOwo+ICAgCWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX05P X0VSUk9SX0NBUFRVUkU6Cj4gICAJCWFyZ3MtPnZhbHVlID0gaTkxNV9nZW1fY29udGV4dF9ub19l cnJvcl9jYXB0dXJlKGN0eCk7Cj4gQEAgLTg4MSw2ICs4ODIsMTIgQEAgaW50IGk5MTVfZ2VtX2Nv bnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiAgIAljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9QUklPUklUWToKPiAgIAkJYXJncy0+dmFsdWUg PSBjdHgtPnNjaGVkLnByaW9yaXR5ID4+IEk5MTVfVVNFUl9QUklPUklUWV9TSElGVDsKPiAgIAkJ YnJlYWs7Cj4gKwljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9EQVRBX1BPUlRfQ09IRVJFTkNZOgo+ ICsJCWlmICghSEFTX0RBVEFfUE9SVF9DT0hFUkVOQ1koaTkxNSkpCj4gKwkJCXJldCA9IC1FTk9E RVY7Cj4gKwkJZWxzZQo+ICsJCQlhcmdzLT52YWx1ZSA9IGk5MTVfZ2VtX2NvbnRleHRfaXNfZGF0 YV9wb3J0X2NvaGVyZW50KGN0eCk7Cj4gKwkJYnJlYWs7Cj4gICAJZGVmYXVsdDoKPiAgIAkJcmV0 ID0gLUVJTlZBTDsKPiAgIAkJYnJlYWs7Cj4gQEAgLTg5Myw2ICs5MDAsNyBAQCBpbnQgaTkxNV9n ZW1fY29udGV4dF9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+ICAgaW50IGk5MTVfZ2VtX2NvbnRleHRfc2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxl KQo+ICAgewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRldik7 Cj4gICAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJp dmVyX3ByaXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtICphcmdzID0g ZGF0YTsKPiAgIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+IEBAIC05MzksNyArOTQ3 LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfc2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAo+ICAgCQkJaWYgKGFyZ3MtPnNpemUpCj4gICAJCQkJ cmV0ID0gLUVJTlZBTDsKPiAtCQkJZWxzZSBpZiAoISh0b19pOTE1KGRldiktPmNhcHMuc2NoZWR1 bGVyICYgSTkxNV9TQ0hFRFVMRVJfQ0FQX1BSSU9SSVRZKSkKPiArCQkJZWxzZSBpZiAoIShpOTE1 LT5jYXBzLnNjaGVkdWxlciAmIEk5MTVfU0NIRURVTEVSX0NBUF9QUklPUklUWSkpCj4gICAJCQkJ cmV0ID0gLUVOT0RFVjsKPiAgIAkJCWVsc2UgaWYgKHByaW9yaXR5ID4gSTkxNV9DT05URVhUX01B WF9VU0VSX1BSSU9SSVRZIHx8Cj4gICAJCQkJIHByaW9yaXR5IDwgSTkxNV9DT05URVhUX01JTl9V U0VSX1BSSU9SSVRZKQo+IEBAIC05NTMsNiArOTYxLDE5IEBAIGludCBpOTE1X2dlbV9jb250ZXh0 X3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJ CX0KPiAgIAkJYnJlYWs7Cj4gICAKPiArCWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX0RBVEFfUE9S VF9DT0hFUkVOQ1k6Cj4gKwkJaWYgKGFyZ3MtPnNpemUpCj4gKwkJCXJldCA9IC1FSU5WQUw7Cj4g KwkJZWxzZSBpZiAoIUhBU19EQVRBX1BPUlRfQ09IRVJFTkNZKGk5MTUpKQo+ICsJCQlyZXQgPSAt RU5PREVWOwo+ICsJCWVsc2UgaWYgKGFyZ3MtPnZhbHVlID09IDEpCj4gKwkJCWk5MTVfZ2VtX2Nv bnRleHRfc2V0X2RhdGFfcG9ydF9jb2hlcmVudChjdHgpOwo+ICsJCWVsc2UgaWYgKGFyZ3MtPnZh bHVlID09IDApCj4gKwkJCWk5MTVfZ2VtX2NvbnRleHRfY2xlYXJfZGF0YV9wb3J0X2NvaGVyZW50 KGN0eCk7Cj4gKwkJZWxzZQo+ICsJCQlyZXQgPSAtRUlOVkFMOwo+ICsJCWJyZWFrOwo+ICsKPiAg IAlkZWZhdWx0Ogo+ICAgCQlyZXQgPSAtRUlOVkFMOwo+ICAgCQlicmVhazsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCj4gaW5kZXggZjZkODcwYi4uNTU5NjliYyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKPiBAQCAtMTMxLDYgKzEz MSw4IEBAIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0IHsKPiAgICNkZWZpbmUgQ09OVEVYVF9CQU5O RUQJCQkwCj4gICAjZGVmaW5lIENPTlRFWFRfQ0xPU0VECQkJMQo+ICAgI2RlZmluZSBDT05URVhU X0ZPUkNFX1NJTkdMRV9TVUJNSVNTSU9OCTIKPiArI2RlZmluZSBDT05URVhUX0RBVEFfUE9SVF9D T0hFUkVOVF9SRVFVRVNURUQJNgo+ICsjZGVmaW5lIENPTlRFWFRfREFUQV9QT1JUX0NPSEVSRU5U X0FDVElWRQk3Cj4gICAKPiAgIAkvKioKPiAgIAkgKiBAaHdfaWQ6IC0gdW5pcXVlIGlkZW50aWZp ZXIgZm9yIHRoZSBjb250ZXh0Cj4gQEAgLTI4Myw2ICsyODUsMjEgQEAgc3RhdGljIGlubGluZSB2 b2lkIGk5MTVfZ2VtX2NvbnRleHRfdW5waW5faHdfaWQoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCkKPiAgIAlhdG9taWNfZGVjKCZjdHgtPmh3X2lkX3Bpbl9jb3VudCk7Cj4gICB9Cj4gICAK PiArc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX2NvbnRleHRfaXNfZGF0YV9wb3J0X2NvaGVy ZW50KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gK3sKPiArCXJldHVybiB0ZXN0X2Jp dChDT05URVhUX0RBVEFfUE9SVF9DT0hFUkVOVF9SRVFVRVNURUQsICZjdHgtPmZsYWdzKTsKPiAr fQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfc2V0X2RhdGFfcG9y dF9jb2hlcmVudChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlfX3NldF9i aXQoQ09OVEVYVF9EQVRBX1BPUlRfQ09IRVJFTlRfUkVRVUVTVEVELCAmY3R4LT5mbGFncyk7Cj4g K30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2NsZWFyX2RhdGFf cG9ydF9jb2hlcmVudChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlfX2Ns ZWFyX2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hFUkVOVF9SRVFVRVNURUQsICZjdHgtPmZsYWdz KTsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9jb250ZXh0X2lzX2Rl ZmF1bHQoY29uc3Qgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmMpCj4gICB7Cj4gICAJcmV0dXJu IGMtPnVzZXJfaGFuZGxlID09IERFRkFVTFRfQ09OVEVYVF9IQU5ETEU7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKPiBpbmRleCBmZjBlMmIzLi4zMTNmYjcyIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKPiBAQCAtMjU5LDYgKzI1OSw2MiBAQCBpbnRlbF9scl9jb250ZXh0X2Rlc2Ny aXB0b3JfdXBkYXRlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJY2UtPmxyY19k ZXNjID0gZGVzYzsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgaW50IGVtaXRfc2V0X2RhdGFfcG9ydF9j b2hlcmVuY3koc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIGJvb2wgZW5hYmxlKQo+ICt7Cj4gKwl1 MzIgKmNzOwo+ICsJaTkxNV9yZWdfdCByZWc7Cj4gKwo+ICsJR0VNX0JVR19PTihycS0+ZW5naW5l LT5jbGFzcyAhPSBSRU5ERVJfQ0xBU1MpOwo+ICsJR0VNX0JVR19PTihJTlRFTF9HRU4ocnEtPmk5 MTUpIDwgOSk7Cj4gKwo+ICsJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCA0KTsKPiArCWlmIChJ U19FUlIoY3MpKQo+ICsJCXJldHVybiBQVFJfRVJSKGNzKTsKPiArCj4gKwlpZiAoSU5URUxfR0VO KHJxLT5pOTE1KSA+PSAxMSkKPiArCQlyZWcgPSBJQ0xfSERDX01PREU7Cj4gKwllbHNlIGlmIChJ TlRFTF9HRU4ocnEtPmk5MTUpID49IDEwKQo+ICsJCXJlZyA9IENOTF9IRENfQ0hJQ0tFTjA7Cj4g KwllbHNlCj4gKwkJcmVnID0gSERDX0NISUNLRU4wOwo+ICsKPiArCSpjcysrID0gTUlfTE9BRF9S RUdJU1RFUl9JTU0oMSk7Cj4gKwkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZyk7Cj4g KwlpZiAoZW5hYmxlKQo+ICsJCSpjcysrID0gX01BU0tFRF9CSVRfRElTQUJMRShIRENfRk9SQ0Vf Tk9OX0NPSEVSRU5UKTsKPiArCWVsc2UKPiArCQkqY3MrKyA9IF9NQVNLRURfQklUX0VOQUJMRShI RENfRk9SQ0VfTk9OX0NPSEVSRU5UKTsKPiArCSpjcysrID0gTUlfTk9PUDsKPiArCj4gKwlpbnRl bF9yaW5nX2FkdmFuY2UocnEsIGNzKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3Rh dGljIGludAo+ICtpbnRlbF9scl9jb250ZXh0X3VwZGF0ZV9kYXRhX3BvcnRfY29oZXJlbmN5KHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+ICt7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4ID0gcnEtPmdlbV9jb250ZXh0Owo+ICsJYm9vbCBlbmFibGUgPSB0ZXN0X2JpdChDT05URVhU X0RBVEFfUE9SVF9DT0hFUkVOVF9SRVFVRVNURUQsICZjdHgtPmZsYWdzKTsKPiArCWludCByZXQ7 Cj4gKwo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmcnEtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgp Owo+ICsKPiArCWlmICh0ZXN0X2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hFUkVOVF9BQ1RJVkUs ICZjdHgtPmZsYWdzKSA9PSBlbmFibGUpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJcmV0ID0gZW1p dF9zZXRfZGF0YV9wb3J0X2NvaGVyZW5jeShycSwgZW5hYmxlKTsKPiArCj4gKwlpZiAoIXJldCkg ewo+ICsJCWlmIChlbmFibGUpCj4gKwkJCV9fc2V0X2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hF UkVOVF9BQ1RJVkUsICZjdHgtPmZsYWdzKTsKPiArCQllbHNlCj4gKwkJCV9fY2xlYXJfYml0KENP TlRFWFRfREFUQV9QT1JUX0NPSEVSRU5UX0FDVElWRSwgJmN0eC0+ZmxhZ3MpOwo+ICsJfQo+ICsK PiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gICBzdGF0aWMgdm9pZCB1bndpbmRfd2FfdGFpbChz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgIHsKPiAgIAlycS0+dGFpbCA9IGludGVsX3Jpbmdf d3JhcChycS0+cmluZywgcnEtPndhX3RhaWwgLSBXQV9UQUlMX0JZVEVTKTsKPiBAQCAtMTk2NSw3 ICsyMDIxLDcgQEAgc3RhdGljIGludCBnZW44X2VtaXRfZmx1c2hfcmVuZGVyKHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJlcXVlc3QsCj4gICAJCWk5MTVfZ2d0dF9vZmZzZXQoZW5naW5lLT5zY3JhdGNo KSArIDIgKiBDQUNIRUxJTkVfQllURVM7Cj4gICAJYm9vbCB2Zl9mbHVzaF93YSA9IGZhbHNlLCBk Y19mbHVzaF93YSA9IGZhbHNlOwo+ICAgCXUzMiAqY3MsIGZsYWdzID0gMDsKPiAtCWludCBsZW47 Cj4gKwlpbnQgZXJyLCBsZW47Cj4gICAKPiAgIAlmbGFncyB8PSBQSVBFX0NPTlRST0xfQ1NfU1RB TEw7Cj4gICAKPiBAQCAtMTk5Niw2ICsyMDUyLDEyIEBAIHN0YXRpYyBpbnQgZ2VuOF9lbWl0X2Zs dXNoX3JlbmRlcihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LAo+ICAgCQkvKiBXYUZvckdB TUhhbmc6a2JsICovCj4gICAJCWlmIChJU19LQkxfUkVWSUQocmVxdWVzdC0+aTkxNSwgMCwgS0JM X1JFVklEX0IwKSkKPiAgIAkJCWRjX2ZsdXNoX3dhID0gdHJ1ZTsKPiArCj4gKwkJZXJyID0gaW50 ZWxfbHJfY29udGV4dF91cGRhdGVfZGF0YV9wb3J0X2NvaGVyZW5jeShyZXF1ZXN0KTsKPiArCQlp ZiAoR0VNX1dBUk5fT04oZXJyKSkgewoKQXdvb2dhIGF3b29nYSEgKCh0bSkgYnkgQ2hyaXMpIDop KQoKUGxlYXNlIHNvbWVvbmUgcmV2aWV3IGFuZCBhY2sgbXkgcGF0Y2ggd2hpY2ggbWFrZXMgR0VN X1dBUk5fT04gc2FmZS4KClJlZ2FyZHMsCgpUdnJ0a28KCj4gKwkJCURSTV9ERUJVRygiRGF0YSBQ b3J0IENvaGVyZW5jeSB0b2dnbGUgZmFpbGVkLlxuIik7Cj4gKwkJCXJldHVybiBlcnI7Cj4gKwkJ fQo+ICAgCX0KPiAgIAo+ICAgCWxlbiA9IDY7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+IGluZGV4IDI5OGIy ZTEuLjhmODIxMWIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4g KysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4gQEAgLTE0ODYsNiArMTQ4NiwxNiBA QCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gewo+ICAgI2RlZmluZSAgIEk5MTVf Q09OVEVYVF9NQVhfVVNFUl9QUklPUklUWQkxMDIzIC8qIGluY2x1c2l2ZSAqLwo+ICAgI2RlZmlu ZSAgIEk5MTVfQ09OVEVYVF9ERUZBVUxUX1BSSU9SSVRZCQkwCj4gICAjZGVmaW5lICAgSTkxNV9D T05URVhUX01JTl9VU0VSX1BSSU9SSVRZCS0xMDIzIC8qIGluY2x1c2l2ZSAqLwo+ICsvKgo+ICsg KiBXaGVuIGRhdGEgcG9ydCBsZXZlbCBjb2hlcmVuY3kgaXMgZW5hYmxlZCwgdGhlIEdQVSBhbmQg Q1BVIHdpbGwgYm90aCBrZWVwCj4gKyAqIGNoYW5nZXMgdG8gbWVtb3J5IGNvbnRlbnQgdmlzaWJs ZSB0byBlYWNoIG90aGVyIGFzIGZhc3QgYXMgcG9zc2libGUsIGJ5Cj4gKyAqIGZvcmNpbmcgaW50 ZXJuYWwgY2FjaGUgdW5pdHMgdG8gc2VuZCBtZW1vcnkgd3JpdGVzIHRvIGhpZ2hlciBsZXZlbCBj YWNoZXMKPiArICogaW1tZWRpYXRlbGx5IGFmdGVyIHdyaXRlcy4gT25seSBidWZmZXJzIHdpdGgg Y29oZXJlbmN5IHJlcXVlc3RlZCB3aXRoaW4KPiArICogc3VyZmFjZSBzdGF0ZSwgb3Igc3BlY2lm aWMgc3RhdGVsZXNzIGFjY2Vzc2VzIHdpbGwgYmUgYWZmZWN0ZWQgYnkgdGhpcwo+ICsgKiBvcHRp b24uIEtlZXBpbmcgZGF0YSBwb3J0IGNvaGVyZW5jeSBoYXMgYSBwZXJmb3JtYW5jZSBjb3N0LCBh bmQgdGhlcmVmb3JlCj4gKyAqIGl0IGlzIGJ5IGRlZmF1bHQgZGlzYWJsZWQgKHNlZSBXYUZvcmNl RW5hYmxlTm9uQ29oZXJlbnQpLgo+ICsgKi8KPiArI2RlZmluZSBJOTE1X0NPTlRFWFRfUEFSQU1f REFUQV9QT1JUX0NPSEVSRU5DWQkweDcKPiAgIAlfX3U2NCB2YWx1ZTsKPiAgIH07Cj4gICAKPiAK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==