From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 8/8] amdgpu: use sync file for shared semaphores (v3) Date: Wed, 12 Apr 2017 11:31:35 -0400 Message-ID: References: <20170412045726.13689-1-airlied@gmail.com> <20170412045726.13689-9-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170412045726.13689-9-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Dave Airlie Cc: Maling list - DRI developers , amd-gfx list List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBcHIgMTIsIDIwMTcgYXQgMTI6NTcgQU0sIERhdmUgQWlybGllIDxhaXJsaWVkQGdt YWlsLmNvbT4gd3JvdGU6Cj4gRnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4K Pgo+IFRoaXMgY3JlYXRlcyBhIG5ldyBjb21tYW5kIHN1Ym1pc3Npb24gY2h1bmsgZm9yIGFtZGdw dQo+IHRvIGFkZCB3YWl0IGFuZCBzaWduYWwgc3luYyBvYmplY3RzIGFyb3VuZCB0aGUgc3VibWlz c2lvbi4KPgo+IFN5bmMgb2JqZWN0cyBhcmUgbWFuYWdlZCB2aWEgdGhlIGRybSBzeW5jb2JqIGlv Y3Rscy4KPgo+IFRoZSBjb21tYW5kIHN1Ym1pc3Npb24gaW50ZXJmYWNlIGlzIGVuaGFuY2VkIHdp dGggdHdvIG5ldwo+IGNodW5rcywgb25lIGZvciBzZW1hcGhvcmUgd2FpdGluZywgb25lIGZvciBz ZW1hcGhvcmUgc2lnbmFsbGluZwo+IGFuZCBqdXN0IHRha2VzIGEgbGlzdCBvZiBoYW5kbGVzIGZv ciBlYWNoLgo+Cj4gVGhpcyBpcyBiYXNlZCBvbiB3b3JrIG9yaWdpbmFsbHkgZG9uZSBieSBEYXZp ZCBaaG91IGF0IEFNRCwKPiB3aXRoIGlucHV0IGZyb20gQ2hyaXN0aWFuIEtvbmlnIG9uIHdoYXQg dGhpbmdzIHNob3VsZCBsb29rIGxpa2UuCj4KPiBOT1RFOiB0aGlzIGludGVyZmFjZSBhZGRpdGlv biBuZWVkcyBhIHZlcnNpb24gYnVtcCB0byBleHBvc2UKPiBpdCB0byB1c2Vyc3BhY2UuCj4KPiB2 MS4xOiBrZWVwIGZpbGUgcmVmZXJlbmNlIG9uIGltcG9ydC4KPiB2MjogbW92ZSB0byB1c2luZyBz eW5jb2Jqcwo+IHYyLjE6IGNoYW5nZSBzb21lIEFQSXMgdG8ganVzdCB1c2UgcCBwb2ludGVyLgo+ IHYzOiBtYWtlIG1vcmUgcm9idXN0IGFnYWluc3QgQ1MgZmFpbHVyZXMsIHdlIG5vdyBhZGQgdGhl Cj4gd2FpdCBzZW1zIGJ1dCBvbmx5IHJlbW92ZSB0aGVtIG9uY2UgdGhlIENTIGpvYiBoYXMgYmVl bgo+IHN1Ym1pdHRlZC4KPgo+IFNpZ25lZC1vZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJl ZGhhdC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5j ICB8IDEyMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgfCAgIDIgKy0KPiAgaW5jbHVkZS91YXBpL2RybS9h bWRncHVfZHJtLmggICAgICAgICAgIHwgICA2ICsrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTI2IGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3MuYwo+IGluZGV4IGRmMjViMzIuLmU5YjU3OTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+IEBAIC0yNyw2ICsyNyw3IEBACj4gICNpbmNsdWRlIDxs aW51eC9wYWdlbWFwLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ICAjaW5jbHVkZSA8ZHJt L2FtZGdwdV9kcm0uaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fc3luY29iai5oPgo+ICAjaW5jbHVk ZSAiYW1kZ3B1LmgiCj4gICNpbmNsdWRlICJhbWRncHVfdHJhY2UuaCIKPgo+IEBAIC0yMTcsNiAr MjE4LDggQEAgaW50IGFtZGdwdV9jc19wYXJzZXJfaW5pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwgdm9pZCAqZGF0YSkKPiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPgo+ICAg ICAgICAgICAgICAgICBjYXNlIEFNREdQVV9DSFVOS19JRF9ERVBFTkRFTkNJRVM6Cj4gKyAgICAg ICAgICAgICAgIGNhc2UgQU1ER1BVX0NIVU5LX0lEX1NFTV9XQUlUOgo+ICsgICAgICAgICAgICAg ICBjYXNlIEFNREdQVV9DSFVOS19JRF9TRU1fU0lHTkFMOgo+ICAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwo+Cj4gICAgICAgICAgICAgICAgIGRlZmF1bHQ6Cj4gQEAgLTEwMDgsNiArMTAx MSw3MyBAQCBzdGF0aWMgaW50IGFtZGdwdV9wcm9jZXNzX2ZlbmNlX2RlcChzdHJ1Y3QgYW1kZ3B1 X2NzX3BhcnNlciAqcCwKPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiArc3RhdGljIGludCBh bWRncHVfc2VtX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIg KnAsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgaGFuZGxlKQo+ICt7Cj4gKyAgICAgICBpbnQgcjsKPiArICAgICAgIHN0cnVjdCBkbWFfZmVu Y2UgKmZlbmNlOwo+ICsgICAgICAgciA9IGRybV9zeW5jb2JqX2ZlbmNlX2dldChwLT5maWxwLCBo YW5kbGUsICZmZW5jZSk7Cj4gKyAgICAgICBpZiAocikKPiArICAgICAgICAgICAgICAgcmV0dXJu IHI7Cj4gKwo+ICsgICAgICAgciA9IGFtZGdwdV9zeW5jX2ZlbmNlKHAtPmFkZXYsICZwLT5qb2It PnN5bmMsIGZlbmNlKTsKPiArICAgICAgIGRtYV9mZW5jZV9wdXQoZmVuY2UpOwo+ICsKPiArICAg ICAgIHJldHVybiByOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGFtZGdwdV9zZW1fbG9va3VwX2Fu ZF9yZW1vdmUoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBoYW5kbGUpCj4gK3sKPiArICAgICAgIGludCBy Owo+ICsgICAgICAgc3RydWN0IGRtYV9mZW5jZSAqb2xkX2ZlbmNlOwo+ICsKPiArICAgICAgIHIg PSBkcm1fc3luY29ial9yZXBsYWNlX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwgTlVMTCk7Cj4gKyAg ICAgICBpZiAocikKPiArICAgICAgICAgICAgICAgcmV0dXJuIHI7Cj4gKyAgICAgICBkbWFfZmVu Y2VfcHV0KG9sZF9mZW5jZSk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIHI7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbnQgYW1kZ3B1X3Byb2Nlc3Nfc2VtX3dhaXRfZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFy c2VyICpwLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBh bWRncHVfY3NfY2h1bmsgKmNodW5rKQo+ICt7Cj4gKyAgICAgICB1bnNpZ25lZCBudW1fZGVwczsK PiArICAgICAgIGludCBpLCByOwo+ICsgICAgICAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtf c2VtICpkZXBzOwo+ICsKPiArICAgICAgIGRlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1 bmtfc2VtICopY2h1bmstPmtkYXRhOwo+ICsgICAgICAgbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3Ro X2R3ICogNCAvCj4gKyAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19j aHVua19zZW0pOwo+ICsKPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1fZGVwczsgKytpKSB7 Cj4gKyAgICAgICAgICAgICAgIHIgPSBhbWRncHVfc2VtX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMo cCwgZGVwc1tpXS5oYW5kbGUpOwo+ICsgICAgICAgICAgICAgICBpZiAocikKPiArICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gcjsKPiArICAgICAgIH0KPiArICAgICAgIHJldHVybiAwOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGFtZGdwdV9wcm9jZXNzX3NlbV93YWl0X3Bvc3Qoc3RydWN0 IGFtZGdwdV9jc19wYXJzZXIgKnAsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsgKmNodW5rKQo+ICt7Cj4gKyAgICAgICB1bnNp Z25lZCBudW1fZGVwczsKPiArICAgICAgIGludCBpLCByOwo+ICsgICAgICAgc3RydWN0IGRybV9h bWRncHVfY3NfY2h1bmtfc2VtICpkZXBzOwo+ICsKPiArICAgICAgIGRlcHMgPSAoc3RydWN0IGRy bV9hbWRncHVfY3NfY2h1bmtfc2VtICopY2h1bmstPmtkYXRhOwo+ICsgICAgICAgbnVtX2RlcHMg PSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCj4gKyAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3Qg ZHJtX2FtZGdwdV9jc19jaHVua19zZW0pOwo+ICsKPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBu dW1fZGVwczsgKytpKSB7Cj4gKyAgICAgICAgICAgICAgIHIgPSBhbWRncHVfc2VtX2xvb2t1cF9h bmRfcmVtb3ZlKHAsIGRlcHNbaV0uaGFuZGxlKTsKPiArICAgICAgICAgICAgICAgaWYgKHIpCj4g KyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBy ZXR1cm4gMDsKPiArfQo+ICsKPiAgc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVzKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKPiAgewo+IEBAIC0xMDIyLDEyICsxMDky LDYwIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX2RlcGVuZGVuY2llcyhzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICByID0gYW1kZ3B1X3Byb2Nlc3Nf ZmVuY2VfZGVwKHAsIGNodW5rKTsKPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocikKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwo+ICsgICAgICAgICAgICAg ICB9IGVsc2UgaWYgKGNodW5rLT5jaHVua19pZCA9PSBBTURHUFVfQ0hVTktfSURfU0VNX1dBSVQp IHsKPiArICAgICAgICAgICAgICAgICAgICAgICByID0gYW1kZ3B1X3Byb2Nlc3Nfc2VtX3dhaXRf ZGVwKHAsIGNodW5rKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAocikKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwo+ICAgICAgICAgICAgICAgICB9Cj4g ICAgICAgICB9Cj4KPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiArc3RhdGljIGludCBhbWRn cHVfcHJvY2Vzc19zZW1fc2lnbmFsX2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfY3Nf Y2h1bmsgKmNodW5rKQo+ICt7Cj4gKyAgICAgICB1bnNpZ25lZCBudW1fZGVwczsKPiArICAgICAg IGludCBpLCByOwo+ICsgICAgICAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICpkZXBz Owo+ICsKPiArICAgICAgIGRlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICop Y2h1bmstPmtkYXRhOwo+ICsgICAgICAgbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAv Cj4gKyAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0p Owo+ICsKPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1fZGVwczsgKytpKSB7Cj4gKyAgICAg ICAgICAgICAgIHIgPSBkcm1fc3luY29ial9yZXBsYWNlX2ZlbmNlKHAtPmZpbHAsIGRlcHNbaV0u aGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw LT5mZW5jZSk7Cj4gKyAgICAgICAgICAgICAgIGlmIChyKQo+ICsgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiByOwo+ICsgICAgICAgfQo+ICsgICAgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4g K3N0YXRpYyBpbnQgYW1kZ3B1X2NzX3Bvc3RfZGVwZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVfY3Nf cGFyc2VyICpwKQo+ICt7Cj4gKyAgICAgICBpbnQgaSwgcjsKPiArCj4gKyAgICAgICBmb3IgKGkg PSAwOyBpIDwgcC0+bmNodW5rczsgKytpKSB7Cj4gKyAgICAgICAgICAgICAgIHN0cnVjdCBhbWRn cHVfY3NfY2h1bmsgKmNodW5rOwo+ICsKPiArICAgICAgICAgICAgICAgY2h1bmsgPSAmcC0+Y2h1 bmtzW2ldOwo+ICsKPiArICAgICAgICAgICAgICAgaWYgKGNodW5rLT5jaHVua19pZCA9PSBBTURH UFVfQ0hVTktfSURfU0VNX1dBSVQpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICByID0gYW1k Z3B1X3Byb2Nlc3Nfc2VtX3dhaXRfcG9zdChwLCBjaHVuayk7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHIpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsK PiArICAgICAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgICAgICAgaWYgKGNodW5rLT5jaHVu a19pZCA9PSBBTURHUFVfQ0hVTktfSURfU0VNX1NJR05BTCkgewo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHIgPSBhbWRncHVfcHJvY2Vzc19zZW1fc2lnbmFsX2RlcChwLCBjaHVuayk7Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgaWYgKHIpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gcjsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgICAg cmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3Qg YW1kZ3B1X2NzX3BhcnNlciAqcCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24g ZHJtX2FtZGdwdV9jcyAqY3MpCj4gIHsKPiBAQCAtMTA1NSw3ICsxMTczLDcgQEAgc3RhdGljIGlu dCBhbWRncHVfY3Nfc3VibWl0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAo+ICAgICAgICAg dHJhY2VfYW1kZ3B1X2NzX2lvY3RsKGpvYik7Cj4gICAgICAgICBhbWRfc2NoZWRfZW50aXR5X3B1 c2hfam9iKCZqb2ItPmJhc2UpOwo+Cj4gLSAgICAgICByZXR1cm4gMDsKPiArICAgICAgIHJldHVy biBhbWRncHVfY3NfcG9zdF9kZXBlbmRlbmNpZXMocCk7Cj4gIH0KPgo+ICBpbnQgYW1kZ3B1X2Nz X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmls ZSAqZmlscCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCj4gaW5kZXgg Yjc2Y2Q2OS4uZTk1OTUxZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZHJ2LmMKPiBAQCAtNjgzLDcgKzY4Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBrbXNf ZHJpdmVyID0gewo+ICAgICAgICAgLmRyaXZlcl9mZWF0dXJlcyA9Cj4gICAgICAgICAgICAgRFJJ VkVSX1VTRV9BR1AgfAo+ICAgICAgICAgICAgIERSSVZFUl9IQVZFX0lSUSB8IERSSVZFUl9JUlFf U0hBUkVEIHwgRFJJVkVSX0dFTSB8Cj4gLSAgICAgICAgICAgRFJJVkVSX1BSSU1FIHwgRFJJVkVS X1JFTkRFUiB8IERSSVZFUl9NT0RFU0VULAo+ICsgICAgICAgICAgIERSSVZFUl9QUklNRSB8IERS SVZFUl9SRU5ERVIgfCBEUklWRVJfTU9ERVNFVCB8IERSSVZFUl9TWU5DT0JKLAo+ICAgICAgICAg LmxvYWQgPSBhbWRncHVfZHJpdmVyX2xvYWRfa21zLAo+ICAgICAgICAgLm9wZW4gPSBhbWRncHVf ZHJpdmVyX29wZW5fa21zLAo+ICAgICAgICAgLnByZWNsb3NlID0gYW1kZ3B1X2RyaXZlcl9wcmVj bG9zZV9rbXMsCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oIGIv aW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPiBpbmRleCA1Nzk3MjgzLi42NDdjNTIwIDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCj4gKysrIGIvaW5jbHVk ZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPiBAQCAtMzkwLDYgKzM5MCw4IEBAIHN0cnVjdCBkcm1f YW1kZ3B1X2dlbV92YSB7Cj4gICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0lCICAgICAgICAgICAg IDB4MDEKPiAgI2RlZmluZSBBTURHUFVfQ0hVTktfSURfRkVOQ0UgICAgICAgICAgMHgwMgo+ICAj ZGVmaW5lIEFNREdQVV9DSFVOS19JRF9ERVBFTkRFTkNJRVMgICAweDAzCj4gKyNkZWZpbmUgQU1E R1BVX0NIVU5LX0lEX1NFTV9XQUlUICAgICAgICAweDA0Cj4gKyNkZWZpbmUgQU1ER1BVX0NIVU5L X0lEX1NFTV9TSUdOQUwgICAgICAweDA1Cj4KPiAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmsg ewo+ICAgICAgICAgX191MzIgICAgICAgICAgIGNodW5rX2lkOwo+IEBAIC00NTQsNiArNDU2LDEw IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2ZlbmNlIHsKPiAgICAgICAgIF9fdTMyIG9m ZnNldDsKPiAgfTsKPgo+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gewo+ICsgICAg ICAgX191MzIgaGFuZGxlOwoKCkRvIHdlIG5lZWQgYSBwYWQgaGVyZT8KCkFsZXgKCj4gK307Cj4g Kwo+ICBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kYXRhIHsKPiAgICAgICAgIHVuaW9uIHsK PiAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfaWIgICAgICAgICAg IGliX2RhdGE7Cj4gLS0KPiAyLjkuMwo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeAo=