From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 3/3] drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file Date: Wed, 13 Sep 2017 08:57:43 +0200 Message-ID: <10bed18c-f41b-5570-c299-2be190767a20@vodafone.de> 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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <7413e296-b7f5-5963-b477-b04acfb4bb91@amd.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: zhoucm1 , =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgZ3V5cywKCk1hcmVrcyBJT0NUTCBwcm9wb3NhbCBsb29rcyByZWFsbHkgZ29vZCB0byBtZS4K ClBsZWFzZSBub3RlIHRoYXQgd2UgYWxyZWFkeSBoYXZlIHN5bmNfb2JqIHN1cHBvcnQgZm9yIHRo ZSBDUyBJT0NUTCBpbiAKdGhlIDQuMTMgYnJhbmNoIGFuZCB0aGlzIHdvcmsgaXMgYmFzZWQgb24g dG9wIG9mIHRoYXQuCgo+IFVNRCBkb24ndCBuZWVkIHRvIGNvbnN0cnVjdCBpcF90eXBlL2lwX2lu c3RhbmNlL2N0eF9pZC9yaW5nCldlbGwgdGhlIFVNRCBkb2VzIHdhbnQgdG8gY29uc3RydWN0IGlw X3R5cGUvaXBfaW5zdGFuY2UvY3R4X2lkL3JpbmcgYW5kIAp1c2UgZm9yIHRoZSBzaW1wbGUgcmVh c29uIHRoYXQgaXQgYWxsb3dzIG1vcmUgZmxleGliaWxpdHkgdGhhbiAKc3luY19vYmovc3luY19m aWxlLgoKVGhpbmtpbmcgbW9yZSBhYm91dCB0aGlzIEknbSBwcmV0dHkgc3VyZSB3ZSB3YW50IHRv IGRvIHNvbWV0aGluZyBzaW1pbGFyIApmb3IgVk0gbWFwL3VubWFwIG9wZXJhdGlvbnMgYXMgd2Vs bC4KClJlZ2FyZHMsCkNocmlzdGlhbi4KCkFtIDEzLjA5LjIwMTcgdW0gMDU6MDMgc2NocmllYiB6 aG91Y20xOgo+IEhpIE1hcmVrLAo+Cj4gWW91J3JlIGRvaW5nIHNhbWUgdGhpbmdzIHdpdGggbWUs IHNlZSBteSAiaW50cm9kdWNlIHN5bmNmaWxlIGFzIGZlbmNlIAo+IHJldXR1cm4iIHBhdGNoIHNl dCwgd2hpY2ggbWFrZXMgdGhpbmdzIG1vcmUgc2ltcGxlLCB3ZSBqdXN0IG5lZWQgdG8gCj4gZGly ZWN0bHkgcmV0dXJuIHN5bmNmaWxlIGZkIHRvIFVNRCB3aGVuIENTLCB0aGVuIHRoZSBmZW5jZSBV TUQgZ2V0IAo+IHdpbGwgYmUgYWx3YXlzIHN5bmNmaWxlIGZkLCBVTUQgZG9uJ3QgbmVlZCB0byBj b25zdHJ1Y3QgCj4gaXBfdHlwZS9pcF9pbnN0YW5jZS9jdHhfaWQvcmluZyBhbnkgbW9yZSwgd2hp Y2ggYWxzbyBjYW4gcGFzcyB0byAKPiBkZXBlbmRlbmN5IGFuZCBzeW5jb2JqIGFzIHdlbGwuCj4K PiBSZWdhcmRzLAo+IERhdmlkIFpob3UKPiBPbiAyMDE35bm0MDnmnIgxM+aXpSAwNDo0MiwgTWFy ZWsgT2zFocOhayB3cm90ZToKPj4gRnJvbTogTWFyZWsgT2zFocOhayA8bWFyZWsub2xzYWtAYW1k LmNvbT4KPj4KPj4gZm9yIGJlaW5nIGFibGUgdG8gY29udmVydCBhbiBhbWRncHUgZmVuY2UgaW50 byBvbmUgb2YgdGhlIGhhbmRsZXMuCj4+IE1lc2Egd2lsbCB1c2UgdGhpcy4KPj4KPj4gU2lnbmVk LW9mZi1ieTogTWFyZWsgT2zFocOhayA8bWFyZWsub2xzYWtAYW1kLmNvbT4KPj4gLS0tCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgIHwgIDIgKysKPj4gICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyAgfCA2MSAKPj4gKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2Rydi5jIHwgIDMgKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf a21zLmMgfCAgMSArCj4+ICAgaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggICAgICAgICAg IHwgMTYgKysrKysrKysrCj4+ICAgNSBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHUuaCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+PiBp bmRleCBiNWM4YjkwLi5jMTVmYTkzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHUuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHUuaAo+PiBAQCAtMTMwOCw2ICsxMzA4LDggQEAgaW50IGFtZGdwdV9nZW1fdmFfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgCj4+IHZvaWQgKmRhdGEsCj4+ICAgaW50IGFtZGdwdV9nZW1f b3BfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4gICAgICAgICAg ICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApOwo+PiAgIGludCBhbWRncHVfY3NfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IAo+PiBkcm1fZmlsZSAqZmls cCk7Cj4+ICtpbnQgYW1kZ3B1X2NzX2ZlbmNlX3RvX2hhbmRsZV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+PiArICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbHApOwo+PiAgIGludCBhbWRncHVfY3Nfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgCj4+IGRybV9maWxlICpmaWxwKTsKPj4gICBp bnQgYW1kZ3B1X2NzX3dhaXRfZmVuY2VzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4+ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCk7Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyAKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+PiBpbmRleCA3Y2I4YTU5 Li42ZGQ3MTljIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfY3MuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+ PiBAQCAtMjUsNiArMjUsNyBAQAo+PiAgICAqICAgIEplcm9tZSBHbGlzc2UgPGdsaXNzZUBmcmVl ZGVza3RvcC5vcmc+Cj4+ICAgICovCj4+ICAgI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KPj4g KyNpbmNsdWRlIDxsaW51eC9zeW5jX2ZpbGUuaD4KPj4gICAjaW5jbHVkZSA8ZHJtL2RybVAuaD4K Pj4gICAjaW5jbHVkZSA8ZHJtL2FtZGdwdV9kcm0uaD4KPj4gICAjaW5jbHVkZSA8ZHJtL2RybV9z eW5jb2JqLmg+Cj4+IEBAIC0xMzExLDYgKzEzMTIsNjYgQEAgc3RhdGljIHN0cnVjdCBkbWFfZmVu Y2UgCj4+ICphbWRncHVfY3NfZ2V0X2ZlbmNlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ PiAgICAgICByZXR1cm4gZmVuY2U7Cj4+ICAgfQo+PiAgICtpbnQgYW1kZ3B1X2NzX2ZlbmNlX3Rv X2hhbmRsZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkIAo+PiAqZGF0YSwKPj4g KyAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxwKQo+PiArewo+PiArICAg IHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKyAgICBz dHJ1Y3QgYW1kZ3B1X2Zwcml2ICpmcHJpdiA9IGZpbHAtPmRyaXZlcl9wcml2Owo+PiArICAgIHVu aW9uIGRybV9hbWRncHVfZmVuY2VfdG9faGFuZGxlICppbmZvID0gZGF0YTsKPj4gKyAgICBzdHJ1 Y3QgZG1hX2ZlbmNlICpmZW5jZTsKPj4gKyAgICBzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmo7 Cj4+ICsgICAgc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlOwo+PiArICAgIGludCBmZCwgcjsK Pj4gKwo+PiArICAgIGlmIChhbWRncHVfa21zX3ZyYW1fbG9zdChhZGV2LCBmcHJpdikpCj4+ICsg ICAgICAgIHJldHVybiAtRU5PREVWOwo+PiArCj4+ICsgICAgZmVuY2UgPSBhbWRncHVfY3NfZ2V0 X2ZlbmNlKGFkZXYsIGZpbHAsICZpbmZvLT5pbi5mZW5jZSk7Cj4+ICsgICAgaWYgKElTX0VSUihm ZW5jZSkpCj4+ICsgICAgICAgIHJldHVybiBQVFJfRVJSKGZlbmNlKTsKPj4gKwo+PiArICAgIHN3 aXRjaCAoaW5mby0+aW4ud2hhdCkgewo+PiArICAgIGNhc2UgQU1ER1BVX0ZFTkNFX1RPX0hBTkRM RV9HRVRfU1lOQ09CSjoKPj4gKyAgICAgICAgciA9IGRybV9zeW5jb2JqX2NyZWF0ZSgmc3luY29i aiwgMCwgZmVuY2UpOwo+PiArICAgICAgICBkbWFfZmVuY2VfcHV0KGZlbmNlKTsKPj4gKyAgICAg ICAgaWYgKHIpCj4+ICsgICAgICAgICAgICByZXR1cm4gcjsKPj4gKyAgICAgICAgciA9IGRybV9z eW5jb2JqX2dldF9oYW5kbGUoZmlscCwgc3luY29iaiwgJmluZm8tPm91dC5oYW5kbGUpOwo+PiAr ICAgICAgICBkcm1fc3luY29ial9wdXQoc3luY29iaik7Cj4+ICsgICAgICAgIHJldHVybiByOwo+ PiArCj4+ICsgICAgY2FzZSBBTURHUFVfRkVOQ0VfVE9fSEFORExFX0dFVF9TWU5DT0JKX0ZEOgo+ PiArICAgICAgICByID0gZHJtX3N5bmNvYmpfY3JlYXRlKCZzeW5jb2JqLCAwLCBmZW5jZSk7Cj4+ ICsgICAgICAgIGRtYV9mZW5jZV9wdXQoZmVuY2UpOwo+PiArICAgICAgICBpZiAocikKPj4gKyAg ICAgICAgICAgIHJldHVybiByOwo+PiArICAgICAgICByID0gZHJtX3N5bmNvYmpfZ2V0X2ZkKHN5 bmNvYmosIChpbnQqKSZpbmZvLT5vdXQuaGFuZGxlKTsKPj4gKyAgICAgICAgZHJtX3N5bmNvYmpf cHV0KHN5bmNvYmopOwo+PiArICAgICAgICByZXR1cm4gcjsKPj4gKwo+PiArICAgIGNhc2UgQU1E R1BVX0ZFTkNFX1RPX0hBTkRMRV9HRVRfU1lOQ19GSUxFX0ZEOgo+PiArICAgICAgICBmZCA9IGdl dF91bnVzZWRfZmRfZmxhZ3MoT19DTE9FWEVDKTsKPj4gKyAgICAgICAgaWYgKGZkIDwgMCkgewo+ PiArICAgICAgICAgICAgZG1hX2ZlbmNlX3B1dChmZW5jZSk7Cj4+ICsgICAgICAgICAgICByZXR1 cm4gZmQ7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBzeW5jX2ZpbGUgPSBzeW5jX2Zp bGVfY3JlYXRlKGZlbmNlKTsKPj4gKyAgICAgICAgZG1hX2ZlbmNlX3B1dChmZW5jZSk7Cj4+ICsg ICAgICAgIGlmICghc3luY19maWxlKSB7Cj4+ICsgICAgICAgICAgICBwdXRfdW51c2VkX2ZkKGZk KTsKPj4gKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArICAgICAgICB9Cj4+ICsKPj4g KyAgICAgICAgZmRfaW5zdGFsbChmZCwgc3luY19maWxlLT5maWxlKTsKPj4gKyAgICAgICAgaW5m by0+b3V0LmhhbmRsZSA9IGZkOwo+PiArICAgICAgICByZXR1cm4gMDsKPj4gKwo+PiArICAgIGRl ZmF1bHQ6Cj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiArICAgIH0KPj4gK30KPj4gKwo+ PiAgIC8qKgo+PiAgICAqIGFtZGdwdV9jc193YWl0X2FsbF9mZW5jZSAtIHdhaXQgb24gYWxsIGZl bmNlcyB0byBzaWduYWwKPj4gICAgKgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2Rydi5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kcnYuYwo+PiBpbmRleCBkMDFhY2E2Li4xZTM4NDExIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCj4+IEBAIC03MCw5ICs3MCwxMCBAQAo+PiAgICAq IC0gMy4xOC4wIC0gRXhwb3J0IGdwdSBhbHdheXMgb24gY3UgYml0bWFwCj4+ICAgICogLSAzLjE5 LjAgLSBBZGQgc3VwcG9ydCBmb3IgVVZEIE1KUEVHIGRlY29kZQo+PiAgICAqIC0gMy4yMC4wIC0g QWRkIHN1cHBvcnQgZm9yIGxvY2FsIEJPcwo+PiArICogLSAzLjIxLjAgLSBBZGQgRFJNX0FNREdQ VV9GRU5DRV9UT19IQU5ETEUgaW9jdGwKPj4gICAgKi8KPj4gICAjZGVmaW5lIEtNU19EUklWRVJf TUFKT1IgICAgMwo+PiAtI2RlZmluZSBLTVNfRFJJVkVSX01JTk9SICAgIDIwCj4+ICsjZGVmaW5l IEtNU19EUklWRVJfTUlOT1IgICAgMjEKPj4gICAjZGVmaW5lIEtNU19EUklWRVJfUEFUQ0hMRVZF TCAgICAwCj4+ICAgICBpbnQgYW1kZ3B1X3ZyYW1fbGltaXQgPSAwOwo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jIAo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+PiBpbmRleCBkMzE3NzdiLi5iMDlkMzE1IDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jCj4+IEBAIC0xMDIx LDYgKzEwMjEsNyBAQCBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgYW1kZ3B1X2lvY3Rsc19r bXNbXSAKPj4gPSB7Cj4+ICAgICAgIERSTV9JT0NUTF9ERUZfRFJWKEFNREdQVV9DVFgsIGFtZGdw dV9jdHhfaW9jdGwsIAo+PiBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKPj4gICAgICAgRFJN X0lPQ1RMX0RFRl9EUlYoQU1ER1BVX1ZNLCBhbWRncHVfdm1faW9jdGwsIAo+PiBEUk1fQVVUSHxE Uk1fUkVOREVSX0FMTE9XKSwKPj4gICAgICAgRFJNX0lPQ1RMX0RFRl9EUlYoQU1ER1BVX0JPX0xJ U1QsIGFtZGdwdV9ib19saXN0X2lvY3RsLCAKPj4gRFJNX0FVVEh8RFJNX1JFTkRFUl9BTExPVyks Cj4+ICsgICAgRFJNX0lPQ1RMX0RFRl9EUlYoQU1ER1BVX0ZFTkNFX1RPX0hBTkRMRSwgCj4+IGFt ZGdwdV9jc19mZW5jZV90b19oYW5kbGVfaW9jdGwsIERSTV9BVVRIfERSTV9SRU5ERVJfQUxMT1cp LAo+PiAgICAgICAvKiBLTVMgKi8KPj4gICAgICAgRFJNX0lPQ1RMX0RFRl9EUlYoQU1ER1BVX0dF TV9NTUFQLCBhbWRncHVfZ2VtX21tYXBfaW9jdGwsIAo+PiBEUk1fQVVUSHxEUk1fUkVOREVSX0FM TE9XKSwKPj4gICAgICAgRFJNX0lPQ1RMX0RFRl9EUlYoQU1ER1BVX0dFTV9XQUlUX0lETEUsIAo+ PiBhbWRncHVfZ2VtX3dhaXRfaWRsZV9pb2N0bCwgRFJNX0FVVEh8RFJNX1JFTkRFUl9BTExPVyks Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCAKPj4gYi9pbmNs dWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+PiBpbmRleCA5ZjViZDk3Li5lYzU3Y2QwIDEwMDY0 NAo+PiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+PiArKysgYi9pbmNsdWRl L3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+PiBAQCAtNTMsNiArNTMsNyBAQCBleHRlcm4gIkMiIHsK Pj4gICAjZGVmaW5lIERSTV9BTURHUFVfV0FJVF9GRU5DRVMgICAgICAgIDB4MTIKPj4gICAjZGVm aW5lIERSTV9BTURHUFVfVk0gICAgICAgICAgICAweDEzCj4+ICAgI2RlZmluZSBEUk1fQU1ER1BV X0ZSRUVTWU5DICAgICAgICAgICAgMHgxNAo+PiArI2RlZmluZSBEUk1fQU1ER1BVX0ZFTkNFX1RP X0hBTkRMRSAgICAweDE1Cj4+ICAgICAjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfR0VNX0NSRUFU RSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgCj4+IERSTV9BTURHUFVfR0VNX0NSRUFURSwg dW5pb24gZHJtX2FtZGdwdV9nZW1fY3JlYXRlKQo+PiAgICNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQ VV9HRU1fTU1BUCAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgCj4+IERSTV9BTURHUFVf R0VNX01NQVAsIHVuaW9uIGRybV9hbWRncHVfZ2VtX21tYXApCj4+IEBAIC02OSw2ICs3MCw3IEBA IGV4dGVybiAiQyIgewo+PiAgICNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9XQUlUX0ZFTkNFUyBE Uk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgCj4+IERSTV9BTURHUFVfV0FJVF9GRU5DRVMsIHVu aW9uIGRybV9hbWRncHVfd2FpdF9mZW5jZXMpCj4+ICAgI2RlZmluZSBEUk1fSU9DVExfQU1ER1BV X1ZNICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgCj4+IERSTV9BTURHUFVfVk0s IHVuaW9uIGRybV9hbWRncHVfdm0pCj4+ICAgI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0ZSRUVT WU5DICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyAKPj4gRFJNX0FNREdQVV9GUkVFU1lO Qywgc3RydWN0IGRybV9hbWRncHVfZnJlZXN5bmMpCj4+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURH UFVfRkVOQ0VfVE9fSEFORExFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyAKPj4gRFJNX0FN REdQVV9GRU5DRV9UT19IQU5ETEUsIHVuaW9uIGRybV9hbWRncHVfZmVuY2VfdG9faGFuZGxlKQo+ PiAgICAgI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9DUFUgICAgICAgIDB4MQo+PiAgICNkZWZp bmUgQU1ER1BVX0dFTV9ET01BSU5fR1RUICAgICAgICAweDIKPj4gQEAgLTUxNyw2ICs1MTksMjAg QEAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtIHsKPj4gICAgICAgX191MzIgaGFuZGxl Owo+PiAgIH07Cj4+ICAgKyNkZWZpbmUgQU1ER1BVX0ZFTkNFX1RPX0hBTkRMRV9HRVRfU1lOQ09C SiAgICAwCj4+ICsjZGVmaW5lIEFNREdQVV9GRU5DRV9UT19IQU5ETEVfR0VUX1NZTkNPQkpfRkQg ICAgMQo+PiArI2RlZmluZSBBTURHUFVfRkVOQ0VfVE9fSEFORExFX0dFVF9TWU5DX0ZJTEVfRkQg ICAgMgo+PiArCj4+ICt1bmlvbiBkcm1fYW1kZ3B1X2ZlbmNlX3RvX2hhbmRsZSB7Cj4+ICsgICAg c3RydWN0IHsKPj4gKyAgICAgICAgc3RydWN0IGRybV9hbWRncHVfZmVuY2UgZmVuY2U7Cj4+ICsg ICAgICAgIF9fdTMyIHdoYXQ7Cj4+ICsgICAgfSBpbjsKPj4gKyAgICBzdHJ1Y3Qgewo+PiArICAg ICAgICBfX3UzMiBoYW5kbGU7Cj4+ICsgICAgfSBvdXQ7Cj4+ICt9Owo+PiArCj4+ICAgc3RydWN0 IGRybV9hbWRncHVfY3NfY2h1bmtfZGF0YSB7Cj4+ICAgICAgIHVuaW9uIHsKPj4gICAgICAgICAg IHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2liICAgICAgICBpYl9kYXRhOwo+Cj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxp bmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==