From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 3/3] drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file Date: Wed, 13 Sep 2017 15:03:07 +0800 Message-ID: <730605e2-35d2-8fdb-bf07-bff7629b20b7@amd.com> References: <1505248934-1819-1-git-send-email-maraeo@gmail.com> <1505248934-1819-3-git-send-email-maraeo@gmail.com> <7413e296-b7f5-5963-b477-b04acfb4bb91@amd.com> <10bed18c-f41b-5570-c299-2be190767a20@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <10bed18c-f41b-5570-c299-2be190767a20-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> Content-Language: en-US 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?Q?Christian_K=c3=b6nig?= , =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org SSByZWFsbHkgdmVyeSBzdXJwcmlzZSB0aGF0IHlvdSBwcmVmZXIgdG8gZXhwYW5kIHN5bmNfb2Jq IHRvIGdldCAKc3luY2ZpbGUgZmQhISEKCldoeSBub3QgZGlyZWN0bHkgZ2VuZXJhdGUgc3luY2Zp bGUgZmQgYW5kIHVzZSBpdD8gV2hpY2ggb25lIGlzIHNpbXBsZSBpcyAKc28gb2J2aW91cy4KClJl Z2FyZHMsCkRhdmlkIFpob3UKT24gMjAxN+W5tDA55pyIMTPml6UgMTQ6NTcsIENocmlzdGlhbiBL w7ZuaWcgd3JvdGU6Cj4gSGkgZ3V5cywKPgo+IE1hcmVrcyBJT0NUTCBwcm9wb3NhbCBsb29rcyBy ZWFsbHkgZ29vZCB0byBtZS4KPgo+IFBsZWFzZSBub3RlIHRoYXQgd2UgYWxyZWFkeSBoYXZlIHN5 bmNfb2JqIHN1cHBvcnQgZm9yIHRoZSBDUyBJT0NUTCBpbiAKPiB0aGUgNC4xMyBicmFuY2ggYW5k IHRoaXMgd29yayBpcyBiYXNlZCBvbiB0b3Agb2YgdGhhdC4KPgo+PiBVTUQgZG9uJ3QgbmVlZCB0 byBjb25zdHJ1Y3QgaXBfdHlwZS9pcF9pbnN0YW5jZS9jdHhfaWQvcmluZwo+IFdlbGwgdGhlIFVN RCBkb2VzIHdhbnQgdG8gY29uc3RydWN0IGlwX3R5cGUvaXBfaW5zdGFuY2UvY3R4X2lkL3Jpbmcg Cj4gYW5kIHVzZSBmb3IgdGhlIHNpbXBsZSByZWFzb24gdGhhdCBpdCBhbGxvd3MgbW9yZSBmbGV4 aWJpbGl0eSB0aGFuIAo+IHN5bmNfb2JqL3N5bmNfZmlsZS4KPgo+IFRoaW5raW5nIG1vcmUgYWJv dXQgdGhpcyBJJ20gcHJldHR5IHN1cmUgd2Ugd2FudCB0byBkbyBzb21ldGhpbmcgCj4gc2ltaWxh ciBmb3IgVk0gbWFwL3VubWFwIG9wZXJhdGlvbnMgYXMgd2VsbC4KPgo+IFJlZ2FyZHMsCj4gQ2hy aXN0aWFuLgo+Cj4gQW0gMTMuMDkuMjAxNyB1bSAwNTowMyBzY2hyaWViIHpob3VjbTE6Cj4+IEhp IE1hcmVrLAo+Pgo+PiBZb3UncmUgZG9pbmcgc2FtZSB0aGluZ3Mgd2l0aCBtZSwgc2VlIG15ICJp bnRyb2R1Y2Ugc3luY2ZpbGUgYXMgZmVuY2UgCj4+IHJldXR1cm4iIHBhdGNoIHNldCwgd2hpY2gg bWFrZXMgdGhpbmdzIG1vcmUgc2ltcGxlLCB3ZSBqdXN0IG5lZWQgdG8gCj4+IGRpcmVjdGx5IHJl dHVybiBzeW5jZmlsZSBmZCB0byBVTUQgd2hlbiBDUywgdGhlbiB0aGUgZmVuY2UgVU1EIGdldCAK Pj4gd2lsbCBiZSBhbHdheXMgc3luY2ZpbGUgZmQsIFVNRCBkb24ndCBuZWVkIHRvIGNvbnN0cnVj dCAKPj4gaXBfdHlwZS9pcF9pbnN0YW5jZS9jdHhfaWQvcmluZyBhbnkgbW9yZSwgd2hpY2ggYWxz byBjYW4gcGFzcyB0byAKPj4gZGVwZW5kZW5jeSBhbmQgc3luY29iaiBhcyB3ZWxsLgo+Pgo+PiBS ZWdhcmRzLAo+PiBEYXZpZCBaaG91Cj4+IE9uIDIwMTflubQwOeaciDEz5pelIDA0OjQyLCBNYXJl ayBPbMWhw6FrIHdyb3RlOgo+Pj4gRnJvbTogTWFyZWsgT2zFocOhayA8bWFyZWsub2xzYWtAYW1k LmNvbT4KPj4+Cj4+PiBmb3IgYmVpbmcgYWJsZSB0byBjb252ZXJ0IGFuIGFtZGdwdSBmZW5jZSBp bnRvIG9uZSBvZiB0aGUgaGFuZGxlcy4KPj4+IE1lc2Egd2lsbCB1c2UgdGhpcy4KPj4+Cj4+PiBT aWduZWQtb2ZmLWJ5OiBNYXJlayBPbMWhw6FrIDxtYXJlay5vbHNha0BhbWQuY29tPgo+Pj4gLS0t Cj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICB8ICAyICsrCj4+ PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jICB8IDYxIAo+Pj4gKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kcnYuYyB8ICAzICstCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9rbXMuYyB8ICAxICsKPj4+ICAgaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJt LmggICAgICAgICAgIHwgMTYgKysrKysrKysrCj4+PiAgIDUgZmlsZXMgY2hhbmdlZCwgODIgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAKPj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1LmgKPj4+IGluZGV4IGI1YzhiOTAuLmMxNWZhOTMgMTAwNjQ0Cj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+IEBAIC0xMzA4LDYgKzEzMDgsOCBAQCBpbnQgYW1k Z3B1X2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAKPj4+ICpkZXYsIHZvaWQgKmRhdGEs Cj4+PiAgIGludCBhbWRncHVfZ2VtX29wX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4+PiAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCk7Cj4+PiAg IGludCBhbWRncHVfY3NfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwg c3RydWN0IAo+Pj4gZHJtX2ZpbGUgKmZpbHApOwo+Pj4gK2ludCBhbWRncHVfY3NfZmVuY2VfdG9f aGFuZGxlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgCj4+PiAqZGF0YSwKPj4+ ICsgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCk7Cj4+PiAgIGludCBh bWRncHVfY3Nfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCAK Pj4+IHN0cnVjdCBkcm1fZmlsZSAqZmlscCk7Cj4+PiAgIGludCBhbWRncHVfY3Nfd2FpdF9mZW5j ZXNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4+ICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCk7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+PiBpbmRleCA3Y2I4YTU5Li42ZGQ3MTljIDEwMDY0NAo+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+PiBAQCAtMjUsNiArMjUs NyBAQAo+Pj4gICAgKiAgICBKZXJvbWUgR2xpc3NlIDxnbGlzc2VAZnJlZWRlc2t0b3Aub3JnPgo+ Pj4gICAgKi8KPj4+ICAgI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KPj4+ICsjaW5jbHVkZSA8 bGludXgvc3luY19maWxlLmg+Cj4+PiAgICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+Pj4gICAjaW5j bHVkZSA8ZHJtL2FtZGdwdV9kcm0uaD4KPj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fc3luY29iai5o Pgo+Pj4gQEAgLTEzMTEsNiArMTMxMiw2NiBAQCBzdGF0aWMgc3RydWN0IGRtYV9mZW5jZSAKPj4+ ICphbWRncHVfY3NfZ2V0X2ZlbmNlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+Pj4gICAg ICAgcmV0dXJuIGZlbmNlOwo+Pj4gICB9Cj4+PiAgICtpbnQgYW1kZ3B1X2NzX2ZlbmNlX3RvX2hh bmRsZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkIAo+Pj4gKmRhdGEsCj4+PiAr ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCj4+PiArewo+Pj4gKyAg ICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+PiArICAg IHN0cnVjdCBhbWRncHVfZnByaXYgKmZwcml2ID0gZmlscC0+ZHJpdmVyX3ByaXY7Cj4+PiArICAg IHVuaW9uIGRybV9hbWRncHVfZmVuY2VfdG9faGFuZGxlICppbmZvID0gZGF0YTsKPj4+ICsgICAg c3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7Cj4+PiArICAgIHN0cnVjdCBkcm1fc3luY29iaiAqc3lu Y29iajsKPj4+ICsgICAgc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlOwo+Pj4gKyAgICBpbnQg ZmQsIHI7Cj4+PiArCj4+PiArICAgIGlmIChhbWRncHVfa21zX3ZyYW1fbG9zdChhZGV2LCBmcHJp dikpCj4+PiArICAgICAgICByZXR1cm4gLUVOT0RFVjsKPj4+ICsKPj4+ICsgICAgZmVuY2UgPSBh bWRncHVfY3NfZ2V0X2ZlbmNlKGFkZXYsIGZpbHAsICZpbmZvLT5pbi5mZW5jZSk7Cj4+PiArICAg IGlmIChJU19FUlIoZmVuY2UpKQo+Pj4gKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoZmVuY2UpOwo+ Pj4gKwo+Pj4gKyAgICBzd2l0Y2ggKGluZm8tPmluLndoYXQpIHsKPj4+ICsgICAgY2FzZSBBTURH UFVfRkVOQ0VfVE9fSEFORExFX0dFVF9TWU5DT0JKOgo+Pj4gKyAgICAgICAgciA9IGRybV9zeW5j b2JqX2NyZWF0ZSgmc3luY29iaiwgMCwgZmVuY2UpOwo+Pj4gKyAgICAgICAgZG1hX2ZlbmNlX3B1 dChmZW5jZSk7Cj4+PiArICAgICAgICBpZiAocikKPj4+ICsgICAgICAgICAgICByZXR1cm4gcjsK Pj4+ICsgICAgICAgIHIgPSBkcm1fc3luY29ial9nZXRfaGFuZGxlKGZpbHAsIHN5bmNvYmosICZp bmZvLT5vdXQuaGFuZGxlKTsKPj4+ICsgICAgICAgIGRybV9zeW5jb2JqX3B1dChzeW5jb2JqKTsK Pj4+ICsgICAgICAgIHJldHVybiByOwo+Pj4gKwo+Pj4gKyAgICBjYXNlIEFNREdQVV9GRU5DRV9U T19IQU5ETEVfR0VUX1NZTkNPQkpfRkQ6Cj4+PiArICAgICAgICByID0gZHJtX3N5bmNvYmpfY3Jl YXRlKCZzeW5jb2JqLCAwLCBmZW5jZSk7Cj4+PiArICAgICAgICBkbWFfZmVuY2VfcHV0KGZlbmNl KTsKPj4+ICsgICAgICAgIGlmIChyKQo+Pj4gKyAgICAgICAgICAgIHJldHVybiByOwo+Pj4gKyAg ICAgICAgciA9IGRybV9zeW5jb2JqX2dldF9mZChzeW5jb2JqLCAoaW50KikmaW5mby0+b3V0Lmhh bmRsZSk7Cj4+PiArICAgICAgICBkcm1fc3luY29ial9wdXQoc3luY29iaik7Cj4+PiArICAgICAg ICByZXR1cm4gcjsKPj4+ICsKPj4+ICsgICAgY2FzZSBBTURHUFVfRkVOQ0VfVE9fSEFORExFX0dF VF9TWU5DX0ZJTEVfRkQ6Cj4+PiArICAgICAgICBmZCA9IGdldF91bnVzZWRfZmRfZmxhZ3MoT19D TE9FWEVDKTsKPj4+ICsgICAgICAgIGlmIChmZCA8IDApIHsKPj4+ICsgICAgICAgICAgICBkbWFf ZmVuY2VfcHV0KGZlbmNlKTsKPj4+ICsgICAgICAgICAgICByZXR1cm4gZmQ7Cj4+PiArICAgICAg ICB9Cj4+PiArCj4+PiArICAgICAgICBzeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKGZlbmNl KTsKPj4+ICsgICAgICAgIGRtYV9mZW5jZV9wdXQoZmVuY2UpOwo+Pj4gKyAgICAgICAgaWYgKCFz eW5jX2ZpbGUpIHsKPj4+ICsgICAgICAgICAgICBwdXRfdW51c2VkX2ZkKGZkKTsKPj4+ICsgICAg ICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4+ICsgICAgICAgIH0KPj4+ICsKPj4+ICsgICAgICAg IGZkX2luc3RhbGwoZmQsIHN5bmNfZmlsZS0+ZmlsZSk7Cj4+PiArICAgICAgICBpbmZvLT5vdXQu aGFuZGxlID0gZmQ7Cj4+PiArICAgICAgICByZXR1cm4gMDsKPj4+ICsKPj4+ICsgICAgZGVmYXVs dDoKPj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+Pj4gKyAgICB9Cj4+PiArfQo+Pj4gKwo+ Pj4gICAvKioKPj4+ICAgICogYW1kZ3B1X2NzX3dhaXRfYWxsX2ZlbmNlIC0gd2FpdCBvbiBhbGwg ZmVuY2VzIHRvIHNpZ25hbAo+Pj4gICAgKgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYyAKPj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2Rydi5jCj4+PiBpbmRleCBkMDFhY2E2Li4xZTM4NDExIDEwMDY0NAo+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPj4+IEBAIC03MCw5ICs3MCwxMCBA QAo+Pj4gICAgKiAtIDMuMTguMCAtIEV4cG9ydCBncHUgYWx3YXlzIG9uIGN1IGJpdG1hcAo+Pj4g ICAgKiAtIDMuMTkuMCAtIEFkZCBzdXBwb3J0IGZvciBVVkQgTUpQRUcgZGVjb2RlCj4+PiAgICAq IC0gMy4yMC4wIC0gQWRkIHN1cHBvcnQgZm9yIGxvY2FsIEJPcwo+Pj4gKyAqIC0gMy4yMS4wIC0g QWRkIERSTV9BTURHUFVfRkVOQ0VfVE9fSEFORExFIGlvY3RsCj4+PiAgICAqLwo+Pj4gICAjZGVm aW5lIEtNU19EUklWRVJfTUFKT1IgICAgMwo+Pj4gLSNkZWZpbmUgS01TX0RSSVZFUl9NSU5PUiAg ICAyMAo+Pj4gKyNkZWZpbmUgS01TX0RSSVZFUl9NSU5PUiAgICAyMQo+Pj4gICAjZGVmaW5lIEtN U19EUklWRVJfUEFUQ0hMRVZFTCAgICAwCj4+PiAgICAgaW50IGFtZGdwdV92cmFtX2xpbWl0ID0g MDsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21z LmMgCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+Pj4gaW5k ZXggZDMxNzc3Yi4uYjA5ZDMxNSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9rbXMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2ttcy5jCj4+PiBAQCAtMTAyMSw2ICsxMDIxLDcgQEAgY29uc3Qgc3RydWN0IGRybV9p b2N0bF9kZXNjIAo+Pj4gYW1kZ3B1X2lvY3Rsc19rbXNbXSA9IHsKPj4+ICAgICAgIERSTV9JT0NU TF9ERUZfRFJWKEFNREdQVV9DVFgsIGFtZGdwdV9jdHhfaW9jdGwsIAo+Pj4gRFJNX0FVVEh8RFJN X1JFTkRFUl9BTExPVyksCj4+PiAgICAgICBEUk1fSU9DVExfREVGX0RSVihBTURHUFVfVk0sIGFt ZGdwdV92bV9pb2N0bCwgCj4+PiBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+ICAgICAg IERSTV9JT0NUTF9ERUZfRFJWKEFNREdQVV9CT19MSVNULCBhbWRncHVfYm9fbGlzdF9pb2N0bCwg Cj4+PiBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+ICsgICAgRFJNX0lPQ1RMX0RFRl9E UlYoQU1ER1BVX0ZFTkNFX1RPX0hBTkRMRSwgCj4+PiBhbWRncHVfY3NfZmVuY2VfdG9faGFuZGxl X2lvY3RsLCBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+ICAgICAgIC8qIEtNUyAqLwo+ Pj4gICAgICAgRFJNX0lPQ1RMX0RFRl9EUlYoQU1ER1BVX0dFTV9NTUFQLCBhbWRncHVfZ2VtX21t YXBfaW9jdGwsIAo+Pj4gRFJNX0FVVEh8RFJNX1JFTkRFUl9BTExPVyksCj4+PiAgICAgICBEUk1f SU9DVExfREVGX0RSVihBTURHUFVfR0VNX1dBSVRfSURMRSwgCj4+PiBhbWRncHVfZ2VtX3dhaXRf aWRsZV9pb2N0bCwgRFJNX0FVVEh8RFJNX1JFTkRFUl9BTExPVyksCj4+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggCj4+PiBiL2luY2x1ZGUvdWFwaS9kcm0vYW1k Z3B1X2RybS5oCj4+PiBpbmRleCA5ZjViZDk3Li5lYzU3Y2QwIDEwMDY0NAo+Pj4gLS0tIGEvaW5j bHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPj4+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1k Z3B1X2RybS5oCj4+PiBAQCAtNTMsNiArNTMsNyBAQCBleHRlcm4gIkMiIHsKPj4+ICAgI2RlZmlu ZSBEUk1fQU1ER1BVX1dBSVRfRkVOQ0VTICAgICAgICAweDEyCj4+PiAgICNkZWZpbmUgRFJNX0FN REdQVV9WTSAgICAgICAgICAgIDB4MTMKPj4+ICAgI2RlZmluZSBEUk1fQU1ER1BVX0ZSRUVTWU5D ICAgICAgICAgICAgMHgxNAo+Pj4gKyNkZWZpbmUgRFJNX0FNREdQVV9GRU5DRV9UT19IQU5ETEUg ICAgMHgxNQo+Pj4gICAgICNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9HRU1fQ1JFQVRFIERSTV9J T1dSKERSTV9DT01NQU5EX0JBU0UgKyAKPj4+IERSTV9BTURHUFVfR0VNX0NSRUFURSwgdW5pb24g ZHJtX2FtZGdwdV9nZW1fY3JlYXRlKQo+Pj4gICAjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfR0VN X01NQVAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIAo+Pj4gRFJNX0FNREdQVV9HRU1fTU1B UCwgdW5pb24gZHJtX2FtZGdwdV9nZW1fbW1hcCkKPj4+IEBAIC02OSw2ICs3MCw3IEBAIGV4dGVy biAiQyIgewo+Pj4gICAjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfV0FJVF9GRU5DRVMgRFJNX0lP V1IoRFJNX0NPTU1BTkRfQkFTRSArIAo+Pj4gRFJNX0FNREdQVV9XQUlUX0ZFTkNFUywgdW5pb24g ZHJtX2FtZGdwdV93YWl0X2ZlbmNlcykKPj4+ICAgI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX1ZN ICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgCj4+PiBEUk1fQU1ER1BVX1ZNLCB1 bmlvbiBkcm1fYW1kZ3B1X3ZtKQo+Pj4gICAjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfRlJFRVNZ TkMgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIAo+Pj4gRFJNX0FNREdQVV9GUkVFU1lOQywg c3RydWN0IGRybV9hbWRncHVfZnJlZXN5bmMpCj4+PiArI2RlZmluZSBEUk1fSU9DVExfQU1ER1BV X0ZFTkNFX1RPX0hBTkRMRSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFIAo+Pj4gKyBEUk1fQU1E R1BVX0ZFTkNFX1RPX0hBTkRMRSwgdW5pb24gZHJtX2FtZGdwdV9mZW5jZV90b19oYW5kbGUpCj4+ PiAgICAgI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9DUFUgICAgICAgIDB4MQo+Pj4gICAjZGVm aW5lIEFNREdQVV9HRU1fRE9NQUlOX0dUVCAgICAgICAgMHgyCj4+PiBAQCAtNTE3LDYgKzUxOSwy MCBAQCBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gewo+Pj4gICAgICAgX191MzIgaGFu ZGxlOwo+Pj4gICB9Owo+Pj4gICArI2RlZmluZSBBTURHUFVfRkVOQ0VfVE9fSEFORExFX0dFVF9T WU5DT0JKICAgIDAKPj4+ICsjZGVmaW5lIEFNREdQVV9GRU5DRV9UT19IQU5ETEVfR0VUX1NZTkNP QkpfRkQgICAgMQo+Pj4gKyNkZWZpbmUgQU1ER1BVX0ZFTkNFX1RPX0hBTkRMRV9HRVRfU1lOQ19G SUxFX0ZEICAgIDIKPj4+ICsKPj4+ICt1bmlvbiBkcm1fYW1kZ3B1X2ZlbmNlX3RvX2hhbmRsZSB7 Cj4+PiArICAgIHN0cnVjdCB7Cj4+PiArICAgICAgICBzdHJ1Y3QgZHJtX2FtZGdwdV9mZW5jZSBm ZW5jZTsKPj4+ICsgICAgICAgIF9fdTMyIHdoYXQ7Cj4+PiArICAgIH0gaW47Cj4+PiArICAgIHN0 cnVjdCB7Cj4+PiArICAgICAgICBfX3UzMiBoYW5kbGU7Cj4+PiArICAgIH0gb3V0Owo+Pj4gK307 Cj4+PiArCj4+PiAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2RhdGEgewo+Pj4gICAgICAg dW5pb24gewo+Pj4gICAgICAgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2liICAgICAg ICBpYl9kYXRhOwo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2FtZC1nZngKPgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK