From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 1/5] drm/amdgpu:keep ctx alive till all job finished Date: Wed, 3 May 2017 17:29:41 +0800 Message-ID: <5909A305.9010201@amd.com> References: <1493623371-32614-1-git-send-email-Monk.Liu@amd.com> <1493623371-32614-2-git-send-email-Monk.Liu@amd.com> <059fe927-90c8-0cf3-336c-56818d9277f0@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , "Liu, Monk" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" T3V0IG9mIHRoaXMgdGl0bGUsIGl0IGxldCBtZSB0aGluayBqb2ItPnZtIGlzbid0IHNhZmUgYXMg d2VsbCwgdm0gY291bGQgCmJlIGZyZWVkIHdoZW4gaXQgaXMgYmVpbmcgdXNlZCBhbWRncHVfaWJf c2NoZWR1bGUsIGRvIHlvdSBoYXZlIGFueSAKdGhvdWdodHMgdG8gc29sdmUgaXQ/CgpSZWdhcmRz LApEYXZpZCBaaG91CgpPbiAyMDE35bm0MDXmnIgwM+aXpSAxNzoxOCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPj4+IEknbSBhZnJhaWQgbm90OiAgQ1NBIGlzIGdvbmUgd2l0aCB0aGUgVk0sIGFu ZCBWTSBpcyBnb25lIGFmdGVyIGFwcCAKPj4+IGNsb3NlIG91ciBGRCwgSSBkb24ndCBzZWUgYW1k Z3B1X3ZtX2ZpbmkoKSBpcyBkZXBlbmRlZCBvbiBjb250ZXh0IAo+Pj4gbGl2aW5nIG9yIG5vdCAu Li4KPgo+IFNlZSB0aGUgdGVhcmRvd24gb3JkZXIgaW4gYW1kZ3B1X2RyaXZlcl9wb3N0Y2xvc2Vf a21zKCk6Cj4+IGFtZGdwdV9jdHhfbWdyX2ZpbmkoJmZwcml2LT5jdHhfbWdyKTsKPj4KPj4gICAg ICAgICBhbWRncHVfdXZkX2ZyZWVfaGFuZGxlcyhhZGV2LCBmaWxlX3ByaXYpOwo+PiAgICAgICAg IGFtZGdwdV92Y2VfZnJlZV9oYW5kbGVzKGFkZXYsIGZpbGVfcHJpdik7Cj4+Cj4+ICAgICAgICAg YW1kZ3B1X3ZtX2JvX3JtdihhZGV2LCBmcHJpdi0+cHJ0X3ZhKTsKPj4KPj4gICAgICAgICBpZiAo YW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7Cj4+ICAgICAgICAgICAgICAgICAvKiBUT0RPOiBob3cg dG8gaGFuZGxlIHJlc2VydmUgZmFpbHVyZSAqLwo+PiAgICAgICAgICAgICAgICAgQlVHX09OKGFt ZGdwdV9ib19yZXNlcnZlKGFkZXYtPnZpcnQuY3NhX29iaiwgZmFsc2UpKTsKPj4gICAgICAgICAg ICAgICAgIGFtZGdwdV92bV9ib19ybXYoYWRldiwgZnByaXYtPnZtLmNzYV9ib192YSk7Cj4+ICAg ICAgICAgICAgICAgICBmcHJpdi0+dm0uY3NhX2JvX3ZhID0gTlVMTDsKPj4gICAgICAgICAgICAg ICAgIGFtZGdwdV9ib191bnJlc2VydmUoYWRldi0+dmlydC5jc2Ffb2JqKTsKPj4gICAgICAgICB9 Cj4+Cj4+ICAgICAgICAgYW1kZ3B1X3ZtX2ZpbmkoYWRldiwgJmZwcml2LT52bSk7Cj4KPiBhbWRn cHVfY3R4X21ncl9maW5pKCkgd2FpdHMgZm9yIHNjaGVkdWxpbmcgdG8gZmluaXNoIGFuZCByZWxl YXNlcyBhbGwgCj4gY29udGV4dHMgb2YgdGhlIGN1cnJlbnQgZmQuCj4KPiBJZiB3ZSBkb24ndCBy ZWxlYXNlIHRoZSBjb250ZXh0IGhlcmUgYmVjYXVzZSBzb21lIGpvYnMgYXJlIHN0aWxsIAo+IGV4 ZWN1dGVkIHdlIG5lZWQgdG8ga2VlcCB0aGUgVVZEIGFuZCBWQ0UgaGFuZGxlLCB0aGUgUFJUIFZB cywgdGhlIENTQSAKPiBhbmQgZXZlbiB0aGUgd2hvbGUgVk0gc3RydWN0dXJlIGFsaXZlLgo+Cj4+ IEknbGwgc2VlIGlmIGRtYV9mZW5jZSBjb3VsZCBzb2x2ZSBteSBpc3N1ZSwgYnV0IEkgd2lzaCB5 b3UgY2FuIGdpdmUgCj4+IG1lIHlvdXIgZGV0YWlsIGlkZWEKPiBQbGVhc2UgdGFrZSBhIGxvb2sg YXQgRGF2aWQncyBpZGVhIG9mIHVzaW5nIHRoZSBmZW5jZV9jb250ZXh0IHRvIGZpbmQgCj4gd2hp Y2ggam9icyBhbmQgZW50aXR5IHRvIHNraXAsIHRoYXQgaXMgZXZlbiBiZXR0ZXIgdGhhbiBtaW5l IGFib3V0IHRoZSAKPiBmZW5jZSBzdGF0dXMgYW5kIHNob3VsZCBiZSB0cml2aWFsIHRvIGltcGxl bWVudCBiZWNhdXNlIGFsbCB0aGUgZGF0YSAKPiBpcyBhbHJlYWR5IHByZXNlbnQgd2UganVzdCBu ZWVkIHRvIHVzZSBpdC4KPgo+IFJlZ2FyZHMsCj4gQ2hyaXN0aWFuLgo+Cj4gQW0gMDMuMDUuMjAx NyB1bSAxMTowOCBzY2hyaWViIExpdSwgTW9uazoKPj4gMSxNeSBpZGVhIGlzIHRoYXQgdXNlcnNw YWNlIHNob3VsZCByYXRoZXIgZ2F0aGVyIHRoZSBmZWVkYmFjayBkdXJpbmcgCj4+IHRoZSBuZXh0 IGNvbW1hbmQgc3VibWlzc2lvbi4gVGhpcyBoYXMgdGhlIGFkdmFudGFnZSB0aGF0IHlvdSBkb24n dCAKPj4gbmVlZCB0byBrZWVwIHVzZXJzcGFjZSBhbGl2ZSB0aWxsIGFsbCBqb2JzIGFyZSBkb25l Lgo+Pgo+Pj4gTm8sIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGh3IHJpbmcgKGNoZXJyeS1waWNrIG91 dCBndWlsdHkgZW50aXRpZXMnIAo+Pj4gam9iIGluIGFsbCByaW5ncykgYWZ0ZXIgZ3B1IHJlc2V0 LCBhbmQgd2UgbmVlZCBmYWNrbHkgc2lnbmFsIGFsbCAKPj4+IHNjaGVkX2ZlbmNlIGluIHRoZSBn dWl0eSBlbnRpdHkgYXMgd2VsbCwgYW5kIHdlIG5lZWQgbWFyayBjb250ZXh0IGFzIAo+Pj4gZ3Vp bHR5IHNvIHRoZSBuZXh0IElPQ1RMIG9uIGl0IHdpbGwgcmV0dXJuIC1FTk9ERVYuCj4+PiBJIGRv bid0IHVuZGVyc3RhbmQgaG93IHlvdXIgaWRlYSBjYW4gc29sdmUgbXkgcmVxdWVzdCAuLi4KPj4g MixZb3UgbmVlZCB0byBrZWVwIHF1aXRlIGEgYnVuY2ggb2Ygc3R1ZmYgYWxpdmUgKFZNLCBDU0Ep IHdoZW4geW91IAo+PiBkb24ndCB0ZWFyIGRvd24gdGhlIGN0eCBpbW1lZGlhdGVseS4KPj4KPj4+ IEknbSBhZnJhaWQgbm90OiAgQ1NBIGlzIGdvbmUgd2l0aCB0aGUgVk0sIGFuZCBWTSBpcyBnb25l IGFmdGVyIGFwcCAKPj4+IGNsb3NlIG91ciBGRCwgSSBkb24ndCBzZWUgYW1kZ3B1X3ZtX2Zpbmko KSBpcyBkZXBlbmRlZCBvbiBjb250ZXh0IAo+Pj4gbGl2aW5nIG9yIG5vdCAuLi4KPj4gMywgc3Ry dWN0IGZlbmNlIHdhcyByZW5hbWVkIHRvIHN0cnVjdCBkbWFfZmVuY2Ugb24gbmV3ZXIga2VybmVs cyBhbmQgCj4+IGEgc3RhdHVzIGZpZWxkIGFkZGVkIHRvIGV4YWN0bHkgdGhpcyBwdXJwb3NlLgo+ Pgo+PiBUaGUgSW50ZWwgZ3V5cyBkaWQgdGhpcyBiZWNhdXNlIHRoZXkgcmFuIGludG8gdGhlIGV4 YWN0bHkgc2FtZSBwcm9ibGVtLgo+Pgo+Pj4gSSdsbCBzZWUgaWYgZG1hX2ZlbmNlIGNvdWxkIHNv bHZlIG15IGlzc3VlLCBidXQgSSB3aXNoIHlvdSBjYW4gZ2l2ZSAKPj4+IG1lIHlvdXIgZGV0YWls IGlkZWEKPj4KPj4gQlIgTW9uawo+Pgo+Pgo+Pgo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQo+PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIFttYWlsdG86ZGVhdGhzaW1wbGVAdm9kYWZvbmUu ZGVdCj4+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDAzLCAyMDE3IDQ6NTkgUE0KPj4gVG86IExpdSwg TW9uayA8TW9uay5MaXVAYW1kLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS81XSBkcm0vYW1kZ3B1OmtlZXAgY3R4IGFsaXZlIHRpbGwg YWxsIGpvYiBmaW5pc2hlZAo+Pgo+Pj4gMSwgVGhpcyBpcyBuZWNlc3Nhcnkgb3RoZXJ3aXNlIGhv dyBjYW4gSSBhY2Nlc3MgZW50aXR5IHBvaW50ZXIgYWZ0ZXIgYQo+Pj4gam9iIHRpbWVkb3V0Cj4+ IE5vIHRoYXQgaXNuJ3QgbmVjZXNzYXJ5Lgo+Pgo+PiBUaGUgcHJvYmxlbSB3aXRoIHlvdXIgaWRl YSBpcyB0aGF0IHlvdSB3YW50IHRvIGFjdGl2ZWx5IHB1c2ggdGhlIAo+PiBmZWVkYmFjay9zdGF0 dXMgZnJvbSB0aGUgam9iIGV4ZWN1dGlvbiBiYWNrIHRvIHVzZXJzcGFjZSB3aGVuIGFuIGVycm9y Cj4+ICh0aW1lb3V0KSBoYXBwZW5zLgo+Pgo+PiBNeSBpZGVhIGlzIHRoYXQgdXNlcnNwYWNlIHNo b3VsZCByYXRoZXIgZ2F0aGVyIHRoZSBmZWVkYmFjayBkdXJpbmcgCj4+IHRoZSBuZXh0IGNvbW1h bmQgc3VibWlzc2lvbi4gVGhpcyBoYXMgdGhlIGFkdmFudGFnZSB0aGF0IHlvdSBkb24ndCAKPj4g bmVlZCB0byBrZWVwIHVzZXJzcGFjZSBhbGl2ZSB0aWxsIGFsbCBqb2JzIGFyZSBkb25lLgo+Pgo+ Pj4gICAgLCBhbmQgd2h5IGl0IGlzIGRhbmdlcm91cyA/Cj4+IFlvdSBuZWVkIHRvIGtlZXAgcXVp dGUgYSBidW5jaCBvZiBzdHVmZiBhbGl2ZSAoVk0sIENTQSkgd2hlbiB5b3UgCj4+IGRvbid0IHRl YXIgZG93biB0aGUgY3R4IGltbWVkaWF0ZWx5Lgo+Pgo+PiBXZSBjb3VsZCBzcGxpdCBjdHggdGVh ciBkb3duIGludG8gZnJlZWluZyB0aGUgcmVzb3VyY2VzIGFuZCBmcmVlaW5nIAo+PiB0aGUgc3Ry dWN0dXJlLCBidXQgSSB0aGluayBqdXN0IGdhdGhlcmluZyB0aGUgaW5mb3JtYXRpb24gbmVlZGVk IG9uIAo+PiBDUyBpcyBlYXNpZXIgdG8gZG8uCj4+Cj4+PiAyLCB3aGF0J3MgdGhlIHN0YXR1cyBm aWVsZCBpbiB0aGUgZmVuY2VzIHlvdSB3ZXJlIHJlZmVycmluZyB0byA/IEkKPj4+IG5lZWQgdG8g anVkZ2UgaWYgaXQgY291bGQgc2F0aXNmeSBteSByZXF1aXJlbWVudAo+PiBzdHJ1Y3QgZmVuY2Ug d2FzIHJlbmFtZWQgdG8gc3RydWN0IGRtYV9mZW5jZSBvbiBuZXdlciBrZXJuZWxzIGFuZCBhIAo+ PiBzdGF0dXMgZmllbGQgYWRkZWQgdG8gZXhhY3RseSB0aGlzIHB1cnBvc2UuCj4+Cj4+IFRoZSBJ bnRlbCBndXlzIGRpZCB0aGlzIGJlY2F1c2UgdGhleSByYW4gaW50byB0aGUgZXhhY3RseSBzYW1l IHByb2JsZW0uCj4+Cj4+IFJlZ2FyZHMsCj4+IENocmlzdGlhbi4KPj4KPj4gQW0gMDMuMDUuMjAx NyB1bSAwNTozMCBzY2hyaWViIExpdSwgTW9uazoKPj4+IDEsIFRoaXMgaXMgbmVjZXNzYXJ5IG90 aGVyd2lzZSBob3cgY2FuIEkgYWNjZXNzIGVudGl0eSBwb2ludGVyIGFmdGVyIAo+Pj4gYSBqb2Ig dGltZWRvdXQgLCBhbmQgd2h5IGl0IGlzIGRhbmdlcm91cyA/Cj4+PiAyLCB3aGF0J3MgdGhlIHN0 YXR1cyBmaWVsZCBpbiB0aGUgZmVuY2VzIHlvdSB3ZXJlIHJlZmVycmluZyB0byA/IEkKPj4+IG5l ZWQgdG8ganVkZ2UgaWYgaXQgY291bGQgc2F0aXNmeSBteSByZXF1aXJlbWVudAo+Pj4KPj4+Cj4+ Pgo+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+IEZyb206IENocmlzdGlhbiBLw7Zu aWcgW21haWx0bzpkZWF0aHNpbXBsZUB2b2RhZm9uZS5kZV0KPj4+IFNlbnQ6IE1vbmRheSwgTWF5 IDAxLCAyMDE3IDEwOjQ4IFBNCj4+PiBUbzogTGl1LCBNb25rIDxNb25rLkxpdUBhbWQuY29tPjsg YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS81 XSBkcm0vYW1kZ3B1OmtlZXAgY3R4IGFsaXZlIHRpbGwgYWxsIGpvYgo+Pj4gZmluaXNoZWQKPj4+ Cj4+PiBBbSAwMS4wNS4yMDE3IHVtIDA5OjIyIHNjaHJpZWIgTW9uayBMaXU6Cj4+Pj4gZm9yIFRE UiBndWlsdHkgY29udGV4dCBmZWF0dXJlLCB3ZSBuZWVkIGFjY2VzcyBjdHgvc19lbnRpdHkgZmll bGQKPj4+PiBtZW1iZXIgdGhyb3VnaCBzY2hlZCBqb2IgcG9pbnRlcixzbyBjdHggbXVzdCBrZWVw IGFsaXZlIHRpbGwgYWxsIGpvYgo+Pj4+IGZyb20gaXQgc2lnbmFsZWQuCj4+PiBOQUssIHRoYXQg aXMgdW5uZWNlc3NhcnkgYW5kIHF1aXRlIGRhbmdlcm91cy4KPj4+Cj4+PiBJbnN0ZWFkIHdlIGhh dmUgdGhlIGRlc2lnbmVkIHN0YXR1cyBmaWVsZCBpbiB0aGUgZmVuY2VzIHdoaWNoIHNob3VsZCAK Pj4+IGJlIGNoZWNrZWQgZm9yIHRoYXQuCj4+Pgo+Pj4gUmVnYXJkcywKPj4+IENocmlzdGlhbi4K Pj4+Cj4+Pj4gQ2hhbmdlLUlkOiBJYjg3ZTk1MDJmN2E1YzhjMDU0YzdlNTY5NTZkN2Y3YWQ3NTk5 OGU0Mwo+Pj4+IFNpZ25lZC1vZmYtYnk6IE1vbmsgTGl1IDxNb25rLkxpdUBhbWQuY29tPgo+Pj4+ IC0tLQo+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICAg ICAgfCA2ICsrKysrLQo+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Y3MuYyAgICAgICAgfCAyICstCj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9jdHguYyAgICAgICB8IDkgKysrKysrKysrCj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9qb2IuYyAgICAgICB8IDkgKysrKysrKy0tCj4+Pj4gICAgIGRyaXZl cnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuYyB8IDYgLS0tLS0tCj4+Pj4g ICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuaCB8IDEgKwo+ Pj4+ICAgICA2IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dS5oCj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+Pj4+IGluZGV4 IGUzMzAwMDkuLjhlMDMxZDYgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHUuaAo+Pj4+IEBAIC03NjAsMTAgKzc2MCwxMiBAQCBzdHJ1Y3QgYW1kZ3B1X2liIHsKPj4+PiAg ICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgZmxhZ3M7Cj4+Pj4gICAgIH07Cj4+Pj4gICAgICtz dHJ1Y3QgYW1kZ3B1X2N0eDsKPj4+PiArCj4+Pj4gICAgIGV4dGVybiBjb25zdCBzdHJ1Y3QgYW1k X3NjaGVkX2JhY2tlbmRfb3BzIGFtZGdwdV9zY2hlZF9vcHM7Cj4+Pj4gICAgICAgICBpbnQgYW1k Z3B1X2pvYl9hbGxvYyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgCj4+Pj4g bnVtX2licywKPj4+PiAtICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfam9iICoqam9iLCBzdHJ1 Y3QgYW1kZ3B1X3ZtICp2bSk7Cj4+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2pvYiAq KmpvYiwgc3RydWN0IGFtZGdwdV92bSAqdm0sIHN0cnVjdAo+Pj4+ICthbWRncHVfY3R4ICpjdHgp Owo+Pj4+ICAgICBpbnQgYW1kZ3B1X2pvYl9hbGxvY193aXRoX2liKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LCAKPj4+PiB1bnNpZ25lZCBzaXplLAo+Pj4+ICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBhbWRncHVfam9iICoqam9iKTsKPj4+PiAgICAgQEAgLTgwMiw2ICs4MDQsNyBAQCBz dHJ1Y3QgYW1kZ3B1X2N0eF9tZ3Igewo+Pj4+ICAgICAgICAgc3RydWN0IGFtZGdwdV9jdHggKmFt ZGdwdV9jdHhfZ2V0KHN0cnVjdCBhbWRncHVfZnByaXYgCj4+Pj4gKmZwcml2LCB1aW50MzJfdCBp ZCk7Cj4+Pj4gICAgIGludCBhbWRncHVfY3R4X3B1dChzdHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4KTsK Pj4+PiArc3RydWN0IGFtZGdwdV9jdHggKmFtZGdwdV9jdHhfa3JlZl9nZXQoc3RydWN0IGFtZGdw dV9jdHggKmN0eCk7Cj4+Pj4gICAgICAgICB1aW50NjRfdCBhbWRncHVfY3R4X2FkZF9mZW5jZShz dHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4LCAKPj4+PiBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4+ Pj4gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZW5jZSAqZmVuY2UpOwo+Pj4+IEBAIC0x MTI5LDYgKzExMzIsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2pvYiB7Cj4+Pj4gICAgICAgICBzdHJ1Y3Qg YW1kZ3B1X3N5bmMgICAgc3luYzsKPj4+PiAgICAgICAgIHN0cnVjdCBhbWRncHVfaWIgICAgKmli czsKPj4+PiAgICAgICAgIHN0cnVjdCBmZW5jZSAgICAgICAgKmZlbmNlOyAvKiB0aGUgaHcgZmVu Y2UgKi8KPj4+PiArICAgIHN0cnVjdCBhbWRncHVfY3R4ICpjdHg7Cj4+Pj4gICAgICAgICB1aW50 MzJfdCAgICAgICAgcHJlYW1ibGVfc3RhdHVzOwo+Pj4+ICAgICAgICAgdWludDMyX3QgICAgICAg IG51bV9pYnM7Cj4+Pj4gICAgICAgICB2b2lkICAgICAgICAgICAgKm93bmVyOwo+Pj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+Pj4+IGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKPj4+PiBpbmRleCA2OTlmNWZlLi4y NjdmYjY1IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9jcy5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMK Pj4+PiBAQCAtMjM0LDcgKzIzNCw3IEBAIGludCBhbWRncHVfY3NfcGFyc2VyX2luaXQoc3RydWN0 IAo+Pj4+IGFtZGdwdV9jc19wYXJzZXIgKnAsIHZvaWQgKmRhdGEpCj4+Pj4gICAgICAgICAgICAg fQo+Pj4+ICAgICAgICAgfQo+Pj4+ICAgICAtICAgIHJldCA9IGFtZGdwdV9qb2JfYWxsb2MocC0+ YWRldiwgbnVtX2licywgJnAtPmpvYiwgdm0pOwo+Pj4+ICsgICAgcmV0ID0gYW1kZ3B1X2pvYl9h bGxvYyhwLT5hZGV2LCBudW1faWJzLCAmcC0+am9iLCB2bSwgcC0+Y3R4KTsKPj4+PiAgICAgICAg IGlmIChyZXQpCj4+Pj4gICAgICAgICAgICAgZ290byBmcmVlX2FsbF9rZGF0YTsKPj4+PiAgICAg ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguYwo+Pj4+ IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jCj4+Pj4gaW5kZXggYjRi YmJiMy4uODE0MzhhZiAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfY3R4LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfY3R4LmMKPj4+PiBAQCAtMjUsNiArMjUsMTMgQEAKPj4+PiAgICAgI2luY2x1ZGUgPGRybS9k cm1QLmg+Cj4+Pj4gICAgICNpbmNsdWRlICJhbWRncHUuaCIKPj4+PiAgICAgK3N0cnVjdCBhbWRn cHVfY3R4ICphbWRncHVfY3R4X2tyZWZfZ2V0KHN0cnVjdCBhbWRncHVfY3R4ICpjdHgpIHsKPj4+ PiArICAgIGlmIChjdHgpCj4+Pj4gKyAgICAgICAga3JlZl9nZXQoJmN0eC0+cmVmY291bnQpOwo+ Pj4+ICsgICAgcmV0dXJuIGN0eDsKPj4+PiArfQo+Pj4+ICsKPj4+PiAgICAgc3RhdGljIGludCBh bWRncHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCAKPj4+PiBh bWRncHVfY3R4ICpjdHgpCj4+Pj4gICAgIHsKPj4+PiAgICAgICAgIHVuc2lnbmVkIGksIGo7Cj4+ Pj4gQEAgLTU2LDYgKzYzLDggQEAgc3RhdGljIGludCBhbWRncHVfY3R4X2luaXQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgCj4+Pj4gKmFkZXYsIHN0cnVjdCBhbWRncHVfY3R4ICpjdHgpCj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICBycSwgYW1kZ3B1X3NjaGVkX2pvYnMpOwo+Pj4+ICAgICAg ICAgICAgIGlmIChyKQo+Pj4+ICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKPj4+PiArCj4+ Pj4gKyAgICAgICAgY3R4LT5yaW5nc1tpXS5lbnRpdHkucHRyX2d1aWx0eSA9ICZjdHgtPmd1aWx0 eTsgLyoga2VybmVsIAo+Pj4+IGVudGl0eQo+Pj4+ICtkb2Vzbid0IGhhdmUgcHRyX2d1aWx0eSAq Lwo+Pj4+ICAgICAgICAgfQo+Pj4+ICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfam9iLmMKPj4+PiBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuYwo+Pj4+IGluZGV4IDY5MGVmM2QuLjIw OGRhMTEgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2pvYi5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5j Cj4+Pj4gQEAgLTQwLDcgKzQwLDcgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2pvYl90aW1lZG91dChz dHJ1Y3QgCj4+Pj4gYW1kX3NjaGVkX2pvYiAqc19qb2IpCj4+Pj4gICAgIH0KPj4+PiAgICAgICAg IGludCBhbWRncHVfam9iX2FsbG9jKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25l ZCAKPj4+PiBudW1faWJzLAo+Pj4+IC0gICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9qb2IgKipq b2IsIHN0cnVjdCBhbWRncHVfdm0gKnZtKQo+Pj4+ICsgICAgICAgICAgICAgc3RydWN0IGFtZGdw dV9qb2IgKipqb2IsIHN0cnVjdCBhbWRncHVfdm0gKnZtLCBzdHJ1Y3QKPj4+PiArYW1kZ3B1X2N0 eCAqY3R4KQo+Pj4+ICAgICB7Cj4+Pj4gICAgICAgICBzaXplX3Qgc2l6ZSA9IHNpemVvZihzdHJ1 Y3QgYW1kZ3B1X2pvYik7Cj4+Pj4gICAgIEBAIC01Nyw2ICs1Nyw3IEBAIGludCBhbWRncHVfam9i X2FsbG9jKHN0cnVjdCBhbWRncHVfZGV2aWNlIAo+Pj4+ICphZGV2LCB1bnNpZ25lZCBudW1faWJz LAo+Pj4+ICAgICAgICAgKCpqb2IpLT52bSA9IHZtOwo+Pj4+ICAgICAgICAgKCpqb2IpLT5pYnMg PSAodm9pZCAqKSYoKmpvYilbMV07Cj4+Pj4gICAgICAgICAoKmpvYiktPm51bV9pYnMgPSBudW1f aWJzOwo+Pj4+ICsgICAgKCpqb2IpLT5jdHggPSBhbWRncHVfY3R4X2tyZWZfZ2V0KGN0eCk7Cj4+ Pj4gICAgICAgICAgICAgYW1kZ3B1X3N5bmNfY3JlYXRlKCYoKmpvYiktPnN5bmMpOwo+Pj4+ICAg ICBAQCAtNjgsNyArNjksNyBAQCBpbnQgYW1kZ3B1X2pvYl9hbGxvY193aXRoX2liKHN0cnVjdCAK Pj4+PiBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBzaXplLAo+Pj4+ICAgICB7Cj4+Pj4g ICAgICAgICBpbnQgcjsKPj4+PiAgICAgLSAgICByID0gYW1kZ3B1X2pvYl9hbGxvYyhhZGV2LCAx LCBqb2IsIE5VTEwpOwo+Pj4+ICsgICAgciA9IGFtZGdwdV9qb2JfYWxsb2MoYWRldiwgMSwgam9i LCBOVUxMLCBOVUxMKTsKPj4+PiAgICAgICAgIGlmIChyKQo+Pj4+ICAgICAgICAgICAgIHJldHVy biByOwo+Pj4+ICAgICBAQCAtOTQsNiArOTUsMTAgQEAgdm9pZCBhbWRncHVfam9iX2ZyZWVfcmVz b3VyY2VzKHN0cnVjdCAKPj4+PiBhbWRncHVfam9iICpqb2IpCj4+Pj4gICAgIHN0YXRpYyB2b2lk IGFtZGdwdV9qb2JfZnJlZV9jYihzdHJ1Y3QgYW1kX3NjaGVkX2pvYiAqc19qb2IpCj4+Pj4gICAg IHsKPj4+PiAgICAgICAgIHN0cnVjdCBhbWRncHVfam9iICpqb2IgPSBjb250YWluZXJfb2Yoc19q b2IsIHN0cnVjdCAKPj4+PiBhbWRncHVfam9iLAo+Pj4+IGJhc2UpOwo+Pj4+ICsgICAgc3RydWN0 IGFtZGdwdV9jdHggKmN0eCA9IGpvYi0+Y3R4Owo+Pj4+ICsKPj4+PiArICAgIGlmIChjdHgpCj4+ Pj4gKyAgICAgICAgYW1kZ3B1X2N0eF9wdXQoY3R4KTsKPj4+PiAgICAgICAgICAgICBmZW5jZV9w dXQoam9iLT5mZW5jZSk7Cj4+Pj4gICAgICAgICBhbWRncHVfc3luY19mcmVlKCZqb2ItPnN5bmMp Owo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2No ZWR1bGVyLmMKPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVs ZXIuYwo+Pj4+IGluZGV4IDZmNGUzMWYuLjkxMDBjYTggMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCj4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCj4+Pj4gQEAgLTIwOCwxMiAr MjA4LDYgQEAgdm9pZCBhbWRfc2NoZWRfZW50aXR5X2Zpbmkoc3RydWN0IAo+Pj4+IGFtZF9ncHVf c2NoZWR1bGVyICpzY2hlZCwKPj4+PiAgICAgICAgIGlmICghYW1kX3NjaGVkX2VudGl0eV9pc19p bml0aWFsaXplZChzY2hlZCwgZW50aXR5KSkKPj4+PiAgICAgICAgICAgICByZXR1cm47Cj4+Pj4g ICAgIC0gICAgLyoqCj4+Pj4gLSAgICAgKiBUaGUgY2xpZW50IHdpbGwgbm90IHF1ZXVlIG1vcmUg SUJzIGR1cmluZyB0aGlzIGZpbmksIAo+Pj4+IGNvbnN1bWUgZXhpc3RpbmcKPj4+PiAtICAgICAq IHF1ZXVlZCBJQnMKPj4+PiAtICAgICovCj4+Pj4gLSAgICB3YWl0X2V2ZW50KHNjaGVkLT5qb2Jf c2NoZWR1bGVkLCAKPj4+PiBhbWRfc2NoZWRfZW50aXR5X2lzX2lkbGUoZW50aXR5KSk7Cj4+Pj4g LQo+Pj4+ICAgICAgICAgYW1kX3NjaGVkX3JxX3JlbW92ZV9lbnRpdHkocnEsIGVudGl0eSk7Cj4+ Pj4gICAgICAgICBrZmlmb19mcmVlKCZlbnRpdHktPmpvYl9xdWV1ZSk7Cj4+Pj4gICAgIH0KPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxl ci5oCj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmgK Pj4+PiBpbmRleCA4Y2I0MWQzLi5jY2JiY2IwIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuaAo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuaAo+Pj4+IEBAIC00OSw2ICs0OSw3IEBA IHN0cnVjdCBhbWRfc2NoZWRfZW50aXR5IHsKPj4+PiAgICAgICAgICAgICBzdHJ1Y3QgZmVuY2Ug ICAgICAgICAgICAqZGVwZW5kZW5jeTsKPj4+PiAgICAgICAgIHN0cnVjdCBmZW5jZV9jYiAgICAg ICAgICAgIGNiOwo+Pj4+ICsgICAgYm9vbCAqcHRyX2d1aWx0eTsKPj4+PiAgICAgfTsKPj4+PiAg ICAgICAgIC8qKgo+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeAo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1n ZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=