From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: Do NOT skip the first 4k of stolen memory for pre-allocated buffers Date: Fri, 20 Apr 2018 09:27:45 +0200 Message-ID: <20180420072745.GI31310@phenom.ffwll.local> References: <20180330122715.18209-1-hdegoede@redhat.com> <20180405071434.GN3881@phenom.ffwll.local> <0c848841-2ca7-cc30-39f0-8c630ad19cef@redhat.com> <0ae3166a-e27a-648f-edb6-0280fd087bb3@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <0ae3166a-e27a-648f-edb6-0280fd087bb3@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Hans de Goede Cc: Hans de Goede , intel-gfx , dri-devel , Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBcHIgMTksIDIwMTggYXQgMDM6NDM6MTlQTSArMDIwMCwgSGFucyBkZSBHb2VkZSB3 cm90ZToKPiBIaSwKPiAKPiBPbiAwNS0wNC0xOCAxNToyNiwgRGFuaWVsIFZldHRlciB3cm90ZToK PiA+IE9uIFRodSwgQXByIDUsIDIwMTggYXQgMTo0NyBQTSwgSGFucyBkZSBHb2VkZSA8aGRlZ29l ZGVAcmVkaGF0LmNvbT4gd3JvdGU6Cj4gPiA+IEhpLAo+ID4gPiAKPiA+ID4gCj4gPiA+IE9uIDA1 LTA0LTE4IDA5OjE0LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+IE9uIEZy aSwgTWFyIDMwLCAyMDE4IGF0IDAyOjI3OjE1UE0gKzAyMDAsIEhhbnMgZGUgR29lZGUgd3JvdGU6 Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IEJlZm9yZSB0aGlzIGNvbW1pdCB0aGUgV2FTa2lwU3RvbGVu TWVtb3J5Rmlyc3RQYWdlIHdvcmthcm91bmQgY29kZSB3YXMKPiA+ID4gPiA+IHNraXBwaW5nIHRo ZSBmaXJzdCA0ayBieSBwYXNzaW5nIDQwOTYgYXMgc3RhcnQgb2YgdGhlIGFkZHJlc3MgcmFuZ2UK PiA+ID4gPiA+IHBhc3NlZAo+ID4gPiA+ID4gdG8gZHJtX21tX2luaXQoKS4gVGhpcyBtZWFucyB0 aGF0IGNhbGxpbmcgZHJtX21tX3Jlc2VydmVfbm9kZSgpIHRvIHRyeQo+ID4gPiA+ID4gYW5kCj4g PiA+ID4gPiByZXNlcnZlIHRoZSBmaXJtd2FyZSBmcmFtZWJ1ZmZlciBzbyB0aGF0IHdlIGNhbiBp bmhlcml0IGl0IHdvdWxkIGFsd2F5cwo+ID4gPiA+ID4gZmFpbCwgYXMgdGhlIGZpcm13YXJlIGZy YW1lYnVmZmVyIHN0YXJ0cyBhdCBhZGRyZXNzIDAuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IENvbW1p dCBkNDM1Mzc2MTA0NzAgKCJkcm0vaTkxNTogc2tpcCB0aGUgZmlyc3QgNGsgb2Ygc3RvbGVuIG1l bW9yeSBvbgo+ID4gPiA+ID4gZXZlcnl0aGluZyA+PSBnZW44Iikgc2F5cyBpbiBpdHMgY29tbWl0 IG1lc3NhZ2U6ICJUaGlzIGlzIGNvbmZpcm1lZCB0bwo+ID4gPiA+ID4gZml4Cj4gPiA+ID4gPiBT a3lsYWtlIHNjcmVlbiBmbGlja2VyaW5nIGlzc3VlcyAocHJvYmFibHkgY2F1c2VkIGJ5IHRoZSBm YWN0IHRoYXQgd2UKPiA+ID4gPiA+IGluaXRpYWxpemVkIGEgcmluZyBpbiB0aGUgZmlyc3QgcGFn ZSBvZiBzdG9sZW4sIGJ1dCBJIGRpZG4ndCAxMDAlIGNvbmZpcm0KPiA+ID4gPiA+IHRoaXMgdGhl b3J5KS4iCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFdoaWNoIHN1Z2dlc3RzIHRoYXQgaXQgaXMgc2Fm ZSB0byB1c2UgdGhlIGZpcnN0IHBhZ2UgZm9yIGEgbGluZWFyCj4gPiA+ID4gPiBmcmFtZWJ1ZmZl ciBhcyB0aGUgZmlybXdhcmUgaXMgZG9pbmcuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRoaXMgY29t bWl0IGFsd2F5cyBwYXNzZXMgMCBhcyBzdGFydCB0byBkcm1fbW1faW5pdCgpIGFuZCB3b3JrcyBh cm91bmQKPiA+ID4gPiA+IFdhU2tpcFN0b2xlbk1lbW9yeUZpcnN0UGFnZSBpbiBpOTE1X2dlbV9z dG9sZW5faW5zZXJ0X25vZGVfaW5fcmFuZ2UoKQo+ID4gPiA+ID4gYnkgaW5zdXJpbmcgdGhlIHN0 YXJ0IGFkZHJlc3MgcGFzc2VkIGJ5IHRvIGRybV9tbV9pbnNlcnRfbm9kZV9pbl9yYW5nZSgpCj4g PiA+ID4gPiBpcyBhbHdheXMgNGsgb3IgbW9yZS4gQWxsIGVudHJ5IHBvaW50cyB0byBpOTE1X2dl bV9zdG9sZW4uYyBnbyB0aHJvdWdoCj4gPiA+ID4gPiBpOTE1X2dlbV9zdG9sZW5faW5zZXJ0X25v ZGVfaW5fcmFuZ2UoKSwgc28gdGhhdCBhbnkgbmV3bHkgYWxsb2NhdGVkCj4gPiA+ID4gPiBvYmpl Y3RzIHN1Y2ggYXMgcmluZy1idWZmZXJzIHdpbGwgbm90IGJlIGFsbG9jYXRlZCBpbiB0aGUgZmly c3QgNGsuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRoZSBvbmUgZXhjZXB0aW9uIGlzIGk5MTVfZ2Vt X29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVhbGxvY2F0ZWQoKQo+ID4gPiA+ID4gd2hpY2gg ZGlyZWN0bHkgY2FsbHMgZHJtX21tX3Jlc2VydmVfbm9kZSgpIHdoaWNoIG5vdyB3aWxsIGJlIGFi bGUgdG8KPiA+ID4gPiA+IHVzZSB0aGUgZmlyc3QgNGsuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRo aXMgZml4ZXMgdGhlIGk5MTUgZHJpdmVyIG5vIGxvbmdlciBiZWluZyBhYmxlIHRvIGluaGVyaXQg dGhlIGZpcm13YXJlCj4gPiA+ID4gPiBmcmFtZWJ1ZmZlciBvbiBnZW44Kywgd2hpY2ggZml4ZXMg dGhlIHZpZGVvIG91dHB1dCBjaGFuZ2luZyBmcm9tIHRoZQo+ID4gPiA+ID4gdmVuZG9yIGxvZ28g dG8gYSBibGFjayBzY3JlZW4gYXMgc29vbiBhcyB0aGUgaTkxNSBkcml2ZXIgaXMgbG9hZGVkCj4g PiA+ID4gPiAob24gc3lzdGVtcyB3aXRob3V0IGZiY29uKS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4g U2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KPiA+ID4g PiAKPiA+ID4gPiAKPiA+ID4gPiBJIHRoaW5rIHRoaXMgaXMgd29ydGggYSBzaG90LiBUaGUgb25s eSBleHBsYW5hdGlvbiBJIGNhbiB0aGluayBvZiB3aHkgdGhlCj4gPiA+ID4gR09QIGNvdWxkIGdl dCBhd2F5IHdpdGggdGhpcyBhbmQgc3RpbGwgZm9sbG93IHRoZSB3L2EgaXMgaWYgaXQgZG9lc24n dAo+ID4gPiA+IGhhdmUgYSAxOjEgbWFwcGluZyBiZXR3ZWVuIEdHVFQgYW5kIHN0b2xlbi4KPiA+ ID4gCj4gPiA+IAo+ID4gPiBNeSBndWVzcyBpcyB0aGF0IHRoZSBHT1AgZG9lcyBub3QgY2FyZSBh Ym91dCB0aGUgdy9hIGJlY2F1c2UgdGhlIHcvYQo+ID4gPiBzdGF0ZXMgdGhhdCB0aGUgY29tbWFu ZC1zdHJlYW1lcnMgc29tZXRpbWVzIGRvIGEgc3B1cmlvdXMgZmx1c2ggKHdyaXRlKQo+ID4gPiB0 byB0aGUgZmlyc3QgcGFnZSwgYW5kIHRoZSBjb21tYW5kLXN0cmVhbWVycyBhcmUgbm90IHVzZWQg dW50aWwgbXVjaAo+ID4gPiBsYXRlciwgc28gdGhlIEdPUCBpcyBwcm9iYWJseSBpZ25vcmluZyB0 aGUgdy9hIGFsbCB0b2dldGhlci4KPiA+ID4gCj4gPiA+IEF0IGxlYXN0IHRoYXQgaXMgbXkgdGhl b3J5Lgo+ID4gCj4gPiBBdG0gd2UgZG8gbm90IGtub3cgd2hldGhlciB0aGUgR09QIGFjdHVhbGx5 IGltcGxlbWVudHMgdGhlIHdhIG9yIG5vdC4KPiA+IFRoYXQgaXQgZG9lc24ndCBjYXJlIGlzIGp1 c3QgYSBjb25qZWN0dXJlLCBidXQgd2UgaGF2ZSBubyBwcm9vZi4gT24KPiA+IHByZXZpb3VzIHBs YXRmb3JtcyB0aGUgMToxIG1hcHBpbmcgZGlkIGhvbGQsIGJ1dCB0aGVyZSdzIG5vCj4gPiBmdW5k YW1lbnRhbCByZWFzb24gd2h5IGl0IHNpdGxsIGRvZXMuCj4gCj4gUmlnaHQuCj4gCj4gPiA+ID4g QXRtIHdlIGhhcmRjb2RlIHRoYXQKPiA+ID4gPiBhc3N1bXB0aW9uIGluIGludGVsX2FsbG9jX2lu aXRpYWxfcGxhbmVfb2JqIGJ5IHBhc3NpbmcgdGhlIGJhc2VfYWxpZ25lZCBhcwo+ID4gPiA+IGJv dGggdGhlIHN0b2xlbl9vZmZzZXQgYW5kIHRoZSBndHRfb2Zmc2V0IChidXQgaXQncyBvbmx5IHRo ZSBndHRfb2Zmc2V0Cj4gPiA+ID4gcmVhbGx5KS4gQW5kIHNpbmNlIHdlJ3JlIG5vdCByZS13cml0 aW5nIHRoZSBwdGVzIGl0J3Mgbm90IG5vdGljZWFibGUuCj4gPiA+ID4gCj4gPiA+ID4gSSB0aGlu ayB0byBkZWNpZGUgd2hldGhlciB0aGlzIGlzIHRoZSByaWdodCBhcHByb2FjaCB3ZSBzaG91bGQK PiA+ID4gPiBkb3VibGUtY2hlY2sgd2hldGhlciB0aGF0IDE6MSBhc3N1bXB0aW9uIHJlYWxseSBo b2xkcyB0cnVlOiBFaXRoZXIgcmVhZAo+ID4gPiA+IGJhY2sgdGhlIGdndHQgcHRlcyBhbmQgY2hl Y2sgdGhlaXIgYWRkcmVzc2VzIChidXQgaWlyYyBvbiBzb21lIHBsYXRmb3Jtcwo+ID4gPiA+IHRo ZWlyIHdyaXRlLW9ubHksIHJlYWRiYWNrIGRvZXNuJ3Qgd29yayksIG9yIHdlIGFsc28gcmV3cml0 ZSB0aGUgcHRlcwo+ID4gPiA+IGFnYWluIGZvciBwcmVhbGxvY2F0ZWQgc3R1ZmYsIGxpa2Ugd2hl biBiaW5kaW5nIGEgbm9ybWFsIG9iamVjdCBpbnRvIHRoZQo+ID4gPiA+IGd0dC4gSWYgZWl0aGVy IG9mIHRoZXNlIGFwcHJvYWNoZXMgY29uZmlybXMgdGhhdCB0aG9zZSBhZmZlY3RlZCBnZW44Kwo+ ID4gPiA+IG1hY2hpbmVzIHN0aWxsIHVzZSB0aGUgMToxIG1hcHBpbmcsIHRoZW4gSSdtIGhhcHB5 IHRvIHB1dCBteSByLWIgb24gdGhpcwo+ID4gPiA+IHBhdGNoLiBJZiBub3QsIHdlbGwgdGhlbiB3 ZSBhdCBsZWFzdCBrbm93IHdoYXQgdG8gZml4OiBXZSBuZWVkIHRvIHJlYWQgb3V0Cj4gPiA+ID4g dGhlIHJlYWwgc3RvbGVuX29mZnNldCwgaW5zdGVhZCBvZiBtYWtpbmcgYXNzdW1wdGlvbnMuCj4g PiA+IAo+ID4gPiAKPiA+ID4gSSdtIGhhcHB5IHRvIGdpdmUgdGhpcyBhIHRyeSBvbiBvbmUgb3Ig bW9yZSBhZmZlY3RlZCBtYWNoaW5lcywgSSBjYW4gZS5nLgo+ID4gPiB0cnkgdGhpcyBvbiBib3Ro IGEgc2t5bGFrZSBkZXNrdG9wIGFuZCBhIGNoZXJyeS10cmFpbCBiYXNlZCB0YWJsZXQuCj4gPiA+ IAo+ID4gPiBCdXQgSSdtIGNsdWVsZXNzIGFib3V0IHRoZSB3aG9sZSBQVEUgc3R1ZmYsIHNvIEkn bSBnb2luZyB0byBuZWVkIHNvbWVvbmUKPiA+ID4gdG8gcHJvdmlkZSBtZSB3aXRoIGEgcGF0Y2gg Zm9sbG93aW5nIGVpdGhlciBhcHByb2FjaC4gSWYgcmVhZGJhY2sgb2YgdGhlCj4gPiA+IFBURXMg d29ya3Mgb24gc2t5bGFrZSAvIGNoZXJyeXRyYWlsIEkgZ3Vlc3MgdGhhdCB3b3VsZCBiZSB0aGUg YmVzdCB3YXkuCj4gPiA+IAo+ID4gPiBOb3RlIHRvIHRlc3QgdGhpcyBJJ20gY3VycmVudGx5IGJv b3RpbmcgdGhlIGtlcm5lbCB3aXRoIHRoZSBtYWNoaW5lJ3MKPiA+ID4gVUVGSSB2ZW5kb3IgbG9n byBzdGlsbCBiZWluZyBkaXNwbGF5ZWQgd2hlbiBlZmlmYiBraWNrcyBpbi4gSSd2ZSBhZGRlZDoK PiA+ID4gImZiY29uPXZjOjItNjIiIHRvIHRoZSBrZXJuZWwgY29tbWFuZGxpbmUgdG8gbWFrZSBm YmNvbiBub3QgYmluZCB0bwo+ID4gPiBWQzAgLyBWQzEsIHNvIHRoYXQgdGhlIGZyYW1lYnVmZmVy IGNvbnRlbnRzIHN0YXlzIGludGFjdCwgY29tYmluZWQgd2l0aAo+ID4gPiB0aGUgcGF0Y2ggd2Ug YXJlIGRpc2N1c3Npbmcgbm93LCB0aGlzIG1ha2VzIHRoZSB2ZW5kb3IgbG9nbyBzdGF5IG9uCj4g PiA+IHRoZSBzY3JlZW4gYWxsIHRoZSB3YXkgdGlsbCBHRE0gbG9hZHMsIHdoaWNoIGxvb2tzIHJh dGhlciBuaWNlIGFjdHVhbGx5IDopCj4gPiA+IAo+ID4gPiBBbmQgb24gc2h1dGRvd24gd2UgZmFs bCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBmcmFtZWJ1ZmZlciBhbmQgdGhlIHZlbmRvcgo+ID4gPiBs b2dvIGlzIGJhY2sgYWdhaW4uIEkgY2Fubm90IHNlZSBhbnkgY29ycnVwdGlvbiBpbiB0aGUgZGlz cGxheSBhdCBlaXRoZXIKPiA+ID4gYm9vdCBvciBzaHV0ZG93biB0aW1lLgo+ID4gCj4gPiBJdCBz aG91bGRuJ3QgbWF0dGVyIHdoZXRoZXIgZWZpZmIgdGFrZXMgb3ZlciBvciBub3QsIGl0J3Mgc3Rp bGwgdGhlCj4gPiBHT1AncyBmcmFtZWJ1ZmZlciB3ZSdyZSB0YWtpbmcgb3Zlci4gRGlmZmVyZW50 IGNvbnRlbnQgZm9yIHN1cmUsIGxvZ28KPiA+IGlzIGdvbmUsIGJ1dCB3ZSBvbmx5IGNhcmUgYWJv dXQgd2hpY2ggcGFnZXMgd2UncmUgdXNpbmcuCj4gPiAKPiA+IFdydCB0aGUgY29kZToKPiA+IC0g KFJlKWJpbmRpbmcgaGFwcGVucyBieSBjYWxsaW5nIGk5MTVfdm1hX2JpbmQsIGlmIHlvdSBwdXQg YSBjYWxsIHRvCj4gPiB0aGF0IGF0IHRoZSBlbmQgb2YgdGhlIHN0b2xlbl9wcmVhbGxvY2F0ZWQg ZnVuY3Rpb25zIHlvdSBzaG91bGQgZ2V0Cj4gPiB0aGF0LiBPZmMgbmVlZHMgdGhlIGxvZ28gc3Rp bGwgdGhlcmUgc28geW91IGNhbiBzZWUgaXQganVtcC9nZXQKPiA+IG1hbmdsZWQuCj4gPiAtIEdH VFQgUFRFcyBmb3IgZ2VuOCsgYXJlIHdyaXR0ZW4gdGhyb3VnaCBlLmcuIGdlbjhfZ2d0dHRfaW5z ZXJ0X3BhZ2UKPiA+IG9yIGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllcyAod2hpY2ggdGFrZXMgdGhl IHZtYSkuIFNpbmNlIHdlIG9ubHkgY2FyZQo+ID4gYWJvdXQgdGhlIGZpcnN0IGVudHJ5IGEgcmVh ZHEoZGV2X3ByaXYtPmdndHQtPmdzbSkgaXMgYWxsIHdlIHJlYWxseQo+ID4gbmVlZC4gSWYgaXQn cyBhbGwgMCB0aGVuIGl0J3Mgbm90IHdvcmtpbmcgKHNpbmNlIGF0IGxlYXN0Cj4gPiBfUEFHRV9Q UkVTRU5UIHNob3VsZCBiZSBzZXQsIHBsdXMgdGhlIHBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBwYWdl IGluCj4gPiBzdG9sZW4gbWVtb3J5KS4KPiA+IAo+ID4gSSBjYW4gZG8gc29tZSBwYXRjaGVzIGZv ciBlYWNoIG9mIHRob3NlLCBidXQgYSBiaXQgc3dhbXBlZC4gQWxzbyBubwo+ID4gZ2VuOCBoYW5k eSBmb3IgdGVzdGluZyBJIHRoaW5rIHRvIG1ha2Ugc3VyZSBpdCB3b3Jrcywgc28gd291bGQgdGFr ZSBhCj4gPiBmZXcgd2Vla3MgcHJvYmFibHkuCj4gCj4gSSB3YXMgYSBiaXQgc3dhbXBlZCB3aXRo IG90aGVyIHN0dWZmIG15c2VsZiB0b28sIGJ1dCBJJ20gYmFjayB0byB3b3JraW5nCj4gb24gdGhp cyBub3cuIEJlbG93IGlzIHRoZSBkZWJ1ZyBwYXRjaCBJIGNhbWUgdXAgd2l0aCBiYXNlZCBvbiB3 aGF0IHlvdQo+IHdyb3RlIGFib3ZlLgo+IAo+IFRoaXMgcmVzdWx0cyBpbiB0aGUgZm9sbG93aW5n IGRlYnVnIG91dHB1dDoKPiAKPiBbICAgIDEuNjUxMTQxXSBmaXJzdCBnZ3R0IGVudHJ5IGJlZm9y ZSBiaW5kOiAweDAwMDAwMDAwNzhjMDAwMDEKPiBbICAgIDEuNjUxMTUxXSBpOTE1X3ZtYV9iaW5k IHJldCAwCj4gWyAgICAxLjY1MTE1Ml0gZmlyc3QgZ2d0dCBlbnRyeSBhZnRlciBiaW5kOiAweDAw MDAwMDAwNzhjMDAwODMKPiAKPiBBbmQgInN1ZG8gY2F0IC9wcm9jL2lvbWVtIHwgZ3JlcCBTdG9s ZW4iIGdpdmVzOgo+ICAgNzhjMDAwMDAtODhiZmZmZmYgOiBHcmFwaGljcyBTdG9sZW4gTWVtb3J5 Cj4gCj4gSSBzZWUgbm8gdmlzdWFsIGNoYW5nZXMgd2l0aCB0aGlzIHBhdGNoIChCSU9TIHZlbmRv ciBsb2dvIHN0aWxsCj4gc3RheXMgaW4gcGxhY2Ugd2hlbiB1c2luZyBmYmNvbj12YzoyLTYyIHRv IG1ha2UgZmJjb24gbm90IGJpbmQKPiBvbiBib290IGFuZCBrZWVwIHRoZSB2ZW5kb3IgbG9nbyBp bnRhY3QpLgo+IAo+IFRoZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBnZ3R0IGVudHJ5IG1hdGNoZXMg d2l0aCB0aGUgc3RhcnQgb2Ygc3RvbGVuCj4gYW5kIHRoZSBpOTE1X3ZtYV9iaW5kIGNhbGwgb25s eSBjaGFuZ2VzIHRoZSBmaXJzdCBndHQgZW50cnkncyBmbGFncywKPiBvci1pbmcgaW4gX1BBR0Vf UlcgKEJJVCgxKSkgYW5kIFBQQVRfQ0FDSEVEIChCSVQoNykpLCB3aGljaCBwZXJmZWN0bHkKPiBt YXRjaGVzIHdoYXQgd2Ugd291bGQgZXhwZWN0IGJhc2VkIG9uIGdlbjhfcHRlX2VuY29kZSgpJ3Mg YmVoYXZpb3IuCj4gCj4gU28gaXQgc2VlbXMgdGhhdCB0aGUgR09QIGluZGVlZCBkb2VzIE5PVCBp bXBsZW1lbnQgdGhlIHdhIGFuZCB0aGUgaTkxNSdzCj4gY29kZSBhc3N1bWluZyBhIGxpbmVhciBt YXBwaW5nIGF0IHRoZSBzdGFydCBvZiBzdG9sZW4gZm9yIHRoZSBCSU9TIGZiCj4gc3RpbGwgaG9s ZHMgdHJ1ZS4KPiAKPiBUaGUgZGVidWcgb3V0cHV0IGlzIGZyb20gbXkgU2t5bGFrZSBiYXNlZCBt YWNoaW5lIHdoaWNoIHVzZXMgYW4KPiBBc3JvY2sgQjE1ME0gUHJvNFMvRDMgbWFpbmJvYXJkLgo+ IAo+IEkndmUgYWxzbyB0ZXN0ZWQgdGhpcyBvbiBhIENoZXJyeSBUcmFpbCBiYXNlZCBkZXZpY2Ug KGEgR1BEIFdpbikKPiB3aXRoIGlkZW50aWNhbCByZXN1bHRzICh0aGUgZmxhZ3MgYXJlIDB4MWIg YWZ0ZXIgdGhlIHZtYV9iaW5kCj4gb24gQ0hULCB3aGljaCBtYXRjaGVzIHdpdGggSTkxNV9DQUNI RV9OT05FKS4KCnRiaCwgbm90IHdoYXQgSSBleHBlY3RlZCwgc28gZ29vZCB3ZSd2ZSBkb25lIHRo ZSBleHBlcmltZW50IHRvIGNvbmZpcm0gOi0pCgpXaXRoIHRoZSBhYm92ZSBpbmZvcm1hdGlvbiBh ZGRlZCB0byB0aGUgY29tbWl0IG1lc3NhZ2UgKHlvdSBjYW4ganVzdCBwYXN0ZQp5b3VyIGVudGly ZSBtZXNzYWdlLCBpbmNsdWRpbmcgdGVzdCBkaWZmIHRvIHRoZSBjb21taXQgbWVzc2FnZSkgdGhl Cm9yaWdpbmFsIHBhdGNoIGhhcyBteToKClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgoKVGhhbmtzIGZvciBkb2luZyBhbGwgdGhlIGRpZ2dpbmcgaGVy ZS4KCkNoZWVycywgRGFuaWVsCgo+IAo+IFJlZ2FyZHMsCj4gCj4gSGFucwo+IAo+IAo+IEZyb20g NDAwZjJiMGQ3MjIyMzY5OTlhNTcwNmExZjJmYTBiYjcwYmY5YzczZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKPiBGcm9tOiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgo+IERh dGU6IFRodSwgMTkgQXByIDIwMTggMTQ6NDQ6NDMgKzAyMDAKPiBTdWJqZWN0OiBbUEFUQ0ggcmVz ZW5kXSBpOTE1OiBpOTE1X3ZtYV9iaW5kIGZvciBwcmUtYWxsb2NhdGVkIHN0b2xlbiB0ZXN0IC8K PiAgZGVidWcKPiAKPiBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRo YXQuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyB8 IDcgKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiBpbmRleCAxNTI0ODdkOTExOTcuLjdkYjAz ZjdkMmM1MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9s ZW4uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gQEAg LTY0OCw2ICs2NDgsMTMgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFs bG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYKPiAgCW9iai0+YmluZF9j b3VudCsrOwo+ICAJc3Bpbl91bmxvY2soJmRldl9wcml2LT5tbS5vYmpfbG9jayk7Cj4gCj4gKwlw cl9lcnIoImZpcnN0IGdndHQgZW50cnkgYmVmb3JlIGJpbmQ6IDB4JTAxNmxseFxuIiwgcmVhZHEo ZGV2X3ByaXYtPmdndHQuZ3NtKSk7Cj4gKwlyZXQgPSBpOTE1X3ZtYV9iaW5kKHZtYSwKPiArCQkg ICAgSEFTX0xMQyhkZXZfcHJpdikgPyBJOTE1X0NBQ0hFX0xMQyA6IEk5MTVfQ0FDSEVfTk9ORSwK PiArCQkgICAgUElOX1VQREFURSk7Cj4gKwlwcl9lcnIoImk5MTVfdm1hX2JpbmQgcmV0ICVkXG4i LCByZXQpOwo+ICsJcHJfZXJyKCJmaXJzdCBnZ3R0IGVudHJ5IGFmdGVyIGJpbmQ6IDB4JTAxNmxs eFxuIiwgcmVhZHEoZGV2X3ByaXYtPmdndHQuZ3NtKSk7Cj4gKwo+ICAJcmV0dXJuIG9iajsKPiAK PiAgZXJyX3BhZ2VzOgo+IC0tIAo+IDIuMTcuMAo+IAo+IAo+IAo+ID4gCj4gPiBDaGVlcnMsIERh bmllbAo+ID4gPiAKPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gQ2hlZXJzLCBEYW5pZWwKPiA+ID4g PiA+IAo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9zdG9sZW4uYyB8IDE1ICsrKysrKy0tLS0tLS0tLQo+ID4gPiA+ID4gICAgMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPiA+ID4gPiA+IAo+ID4gPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4g PiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gPiA+ID4g PiBpbmRleCBhZjkxNWQwNDEyODEuLmFkOTQ5Y2MzMDkyOCAxMDA2NDQKPiA+ID4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gPiA+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+ID4gPiA+ID4gQEAgLTUxLDYg KzUxLDEwIEBAIGludCBpOTE1X2dlbV9zdG9sZW5faW5zZXJ0X25vZGVfaW5fcmFuZ2Uoc3RydWN0 Cj4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gPiA+ICAgICAgICAg IGlmICghZHJtX21tX2luaXRpYWxpemVkKCZkZXZfcHJpdi0+bW0uc3RvbGVuKSkKPiA+ID4gPiA+ ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gPiA+ID4gPiAgICArICAgICAvKiBX YVNraXBTdG9sZW5NZW1vcnlGaXJzdFBhZ2U6YmR3KyAqLwo+ID4gPiA+ID4gKyAgICAgICBpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSA4ICYmIHN0YXJ0IDwgNDA5NikKPiA+ID4gPiA+ICsgICAg ICAgICAgICAgICBzdGFydCA9IDQwOTY7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiAgICAgICAgICBt dXRleF9sb2NrKCZkZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwo+ID4gPiA+ID4gICAgICAgICAg cmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlKCZkZXZfcHJpdi0+bW0uc3RvbGVuLCBu b2RlLAo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemUsIGFsaWdubWVudCwgMCwKPiA+ID4gPiA+IEBAIC0zNDMsNyArMzQ3LDYgQEAgaW50IGk5 MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gPiAqZGV2 X3ByaXYpCj4gPiA+ID4gPiAgICB7Cj4gPiA+ID4gPiAgICAgICAgICByZXNvdXJjZV9zaXplX3Qg cmVzZXJ2ZWRfYmFzZSwgc3RvbGVuX3RvcDsKPiA+ID4gPiA+ICAgICAgICAgIHJlc291cmNlX3Np emVfdCByZXNlcnZlZF90b3RhbCwgcmVzZXJ2ZWRfc2l6ZTsKPiA+ID4gPiA+IC0gICAgICAgcmVz b3VyY2Vfc2l6ZV90IHN0b2xlbl91c2FibGVfc3RhcnQ7Cj4gPiA+ID4gPiAgICAgICAgICBtdXRl eF9pbml0KCZkZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwo+ID4gPiA+ID4gICAgQEAgLTQzNSwx NyArNDM4LDExIEBAIGludCBpOTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZQo+ID4gPiA+ID4gKmRldl9wcml2KQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAodTY0KXJlc291cmNlX3NpemUoJmRldl9wcml2LT5kc20pID4+IDEwLAo+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHU2NClyZXNvdXJjZV9zaXplKCZkZXZfcHJpdi0+ ZHNtKSAtCj4gPiA+ID4gPiByZXNlcnZlZF90b3RhbCkgPj4gMTApOwo+ID4gPiA+ID4gICAgLSAg ICAgc3RvbGVuX3VzYWJsZV9zdGFydCA9IDA7Cj4gPiA+ID4gPiAtICAgICAgIC8qIFdhU2tpcFN0 b2xlbk1lbW9yeUZpcnN0UGFnZTpiZHcrICovCj4gPiA+ID4gPiAtICAgICAgIGlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDgpCj4gPiA+ID4gPiAtICAgICAgICAgICAgICAgc3RvbGVuX3VzYWJs ZV9zdGFydCA9IDQwOTY7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAgICAgICAgICBkZXZfcHJpdi0+ c3RvbGVuX3VzYWJsZV9zaXplID0KPiA+ID4gPiA+IC0gICAgICAgICAgICAgICByZXNvdXJjZV9z aXplKCZkZXZfcHJpdi0+ZHNtKSAtIHJlc2VydmVkX3RvdGFsIC0KPiA+ID4gPiA+IHN0b2xlbl91 c2FibGVfc3RhcnQ7Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgcmVzb3VyY2Vfc2l6ZSgmZGV2 X3ByaXYtPmRzbSkgLSByZXNlcnZlZF90b3RhbDsKPiA+ID4gPiA+ICAgICAgICAgIC8qIEJhc2lj IG1lbXJhbmdlIGFsbG9jYXRvciBmb3Igc3RvbGVuIHNwYWNlLiAqLwo+ID4gPiA+ID4gLSAgICAg ICBkcm1fbW1faW5pdCgmZGV2X3ByaXYtPm1tLnN0b2xlbiwgc3RvbGVuX3VzYWJsZV9zdGFydCwK PiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPnN0b2xlbl91c2FibGVfc2l6 ZSk7Cj4gPiA+ID4gPiArICAgICAgIGRybV9tbV9pbml0KCZkZXZfcHJpdi0+bW0uc3RvbGVuLCAw LAo+ID4gPiA+ID4gZGV2X3ByaXYtPnN0b2xlbl91c2FibGVfc2l6ZSk7Cj4gPiA+ID4gPiAgICAg ICAgICByZXR1cm4gMDsKPiA+ID4gPiA+ICAgIH0KPiA+ID4gPiA+IC0tCj4gPiA+ID4gPiAyLjE3 LjAucmMyCj4gPiA+ID4gPiAKPiA+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+ ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ID4gPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiA+IAo+ ID4gPiA+IAo+ID4gPiAKPiA+IAo+ID4gCj4gPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK