From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 10/11] drm/i915: add irq_barrier operation for synchronising reads Date: Wed, 28 Jan 2015 10:55:53 +0100 Message-ID: <20150128095553.GU4764@phenom.ffwll.local> References: <1422276205-8532-1-git-send-email-rodrigo.vivi@intel.com> <1422276205-8532-11-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by gabe.freedesktop.org (Postfix) with ESMTP id 261586E326 for ; Wed, 28 Jan 2015 01:54:35 -0800 (PST) Received: by mail-wg0-f47.google.com with SMTP id n12so19544523wgh.6 for ; Wed, 28 Jan 2015 01:54:34 -0800 (PST) Content-Disposition: inline In-Reply-To: <1422276205-8532-11-git-send-email-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKYW4gMjYsIDIwMTUgYXQgMDQ6NDM6MjRBTSAtMDgwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IEZyb206IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4gCj4g T24gc29tZSBnZW5lcmF0aW9ucyBvZiBjaGlwcywgaXQgaXMgbmVjZXNzYXJ5IHRvIHJlYWQgYW4g TU1JTyByZWdpc3Rlcgo+IGJlZm9yZSBnZXR0aW5nIHRoZSBzZXF1ZW5jZSBudW1iZXIgZnJvbSB0 aGUgc3RhdHVzIHBhZ2UgaW4gbWFpbiBtZW1vcnksCj4gaW4gb3JkZXIgdG8gZW5zdXJlIGNvaGVy ZW5jeTsgYW5kIG9uIGFsbCBnZW5lcmF0aW9ucyB0aGlzIHNob3VsZCBiZQo+IGVpdGhlciBoZWxw ZnVsIG9yIGhhcm1sZXNzLgo+IAo+IEluIGdlbmVyYWwsIHdlIHdhbnQgdGhpcyBvcGVyYXRpb24g dG8gYmUgdGhlIGNoZWFwZXN0IHBvc3NpYmxlLCBzaW5jZQo+IHdlIHJlcXVpcmUgb25seSB0aGUg c2lkZS1lZmZlY3Qgb2YgRE1BIGNvbXBsZXRpb24gYW5kIGRvbid0IGludGVycHJldAo+IHRoZSBy ZXN1bHQgb2YgdGhlIHJlYWQsIGFuZCBkb24ndCByZXF1aXJlIGFueSBjb29yZGluYXRpb24gd2l0 aCBvdGhlcgo+IHRocmVhZHMsIHBvd2VyIGRvbWFpbnMsIG9yIGFueXRoaW5nIGVsc2UuCj4gCj4g SG93ZXZlciwgZmluZGluZyBhIHN1aXRhYmxlIHJlZ2lzdGVyIG1heSBiZSBwcm9ibGVtYXRpYzsg b24gR0VONiBjaGlwcwo+IHRoZSBBQ1RIRCByZWdpc3RlciB3YXMgdXNlZCwgYnV0IG9uIFZMViBl dCBhbCBhY2Nlc3MgdG8gdGhpcyByZWdpc3Rlcgo+IHJlcXVpcmVzIEZPUkNFV0FLRSBhbmQgdGhl cmVmb3JlIG1hbnkgY29tcGxpY2F0aW9ucyBpbnZvbHZpbmcgc3BpbmxvY2tzCj4gYW5kIHBvbGxp bmcuCj4gCj4gU28gdGhpcyBjb21taXQgaW50cm9kdWNlcyB0aGlzIHN5bmNocm9uaXNpbmcgb3Bl cmF0aW9uIGFzIGEgZGlzdGluY3QKPiB2ZnVuYyBpbiB0aGUgZW5naW5lIHN0cnVjdHVyZSwgc28g dGhhdCBpdCBjYW4gYmUgR0VOLSBvciBjaGlwLXNwZWNpZmljCj4gaWYgbmVlZGVkLgo+IAo+IEFu ZCB0aGVyZSBhcmUgdGhyZWUgaW1wbGVtZW50YXRpb25zOyBhIGR1bW15IG9uZSwgZm9yIGNoaXBz IHdoZXJlIG5vCj4gc3luY2hyb25pc2luZyByZWFkIGlzIG5lZWRlZCwgYSBnZW42KCspIHZlcnNp b24gdGhhdCBpc3N1ZXMgYSBwb3N0aW5nCj4gcmVhZCAodG8gVEFJTCksIGFuZCBhIFZMVi1zcGVj aWZpYyBvbmUgdGhhdCBpc3N1ZXMgYSByYXcgcmVhZCBpbnN0ZWFkLAo+IGF2b2lkaW5nIHRvdWNo aW5nIEZPUkNFV0FLRSBhbmQgR1RGSUZPIGFuZCBvdGhlciBzdWNoIGNvbXBsaWNhdGlvbnMuCj4g Cj4gV2UgdGhlbiBjaGFuZ2UgZ2VuNl9yaW5nX2dldF9zZXFubygpIHRvIHVzZSB0aGlzIG5ldyBp cnFfYmFycmllciByYXRoZXIKPiB0aGFuIGEgUE9TVElOR19SRUFEIG9mIEFDVEhELiBOb3RlIHRo YXQgYm90aCBvbGRlciAocHJlLUdFTjYpIGFuZCBuZXdlcgo+IChHRU44KykgZGV2aWNlcyBydW5u aW5nIGluIExSQyBtb2RlIGRvIG5vdCBjdXJyZW50bHkgaW5jbHVkZSBhbnkgcG9zdGluZwo+IHJl YWQgaW4gdGhlaXIgb3duIGdldF9zZXFubygpIGltcGxlbWVudGF0aW9ucywgc28gdGhpcyBjaGFu Z2Ugb25seQo+IG1ha2VzIGEgZGlmZmVyZW5jZSBvbiBWTFYgKGFuZCBub3QgQ0hWKykuCj4gCj4g U2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KPiBU ZXN0ZWQtQnk6IFBSQyBRQSBQUlRTIChQYXRjaCBSZWdyZXNzaW9uIFRlc3QgU3lzdGVtIENvbnRh Y3Q6IHNodWFuZy5oZUBpbnRlbC5jb20pCj4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxy b2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDEgKwo+ICAyIGZpbGVz IGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IDIzMDIwZDYuLjk3NDczZWQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTEyMjcsNiAr MTIyNywyOCBAQCBwY19yZW5kZXJfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZAo+ICtkdW1teV9pcnFf YmFycmllcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICt7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkCj4gK2dlbjZfaXJxX2JhcnJpZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZykKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShy aW5nLT5kZXYpOwo+ICsJUE9TVElOR19SRUFEKFJJTkdfVEFJTChyaW5nLT5tbWlvX2Jhc2UpKTsK PiArfQo+ICsKPiArI2RlZmluZSBfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdl9fLCByZWdfXykJ cmVhZGwoKGRldl9wcml2X18pLT5yZWdzICsgKHJlZ19fKSkKPiArI2RlZmluZSBSQVdfUE9TVElO R19SRUFEKHJlZ19fKQkJCSh2b2lkKV9fcmF3X2k5MTVfcmVhZDMyKGRldl9wcml2LCByZWdfXykK PiArCj4gK3N0YXRpYyB2b2lkCj4gK3Zsdl9pcnFfYmFycmllcihzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KHJpbmctPmRldik7Cj4gKwlSQVdfUE9TVElOR19SRUFEKFJJTkdfVEFJTChyaW5nLT5t bWlvX2Jhc2UpKTsKPiArfQo+ICsKPiAgc3RhdGljIHUzMgo+ICBnZW42X3JpbmdfZ2V0X3NlcW5v KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgbGF6eV9jb2hlcmVuY3kpCj4gIHsK PiBAQCAtMTIzNCw4ICsxMjU2LDcgQEAgZ2VuNl9yaW5nX2dldF9zZXFubyhzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nLCBib29sIGxhenlfY29oZXJlbmN5KQo+ICAJICogaXZiIChhbmQgbWF5 YmUgYWxzbyBvbiBzbmIpIGJ5IHJlYWRpbmcgZnJvbSBhIENTIHJlZ2lzdGVyIChsaWtlCj4gIAkg KiBBQ1RIRCkgYmVmb3JlIHJlYWRpbmcgdGhlIHN0YXR1cyBwYWdlLiAqLwo+ICAJaWYgKCFsYXp5 X2NvaGVyZW5jeSkgewo+IC0JCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJp bmctPmRldi0+ZGV2X3ByaXZhdGU7Cj4gLQkJUE9TVElOR19SRUFEKFJJTkdfQUNUSEQocmluZy0+ bW1pb19iYXNlKSk7Cj4gKwkJcmluZy0+aXJxX2JhcnJpZXIocmluZyk7Cj4gIAl9CgpJbW8ganVz dCBkbyBhIHZsdl9yaW5nX2dldF9zZXFubyBpZiB0aGlzIGlzIGEgcHJvYmxlbS4gQWRkaW5nIGEg dmZ1bmMgd2l0aAptb3N0bHkgZW1wdHkgb3Igc2FtZSBpbXBsZW1lbmF0aW9uIHRvIGFub3RoZXIg dmVyeSB0aW55IHZmdW5jIGlzbid0IGRvaW5nCmEgd2hvbGUgbG90IG9mIGdvb2QgdG8gdGhlIGNv ZGViYXNlLgotRGFuaWVsCgo+ICAKPiAgCXJldHVybiBpbnRlbF9yZWFkX3N0YXR1c19wYWdlKHJp bmcsIEk5MTVfR0VNX0hXU19JTkRFWCk7Cj4gQEAgLTIzOTMsNiArMjQxNCw3IEBAIGludCBpbnRl bF9pbml0X3JlbmRlcl9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCXJp bmctPmlycV9nZXQgPSBnZW44X3JpbmdfZ2V0X2lycTsKPiAgCQlyaW5nLT5pcnFfcHV0ID0gZ2Vu OF9yaW5nX3B1dF9pcnE7Cj4gIAkJcmluZy0+aXJxX2VuYWJsZV9tYXNrID0gR1RfUkVOREVSX1VT RVJfSU5URVJSVVBUOwo+ICsJCXJpbmctPmlycV9iYXJyaWVyID0gZ2VuNl9pcnFfYmFycmllcjsK PiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBnZW42X3JpbmdfZ2V0X3NlcW5vOwo+ICAJCXJpbmctPnNl dF9zZXFubyA9IHJpbmdfc2V0X3NlcW5vOwo+ICAJCWlmIChpOTE1X3NlbWFwaG9yZV9pc19lbmFi bGVkKGRldikpIHsKPiBAQCAtMjQwOSw2ICsyNDMxLDEwIEBAIGludCBpbnRlbF9pbml0X3JlbmRl cl9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCXJpbmctPmlycV9nZXQg PSBnZW42X3JpbmdfZ2V0X2lycTsKPiAgCQlyaW5nLT5pcnFfcHV0ID0gZ2VuNl9yaW5nX3B1dF9p cnE7Cj4gIAkJcmluZy0+aXJxX2VuYWJsZV9tYXNrID0gR1RfUkVOREVSX1VTRVJfSU5URVJSVVBU Owo+ICsJCWlmIChJU19WQUxMRVlWSUVXKGRldikgJiYgIUlTX0dFTjgoZGV2KSkKPiArCQkJcmlu Zy0+aXJxX2JhcnJpZXIgPSB2bHZfaXJxX2JhcnJpZXI7Cj4gKwkJZWxzZQo+ICsJCQlyaW5nLT5p cnFfYmFycmllciA9IGdlbjZfaXJxX2JhcnJpZXI7Cj4gIAkJcmluZy0+Z2V0X3NlcW5vID0gZ2Vu Nl9yaW5nX2dldF9zZXFubzsKPiAgCQlyaW5nLT5zZXRfc2Vxbm8gPSByaW5nX3NldF9zZXFubzsK PiAgCQlpZiAoaTkxNV9zZW1hcGhvcmVfaXNfZW5hYmxlZChkZXYpKSB7Cj4gQEAgLTI0MzUsNiAr MjQ2MSw3IEBAIGludCBpbnRlbF9pbml0X3JlbmRlcl9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAJfSBlbHNlIGlmIChJU19HRU41KGRldikpIHsKPiAgCQlyaW5nLT5hZGRf cmVxdWVzdCA9IHBjX3JlbmRlcl9hZGRfcmVxdWVzdDsKPiAgCQlyaW5nLT5mbHVzaCA9IGdlbjRf cmVuZGVyX3JpbmdfZmx1c2g7Cj4gKwkJcmluZy0+aXJxX2JhcnJpZXIgPSBkdW1teV9pcnFfYmFy cmllcjsKPiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBwY19yZW5kZXJfZ2V0X3NlcW5vOwo+ICAJCXJp bmctPnNldF9zZXFubyA9IHBjX3JlbmRlcl9zZXRfc2Vxbm87Cj4gIAkJcmluZy0+aXJxX2dldCA9 IGdlbjVfcmluZ19nZXRfaXJxOwo+IEBAIC0yNDQ3LDYgKzI0NzQsNyBAQCBpbnQgaW50ZWxfaW5p dF9yZW5kZXJfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJcmluZy0+ Zmx1c2ggPSBnZW4yX3JlbmRlcl9yaW5nX2ZsdXNoOwo+ICAJCWVsc2UKPiAgCQkJcmluZy0+Zmx1 c2ggPSBnZW40X3JlbmRlcl9yaW5nX2ZsdXNoOwo+ICsJCXJpbmctPmlycV9iYXJyaWVyID0gZHVt bXlfaXJxX2JhcnJpZXI7Cj4gIAkJcmluZy0+Z2V0X3NlcW5vID0gcmluZ19nZXRfc2Vxbm87Cj4g IAkJcmluZy0+c2V0X3NlcW5vID0gcmluZ19zZXRfc2Vxbm87Cj4gIAkJaWYgKElTX0dFTjIoZGV2 KSkgewo+IEBAIC0yNTIzLDYgKzI1NTEsNyBAQCBpbnQgaW50ZWxfaW5pdF9ic2RfcmluZ19idWZm ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJcmluZy0+d3JpdGVfdGFpbCA9IGdlbjZf YnNkX3Jpbmdfd3JpdGVfdGFpbDsKPiAgCQlyaW5nLT5mbHVzaCA9IGdlbjZfYnNkX3JpbmdfZmx1 c2g7Cj4gIAkJcmluZy0+YWRkX3JlcXVlc3QgPSBnZW42X2FkZF9yZXF1ZXN0Owo+ICsJCXJpbmct PmlycV9iYXJyaWVyID0gZ2VuNl9pcnFfYmFycmllcjsKPiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBn ZW42X3JpbmdfZ2V0X3NlcW5vOwo+ICAJCXJpbmctPnNldF9zZXFubyA9IHJpbmdfc2V0X3NlcW5v Owo+ICAJCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA4KSB7Cj4gQEAgLTI1NjIsNiArMjU5 MSw3IEBAIGludCBpbnRlbF9pbml0X2JzZF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICAJCXJpbmctPm1taW9fYmFzZSA9IEJTRF9SSU5HX0JBU0U7Cj4gIAkJcmluZy0+Zmx1 c2ggPSBic2RfcmluZ19mbHVzaDsKPiAgCQlyaW5nLT5hZGRfcmVxdWVzdCA9IGk5eHhfYWRkX3Jl cXVlc3Q7Cj4gKwkJcmluZy0+aXJxX2JhcnJpZXIgPSBkdW1teV9pcnFfYmFycmllcjsKPiAgCQly aW5nLT5nZXRfc2Vxbm8gPSByaW5nX2dldF9zZXFubzsKPiAgCQlyaW5nLT5zZXRfc2Vxbm8gPSBy aW5nX3NldF9zZXFubzsKPiAgCQlpZiAoSVNfR0VONShkZXYpKSB7Cj4gQEAgLTI2MDEsNiArMjYz MSw3IEBAIGludCBpbnRlbF9pbml0X2JzZDJfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCXJpbmctPm1taW9fYmFzZSA9IEdFTjhfQlNEMl9SSU5HX0JBU0U7Cj4gIAlyaW5n LT5mbHVzaCA9IGdlbjZfYnNkX3JpbmdfZmx1c2g7Cj4gIAlyaW5nLT5hZGRfcmVxdWVzdCA9IGdl bjZfYWRkX3JlcXVlc3Q7Cj4gKwlyaW5nLT5pcnFfYmFycmllciA9IGdlbjZfaXJxX2JhcnJpZXI7 Cj4gIAlyaW5nLT5nZXRfc2Vxbm8gPSBnZW42X3JpbmdfZ2V0X3NlcW5vOwo+ICAJcmluZy0+c2V0 X3NlcW5vID0gcmluZ19zZXRfc2Vxbm87Cj4gIAlyaW5nLT5pcnFfZW5hYmxlX21hc2sgPQo+IEBA IC0yNjMxLDYgKzI2NjIsNyBAQCBpbnQgaW50ZWxfaW5pdF9ibHRfcmluZ19idWZmZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCXJpbmctPndyaXRlX3RhaWwgPSByaW5nX3dyaXRlX3RhaWw7 Cj4gIAlyaW5nLT5mbHVzaCA9IGdlbjZfcmluZ19mbHVzaDsKPiAgCXJpbmctPmFkZF9yZXF1ZXN0 ID0gZ2VuNl9hZGRfcmVxdWVzdDsKPiArCXJpbmctPmlycV9iYXJyaWVyID0gZ2VuNl9pcnFfYmFy cmllcjsKPiAgCXJpbmctPmdldF9zZXFubyA9IGdlbjZfcmluZ19nZXRfc2Vxbm87Cj4gIAlyaW5n LT5zZXRfc2Vxbm8gPSByaW5nX3NldF9zZXFubzsKPiAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdl biA+PSA4KSB7Cj4gQEAgLTI2ODgsNiArMjcyMCw3IEBAIGludCBpbnRlbF9pbml0X3ZlYm94X3Jp bmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlyaW5nLT53cml0ZV90YWlsID0g cmluZ193cml0ZV90YWlsOwo+ICAJcmluZy0+Zmx1c2ggPSBnZW42X3JpbmdfZmx1c2g7Cj4gIAly aW5nLT5hZGRfcmVxdWVzdCA9IGdlbjZfYWRkX3JlcXVlc3Q7Cj4gKwlyaW5nLT5pcnFfYmFycmll ciA9IGdlbjZfaXJxX2JhcnJpZXI7Cj4gIAlyaW5nLT5nZXRfc2Vxbm8gPSBnZW42X3JpbmdfZ2V0 X3NlcW5vOwo+ICAJcmluZy0+c2V0X3NlcW5vID0gcmluZ19zZXRfc2Vxbm87Cj4gIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBpbmRleCA2ZGJiNmY0Li5mNjg2OTI5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IEBAIC0xNjMs NiArMTYzLDcgQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVfY3Mgewo+ICAJICogc2VlbiB2YWx1ZSBp cyBnb29kIGVub3VnaC4gTm90ZSB0aGF0IHRoZSBzZXFubyB3aWxsIGFsd2F5cyBiZQo+ICAJICog bW9ub3RvbmljLCBldmVuIGlmIG5vdCBjb2hlcmVudC4KPiAgCSAqLwo+ICsJdm9pZAkJKCppcnFf YmFycmllcikoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4gIAl1MzIJCSgqZ2V0X3Nl cW5vKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAJCQkJICAgICBib29sIGxhenlf Y29oZXJlbmN5KTsKPiAgCXZvaWQJCSgqc2V0X3NlcW5vKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAo+IC0tIAo+IDEuOS4zCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==