From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/9] dma-buf: make fence sequence numbers 64 bit v2 Date: Wed, 5 Dec 2018 14:09:58 +0100 Message-ID: References: <20181205130835.1595-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181205130835.1595-1-christian.koenig-5C7GfCeVMHo@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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, "Zhou, David(ChunMing)" List-Id: dri-devel@lists.freedesktop.org SGkgRGF2aWQsCgp3aXRoIGEgYml0IG9mIGx1Y2sgdGhhdCBzaG91bGQgZG8gaXQuCgpDYW4geW91 IHBsZWFzZSBydW4geW91ciB0ZXN0IGFzIHdlbGwgYXMgdGhlIGlndCB0ZXN0cyBvbiB0aGlzIG9u Y2UgbW9yZSAKYW5kIHNlZSBpZiBldmVyeXRoaW5nIHdvcmtzIGFzIGV4cGVjdGVkPwoKVGhhbmtz LApDaHJpc3RpYW4uCgpBbSAwNS4xMi4xOCB1bSAxNDowOCBzY2hyaWViIENocmlzdGlhbiBLw7Zu aWc6Cj4gRm9yIGEgbG90IG9mIHVzZSBjYXNlcyB3ZSBuZWVkIDY0Yml0IHNlcXVlbmNlIG51bWJl cnMuIEN1cnJlbnRseSBkcml2ZXJzCj4gb3ZlcmxvYWQgdGhlIGRtYV9mZW5jZSBzdHJ1Y3R1cmUg dG8gc3RvcmUgdGhlIGFkZGl0aW9uYWwgYml0cy4KPgo+IFN0b3AgZG9pbmcgdGhhdCBhbmQgbWFr ZSB0aGUgc2VxdWVuY2UgbnVtYmVyIGluIHRoZSBkbWFfZmVuY2UgYWx3YXlzCj4gNjRiaXQuCj4K PiBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIGhhcmR3YXJlIHdoaWNoIGNhbiBkbyBvbmx5IDMyYml0 IHNlcXVlbmNlcyB0aGUKPiBjb21wYXJpc29ucyBpbiBfX2RtYV9mZW5jZV9pc19sYXRlciBvbmx5 IHRha2VzIHRoZSBsb3dlciAzMmJpdHMgYXMgc2lnbmlmaWNhbnQKPiB3aGVuIHRoZSB1cHBlciAz MmJpdHMgYXJlIGFsbCB6ZXJvLgo+Cj4gdjI6IGNoYW5nZSB0aGUgbG9naWMgaW4gX19kbWFfZmVu Y2VfaXNfbGF0ZXIKPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZG1hLWJ1Zi9kbWEtZmVuY2UuYyAg ICAgICAgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZG1hLWJ1Zi9zd19zeW5jLmMgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYyAgICAgICAgICAgIHwg IDQgKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMgfCAgMiAr LQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jICAgfCAgMiArLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgfCAgMiArLQo+ICAgZHJpdmVy cy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jICAgICAgfCAgNCArKy0tCj4gICBpbmNsdWRlL2xp bnV4L2RtYS1mZW5jZS5oICAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKy0tLS0tLS0K PiAgIDggZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL2RtYS1mZW5jZS5jIGIvZHJpdmVycy9kbWEt YnVmL2RtYS1mZW5jZS5jCj4gaW5kZXggMTM2ZWMwNGQ2ODNmLi4zYWE4NzMzZjgzMmEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9kbWEtYnVmL2RtYS1mZW5jZS5jCj4gKysrIGIvZHJpdmVycy9kbWEt YnVmL2RtYS1mZW5jZS5jCj4gQEAgLTY0OSw3ICs2NDksNyBAQCBFWFBPUlRfU1lNQk9MKGRtYV9m ZW5jZV93YWl0X2FueV90aW1lb3V0KTsKPiAgICAqLwo+ICAgdm9pZAo+ICAgZG1hX2ZlbmNlX2lu aXQoc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsIGNvbnN0IHN0cnVjdCBkbWFfZmVuY2Vfb3BzICpv cHMsCj4gLQkgICAgICAgc3BpbmxvY2tfdCAqbG9jaywgdTY0IGNvbnRleHQsIHVuc2lnbmVkIHNl cW5vKQo+ICsJICAgICAgIHNwaW5sb2NrX3QgKmxvY2ssIHU2NCBjb250ZXh0LCB1NjQgc2Vxbm8p Cj4gICB7Cj4gICAJQlVHX09OKCFsb2NrKTsKPiAgIAlCVUdfT04oIW9wcyB8fCAhb3BzLT5nZXRf ZHJpdmVyX25hbWUgfHwgIW9wcy0+Z2V0X3RpbWVsaW5lX25hbWUpOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2RtYS1idWYvc3dfc3luYy5jIGIvZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYwo+IGlu ZGV4IDUzYzFkNmQzNmE2NC4uMzJkY2Y3YjRjOTM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1h LWJ1Zi9zd19zeW5jLmMKPiArKysgYi9kcml2ZXJzL2RtYS1idWYvc3dfc3luYy5jCj4gQEAgLTE3 Miw3ICsxNzIsNyBAQCBzdGF0aWMgYm9vbCB0aW1lbGluZV9mZW5jZV9lbmFibGVfc2lnbmFsaW5n KHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQo+ICAgc3RhdGljIHZvaWQgdGltZWxpbmVfZmVuY2Vf dmFsdWVfc3RyKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAo+ICAgCQkJCSAgICBjaGFyICpzdHIs IGludCBzaXplKQo+ICAgewo+IC0Jc25wcmludGYoc3RyLCBzaXplLCAiJWQiLCBmZW5jZS0+c2Vx bm8pOwo+ICsJc25wcmludGYoc3RyLCBzaXplLCAiJWxsZCIsIGZlbmNlLT5zZXFubyk7Cj4gICB9 Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHRpbWVsaW5lX2ZlbmNlX3RpbWVsaW5lX3ZhbHVlX3N0cihz dHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL3N5 bmNfZmlsZS5jIGIvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5jCj4gaW5kZXggMzVkZDA2NDc5 ODY3Li40ZjYzMDVjYTUyYzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmls ZS5jCj4gKysrIGIvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5jCj4gQEAgLTE0NCw3ICsxNDQs NyBAQCBjaGFyICpzeW5jX2ZpbGVfZ2V0X25hbWUoc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxl LCBjaGFyICpidWYsIGludCBsZW4pCj4gICAJfSBlbHNlIHsKPiAgIAkJc3RydWN0IGRtYV9mZW5j ZSAqZmVuY2UgPSBzeW5jX2ZpbGUtPmZlbmNlOwo+ICAgCj4gLQkJc25wcmludGYoYnVmLCBsZW4s ICIlcy0lcyVsbHUtJWQiLAo+ICsJCXNucHJpbnRmKGJ1ZiwgbGVuLCAiJXMtJXMlbGx1LSVsbGQi LAo+ICAgCQkJIGZlbmNlLT5vcHMtPmdldF9kcml2ZXJfbmFtZShmZW5jZSksCj4gICAJCQkgZmVu Y2UtPm9wcy0+Z2V0X3RpbWVsaW5lX25hbWUoZmVuY2UpLAo+ICAgCQkJIGZlbmNlLT5jb250ZXh0 LAo+IEBAIC0yNTgsNyArMjU4LDcgQEAgc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmls ZV9tZXJnZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3luY19maWxlICphLAo+ICAgCj4gICAJ CQlpX2IrKzsKPiAgIAkJfSBlbHNlIHsKPiAtCQkJaWYgKHB0X2EtPnNlcW5vIC0gcHRfYi0+c2Vx bm8gPD0gSU5UX01BWCkKPiArCQkJaWYgKF9fZG1hX2ZlbmNlX2lzX2xhdGVyKHB0X2EtPnNlcW5v LCBwdF9iLT5zZXFubykpCj4gICAJCQkJYWRkX2ZlbmNlKGZlbmNlcywgJmksIHB0X2EpOwo+ICAg CQkJZWxzZQo+ICAgCQkJCWFkZF9mZW5jZShmZW5jZXMsICZpLCBwdF9iKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfc2EuYwo+IGluZGV4IDEyZjJiZjk3NjExZi4uYmZhZjVjNjMy M2JlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zYS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMKPiBAQCAtMzg4 LDcgKzM4OCw3IEBAIHZvaWQgYW1kZ3B1X3NhX2JvX2R1bXBfZGVidWdfaW5mbyhzdHJ1Y3QgYW1k Z3B1X3NhX21hbmFnZXIgKnNhX21hbmFnZXIsCj4gICAJCQkgICBzb2Zmc2V0LCBlb2Zmc2V0LCBl b2Zmc2V0IC0gc29mZnNldCk7Cj4gICAKPiAgIAkJaWYgKGktPmZlbmNlKQo+IC0JCQlzZXFfcHJp bnRmKG0sICIgcHJvdGVjdGVkIGJ5IDB4JTA4eCBvbiBjb250ZXh0ICVsbHUiLAo+ICsJCQlzZXFf cHJpbnRmKG0sICIgcHJvdGVjdGVkIGJ5IDB4JTAxNmxseCBvbiBjb250ZXh0ICVsbHUiLAo+ICAg CQkJCSAgIGktPmZlbmNlLT5zZXFubywgaS0+ZmVuY2UtPmNvbnRleHQpOwo+ICAgCj4gICAJCXNl cV9wcmludGYobSwgIlxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc3dfZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYwo+IGlu ZGV4IDZkYmVlZDA3OWFlNS4uMTFiY2RhYmQ1MTc3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc3dfZmVuY2UuYwo+IEBAIC0zOTMsNyArMzkzLDcgQEAgc3RhdGljIHZvaWQgdGltZXJfaTkx NV9zd19mZW5jZV93YWtlKHN0cnVjdCB0aW1lcl9saXN0ICp0KQo+ICAgCWlmICghZmVuY2UpCj4g ICAJCXJldHVybjsKPiAgIAo+IC0JcHJfbm90aWNlKCJBc3luY2hyb25vdXMgd2FpdCBvbiBmZW5j ZSAlczolczoleCB0aW1lZCBvdXQgKGhpbnQ6JXBTKVxuIiwKPiArCXByX25vdGljZSgiQXN5bmNo cm9ub3VzIHdhaXQgb24gZmVuY2UgJXM6JXM6JWxseCB0aW1lZCBvdXQgKGhpbnQ6JXBTKVxuIiwK PiAgIAkJICBjYi0+ZG1hLT5vcHMtPmdldF9kcml2ZXJfbmFtZShjYi0+ZG1hKSwKPiAgIAkJICBj Yi0+ZG1hLT5vcHMtPmdldF90aW1lbGluZV9uYW1lKGNiLT5kbWEpLAo+ICAgCQkgIGNiLT5kbWEt PnNlcW5vLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVf Y3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggMjE3 ZWQzZWUxY2FiLi5mMjhhNjZjNjdkMzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYwo+IEBAIC0xMjM2LDcgKzEyMzYsNyBAQCBzdGF0aWMgdm9pZCBwcmludF9yZXF1 ZXN0KHN0cnVjdCBkcm1fcHJpbnRlciAqbSwKPiAgIAo+ICAgCXggPSBwcmludF9zY2hlZF9hdHRy KHJxLT5pOTE1LCAmcnEtPnNjaGVkLmF0dHIsIGJ1ZiwgeCwgc2l6ZW9mKGJ1ZikpOwo+ICAgCj4g LQlkcm1fcHJpbnRmKG0sICIlcyV4JXMgWyVsbHg6JXhdJXMgQCAlZG1zOiAlc1xuIiwKPiArCWRy bV9wcmludGYobSwgIiVzJXglcyBbJWxseDolbGx4XSVzIEAgJWRtczogJXNcbiIsCj4gICAJCSAg IHByZWZpeCwKPiAgIAkJICAgcnEtPmdsb2JhbF9zZXFubywKPiAgIAkJICAgaTkxNV9yZXF1ZXN0 X2NvbXBsZXRlZChycSkgPyAiISIgOiAiIiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3ZnZW0vdmdlbV9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jCj4g aW5kZXggYzFjNDIwYWZlMmRkLi5lYjE3YzBjZDM3MjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdl bV9mZW5jZS5jCj4gQEAgLTUzLDEzICs1MywxMyBAQCBzdGF0aWMgdm9pZCB2Z2VtX2ZlbmNlX3Jl bGVhc2Uoc3RydWN0IGRtYV9mZW5jZSAqYmFzZSkKPiAgIAo+ICAgc3RhdGljIHZvaWQgdmdlbV9m ZW5jZV92YWx1ZV9zdHIoc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsIGNoYXIgKnN0ciwgaW50IHNp emUpCj4gICB7Cj4gLQlzbnByaW50ZihzdHIsIHNpemUsICIldSIsIGZlbmNlLT5zZXFubyk7Cj4g KwlzbnByaW50ZihzdHIsIHNpemUsICIlbGx1IiwgZmVuY2UtPnNlcW5vKTsKPiAgIH0KPiAgIAo+ ICAgc3RhdGljIHZvaWQgdmdlbV9mZW5jZV90aW1lbGluZV92YWx1ZV9zdHIoc3RydWN0IGRtYV9m ZW5jZSAqZmVuY2UsIGNoYXIgKnN0ciwKPiAgIAkJCQkJICBpbnQgc2l6ZSkKPiAgIHsKPiAtCXNu cHJpbnRmKHN0ciwgc2l6ZSwgIiV1IiwKPiArCXNucHJpbnRmKHN0ciwgc2l6ZSwgIiVsbHUiLAo+ ICAgCQkgZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKGZlbmNlKSA/IGZlbmNlLT5zZXFubyA6IDApOwo+ ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZG1hLWZlbmNlLmggYi9pbmNs dWRlL2xpbnV4L2RtYS1mZW5jZS5oCj4gaW5kZXggOTk5ZTRiMTA0NDEwLi42Yjc4ODQ2N2IyZTMg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9kbWEtZmVuY2UuaAo+ICsrKyBiL2luY2x1ZGUv bGludXgvZG1hLWZlbmNlLmgKPiBAQCAtNzcsNyArNzcsNyBAQCBzdHJ1Y3QgZG1hX2ZlbmNlIHsK PiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGNiX2xpc3Q7Cj4gICAJc3BpbmxvY2tfdCAqbG9jazsKPiAg IAl1NjQgY29udGV4dDsKPiAtCXVuc2lnbmVkIHNlcW5vOwo+ICsJdTY0IHNlcW5vOwo+ICAgCXVu c2lnbmVkIGxvbmcgZmxhZ3M7Cj4gICAJa3RpbWVfdCB0aW1lc3RhbXA7Cj4gICAJaW50IGVycm9y Owo+IEBAIC0yNDQsNyArMjQ0LDcgQEAgc3RydWN0IGRtYV9mZW5jZV9vcHMgewo+ICAgfTsKPiAg IAo+ICAgdm9pZCBkbWFfZmVuY2VfaW5pdChzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwgY29uc3Qg c3RydWN0IGRtYV9mZW5jZV9vcHMgKm9wcywKPiAtCQkgICAgc3BpbmxvY2tfdCAqbG9jaywgdTY0 IGNvbnRleHQsIHVuc2lnbmVkIHNlcW5vKTsKPiArCQkgICAgc3BpbmxvY2tfdCAqbG9jaywgdTY0 IGNvbnRleHQsIHU2NCBzZXFubyk7Cj4gICAKPiAgIHZvaWQgZG1hX2ZlbmNlX3JlbGVhc2Uoc3Ry dWN0IGtyZWYgKmtyZWYpOwo+ICAgdm9pZCBkbWFfZmVuY2VfZnJlZShzdHJ1Y3QgZG1hX2ZlbmNl ICpmZW5jZSk7Cj4gQEAgLTQxNCw5ICs0MTQsMTcgQEAgZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKHN0 cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQo+ICAgICogUmV0dXJucyB0cnVlIGlmIGYxIGlzIGNocm9u b2xvZ2ljYWxseSBsYXRlciB0aGFuIGYyLiBCb3RoIGZlbmNlcyBtdXN0IGJlCj4gICAgKiBmcm9t IHRoZSBzYW1lIGNvbnRleHQsIHNpbmNlIGEgc2Vxbm8gaXMgbm90IGNvbW1vbiBhY3Jvc3MgY29u dGV4dHMuCj4gICAgKi8KPiAtc3RhdGljIGlubGluZSBib29sIF9fZG1hX2ZlbmNlX2lzX2xhdGVy KHUzMiBmMSwgdTMyIGYyKQo+ICtzdGF0aWMgaW5saW5lIGJvb2wgX19kbWFfZmVuY2VfaXNfbGF0 ZXIodTY0IGYxLCB1NjQgZjIpCj4gICB7Cj4gLQlyZXR1cm4gKGludCkoZjEgLSBmMikgPiAwOwo+ ICsJLyogVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGRyaXZlcnMgd2hp Y2ggY2FuIG9ubHkgaGFuZGxlCj4gKwkgKiAzMmJpdCBzZXF1ZW5jZSBudW1iZXJzLiBVc2UgYSA2 NGJpdCBjb21wYXJlIHdoZW4gYW55IG9mIHRoZSBoaWdoZXIKPiArCSAqIGJpdHMgYXJlIG5vbmUg emVybywgb3RoZXJ3aXNlIHVzZSBhIDMyYml0IGNvbXBhcmUgd2l0aCB3cmFwIGFyb3VuZAo+ICsJ ICogaGFuZGxpbmcuCj4gKwkgKi8KPiArCWlmICh1cHBlcl8zMl9iaXRzKGYxKSB8fCB1cHBlcl8z Ml9iaXRzKGYyKSkKPiArCQlyZXR1cm4gZjEgPiBmMjsKPiArCj4gKwlyZXR1cm4gKGludCkobG93 ZXJfMzJfYml0cyhmMSkgLSBsb3dlcl8zMl9iaXRzKGYyKSkgPiAwOwo+ICAgfQo+ICAgCj4gICAv KioKPiBAQCAtNTQ4LDIxICs1NTYsMjEgQEAgdTY0IGRtYV9mZW5jZV9jb250ZXh0X2FsbG9jKHVu c2lnbmVkIG51bSk7Cj4gICAJZG8gewkJCQkJCQkJXAo+ICAgCQlzdHJ1Y3QgZG1hX2ZlbmNlICpf X2ZmID0gKGYpOwkJCQlcCj4gICAJCWlmIChJU19FTkFCTEVEKENPTkZJR19ETUFfRkVOQ0VfVFJB Q0UpKQkJCVwKPiAtCQkJcHJfaW5mbygiZiAlbGx1IyV1OiAiIGZtdCwJCQlcCj4gKwkJCXByX2lu Zm8oImYgJWxsdSMlbGx1OiAiIGZtdCwJCQlcCj4gICAJCQkJX19mZi0+Y29udGV4dCwgX19mZi0+ c2Vxbm8sICMjYXJncyk7CVwKPiAgIAl9IHdoaWxlICgwKQo+ICAgCj4gICAjZGVmaW5lIERNQV9G RU5DRV9XQVJOKGYsIGZtdCwgYXJncy4uLikgXAo+ICAgCWRvIHsJCQkJCQkJCVwKPiAgIAkJc3Ry dWN0IGRtYV9mZW5jZSAqX19mZiA9IChmKTsJCQkJXAo+IC0JCXByX3dhcm4oImYgJWxsdSMldTog IiBmbXQsIF9fZmYtPmNvbnRleHQsIF9fZmYtPnNlcW5vLAlcCj4gKwkJcHJfd2FybigiZiAlbGx1 IyVsbHU6ICIgZm10LCBfX2ZmLT5jb250ZXh0LCBfX2ZmLT5zZXFubyxcCj4gICAJCQkgIyNhcmdz KTsJCQkJCVwKPiAgIAl9IHdoaWxlICgwKQo+ICAgCj4gICAjZGVmaW5lIERNQV9GRU5DRV9FUlIo ZiwgZm10LCBhcmdzLi4uKSBcCj4gICAJZG8gewkJCQkJCQkJXAo+ICAgCQlzdHJ1Y3QgZG1hX2Zl bmNlICpfX2ZmID0gKGYpOwkJCQlcCj4gLQkJcHJfZXJyKCJmICVsbHUjJXU6ICIgZm10LCBfX2Zm LT5jb250ZXh0LCBfX2ZmLT5zZXFubywJXAo+ICsJCXByX2VycigiZiAlbGx1IyVsbHU6ICIgZm10 LCBfX2ZmLT5jb250ZXh0LCBfX2ZmLT5zZXFubywJXAo+ICAgCQkJIyNhcmdzKTsJCQkJCVwKPiAg IAl9IHdoaWxlICgwKQo+ICAgCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK