From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhou, David(ChunMing)" Subject: RE: [PATCH 1/7] dma-buf: make fence sequence numbers 64 bit Date: Fri, 16 Nov 2018 05:26:19 +0000 Message-ID: References: <20181115111245.30161-1-christian.koenig@amd.com> <20181115111245.30161-2-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680073.outbound.protection.outlook.com [40.107.68.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id AED206E62C for ; Fri, 16 Nov 2018 05:26:23 +0000 (UTC) In-Reply-To: <20181115111245.30161-2-christian.koenig@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: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , "dri-devel@lists.freedesktop.org" Cc: "daniel.vetter@ffwll.ch" List-Id: dri-devel@lists.freedesktop.org QWNrZWQtYnk6IENodW5taW5nICBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPiwgaXQgaXMgYmV0 dGVyIHRoYXQgb3RoZXIgcGVvcGxlIGZyb20gb3V0c2lkZSBjYW4gdGFrZSBhIGxvb2suDQoNCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2tv ZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJl ciAxNSwgMjAxOCA3OjEzIFBNDQo+IFRvOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn DQo+IENjOiBjaHJpc0BjaHJpcy13aWxzb24uY28udWs7IGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g7 IGVyaWNAYW5ob2x0Lm5ldDsgWmhvdSwNCj4gRGF2aWQoQ2h1bk1pbmcpIDxEYXZpZDEuWmhvdUBh bWQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggMS83XSBkbWEtYnVmOiBtYWtlIGZlbmNlIHNlcXVl bmNlIG51bWJlcnMgNjQgYml0DQo+IA0KPiBGb3IgYSBsb3Qgb2YgdXNlIGNhc2VzIHdlIG5lZWQg NjRiaXQgc2VxdWVuY2UgbnVtYmVycy4gQ3VycmVudGx5IGRyaXZlcnMNCj4gb3ZlcmxvYWQgdGhl IGRtYV9mZW5jZSBzdHJ1Y3R1cmUgdG8gc3RvcmUgdGhlIGFkZGl0aW9uYWwgYml0cy4NCj4gDQo+ IFN0b3AgZG9pbmcgdGhhdCBhbmQgbWFrZSB0aGUgc2VxdWVuY2UgbnVtYmVyIGluIHRoZSBkbWFf ZmVuY2UgYWx3YXlzDQo+IDY0Yml0Lg0KPiANCj4gRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBoYXJk d2FyZSB3aGljaCBjYW4gZG8gb25seSAzMmJpdCBzZXF1ZW5jZXMgdGhlDQo+IGNvbXBhcmlzb25z IGluIF9fZG1hX2ZlbmNlX2lzX2xhdGVyIHN0aWxsIG9ubHkgdGFrZXMgdGhlIGxvd2VyIDMyYml0 cyBhcw0KPiBzaWduaWZpY2FudC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7Zu aWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL2RtYS1idWYv ZG1hLWZlbmNlLmMgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL2RtYS1idWYvc3dfc3lu Yy5jICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL2RtYS1idWYvc3luY19maWxlLmMg ICAgICAgICAgICB8ICA0ICsrLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9zYS5jIHwgIDIgKy0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYyAg IHwgIDIgKy0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIHwgIDIg Ky0NCj4gIGRyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZmVuY2UuYyAgICAgIHwgIDQgKystLQ0K PiAgaW5jbHVkZS9saW51eC9kbWEtZmVuY2UuaCAgICAgICAgICAgICAgfCAxNCArKysrKysrLS0t LS0tLQ0KPiAgOCBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWZlbmNlLmMgYi9kcml2 ZXJzL2RtYS1idWYvZG1hLWZlbmNlLmMNCj4gaW5kZXggMTU1MWNhN2RmMzk0Li4zN2UyNGI2OWU5 NGIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtZmVuY2UuYw0KPiArKysgYi9k cml2ZXJzL2RtYS1idWYvZG1hLWZlbmNlLmMNCj4gQEAgLTYxNSw3ICs2MTUsNyBAQCBFWFBPUlRf U1lNQk9MKGRtYV9mZW5jZV93YWl0X2FueV90aW1lb3V0KTsNCj4gICAqLw0KPiAgdm9pZA0KPiAg ZG1hX2ZlbmNlX2luaXQoc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsIGNvbnN0IHN0cnVjdCBkbWFf ZmVuY2Vfb3BzDQo+ICpvcHMsDQo+IC0JICAgICAgIHNwaW5sb2NrX3QgKmxvY2ssIHU2NCBjb250 ZXh0LCB1bnNpZ25lZCBzZXFubykNCj4gKwkgICAgICAgc3BpbmxvY2tfdCAqbG9jaywgdTY0IGNv bnRleHQsIHU2NCBzZXFubykNCj4gIHsNCj4gIAlCVUdfT04oIWxvY2spOw0KPiAgCUJVR19PTigh b3BzIHx8ICFvcHMtPmdldF9kcml2ZXJfbmFtZSB8fCAhb3BzLQ0KPiA+Z2V0X3RpbWVsaW5lX25h bWUpOyBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYw0KPiBiL2RyaXZlcnMv ZG1hLWJ1Zi9zd19zeW5jLmMgaW5kZXggNTNjMWQ2ZDM2YTY0Li4zMmRjZjdiNGM5MzUgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9zd19zeW5jLmMNCj4gKysrIGIvZHJpdmVycy9kbWEt YnVmL3N3X3N5bmMuYw0KPiBAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyBib29sIHRpbWVsaW5l X2ZlbmNlX2VuYWJsZV9zaWduYWxpbmcoc3RydWN0DQo+IGRtYV9mZW5jZSAqZmVuY2UpICBzdGF0 aWMgdm9pZCB0aW1lbGluZV9mZW5jZV92YWx1ZV9zdHIoc3RydWN0IGRtYV9mZW5jZQ0KPiAqZmVu Y2UsDQo+ICAJCQkJICAgIGNoYXIgKnN0ciwgaW50IHNpemUpDQo+ICB7DQo+IC0Jc25wcmludGYo c3RyLCBzaXplLCAiJWQiLCBmZW5jZS0+c2Vxbm8pOw0KPiArCXNucHJpbnRmKHN0ciwgc2l6ZSwg IiVsbGQiLCBmZW5jZS0+c2Vxbm8pOw0KPiAgfQ0KPiANCj4gIHN0YXRpYyB2b2lkIHRpbWVsaW5l X2ZlbmNlX3RpbWVsaW5lX3ZhbHVlX3N0cihzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwgZGlmZg0K PiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9z eW5jX2ZpbGUuYyBpbmRleA0KPiAzNWRkMDY0Nzk4NjcuLjRmNjMwNWNhNTJjOCAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5jDQo+ICsrKyBiL2RyaXZlcnMvZG1hLWJ1 Zi9zeW5jX2ZpbGUuYw0KPiBAQCAtMTQ0LDcgKzE0NCw3IEBAIGNoYXIgKnN5bmNfZmlsZV9nZXRf bmFtZShzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUsDQo+IGNoYXIgKmJ1ZiwgaW50IGxlbikN Cj4gIAl9IGVsc2Ugew0KPiAgCQlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IHN5bmNfZmlsZS0+ ZmVuY2U7DQo+IA0KPiAtCQlzbnByaW50ZihidWYsIGxlbiwgIiVzLSVzJWxsdS0lZCIsDQo+ICsJ CXNucHJpbnRmKGJ1ZiwgbGVuLCAiJXMtJXMlbGx1LSVsbGQiLA0KPiAgCQkJIGZlbmNlLT5vcHMt PmdldF9kcml2ZXJfbmFtZShmZW5jZSksDQo+ICAJCQkgZmVuY2UtPm9wcy0+Z2V0X3RpbWVsaW5l X25hbWUoZmVuY2UpLA0KPiAgCQkJIGZlbmNlLT5jb250ZXh0LA0KPiBAQCAtMjU4LDcgKzI1OCw3 IEBAIHN0YXRpYyBzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfbWVyZ2UoY29uc3QgY2hhcg0K PiAqbmFtZSwgc3RydWN0IHN5bmNfZmlsZSAqYSwNCj4gDQo+ICAJCQlpX2IrKzsNCj4gIAkJfSBl bHNlIHsNCj4gLQkJCWlmIChwdF9hLT5zZXFubyAtIHB0X2ItPnNlcW5vIDw9IElOVF9NQVgpDQo+ ICsJCQlpZiAoX19kbWFfZmVuY2VfaXNfbGF0ZXIocHRfYS0+c2Vxbm8sIHB0X2ItDQo+ID5zZXFu bykpDQo+ICAJCQkJYWRkX2ZlbmNlKGZlbmNlcywgJmksIHB0X2EpOw0KPiAgCQkJZWxzZQ0KPiAg CQkJCWFkZF9mZW5jZShmZW5jZXMsICZpLCBwdF9iKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zYS5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3NhLmMNCj4gaW5kZXggMTJmMmJmOTc2MTFmLi5iZmFmNWM2MzIzYmUgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zYS5jDQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zYS5jDQo+IEBAIC0zODgsNyAr Mzg4LDcgQEAgdm9pZCBhbWRncHVfc2FfYm9fZHVtcF9kZWJ1Z19pbmZvKHN0cnVjdA0KPiBhbWRn cHVfc2FfbWFuYWdlciAqc2FfbWFuYWdlciwNCj4gIAkJCSAgIHNvZmZzZXQsIGVvZmZzZXQsIGVv ZmZzZXQgLSBzb2Zmc2V0KTsNCj4gDQo+ICAJCWlmIChpLT5mZW5jZSkNCj4gLQkJCXNlcV9wcmlu dGYobSwgIiBwcm90ZWN0ZWQgYnkgMHglMDh4IG9uDQo+IGNvbnRleHQgJWxsdSIsDQo+ICsJCQlz ZXFfcHJpbnRmKG0sICIgcHJvdGVjdGVkIGJ5IDB4JTAxNmxseCBvbg0KPiBjb250ZXh0ICVsbHUi LA0KPiAgCQkJCSAgIGktPmZlbmNlLT5zZXFubywgaS0+ZmVuY2UtPmNvbnRleHQpOw0KPiANCj4g IAkJc2VxX3ByaW50ZihtLCAiXG4iKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3dfZmVuY2UuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVu Y2UuYw0KPiBpbmRleCA2ZGJlZWQwNzlhZTUuLjExYmNkYWJkNTE3NyAxMDA2NDQNCj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYw0KPiBAQCAtMzkzLDcgKzM5Myw3IEBAIHN0YXRpYyB2 b2lkIHRpbWVyX2k5MTVfc3dfZmVuY2Vfd2FrZShzdHJ1Y3QNCj4gdGltZXJfbGlzdCAqdCkNCj4g IAlpZiAoIWZlbmNlKQ0KPiAgCQlyZXR1cm47DQo+IA0KPiAtCXByX25vdGljZSgiQXN5bmNocm9u b3VzIHdhaXQgb24gZmVuY2UgJXM6JXM6JXggdGltZWQgb3V0DQo+IChoaW50OiVwUylcbiIsDQo+ ICsJcHJfbm90aWNlKCJBc3luY2hyb25vdXMgd2FpdCBvbiBmZW5jZSAlczolczolbGx4IHRpbWVk IG91dA0KPiArKGhpbnQ6JXBTKVxuIiwNCj4gIAkJICBjYi0+ZG1hLT5vcHMtPmdldF9kcml2ZXJf bmFtZShjYi0+ZG1hKSwNCj4gIAkJICBjYi0+ZG1hLT5vcHMtPmdldF90aW1lbGluZV9uYW1lKGNi LT5kbWEpLA0KPiAgCQkgIGNiLT5kbWEtPnNlcW5vLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMNCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYw0KPiBpbmRleCAyMTdlZDNlZTFjYWIuLmYyOGE2NmM2N2QzNCAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMNCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMNCj4gQEAgLTEyMzYsNyAr MTIzNiw3IEBAIHN0YXRpYyB2b2lkIHByaW50X3JlcXVlc3Qoc3RydWN0IGRybV9wcmludGVyICpt LA0KPiANCj4gIAl4ID0gcHJpbnRfc2NoZWRfYXR0cihycS0+aTkxNSwgJnJxLT5zY2hlZC5hdHRy LCBidWYsIHgsIHNpemVvZihidWYpKTsNCj4gDQo+IC0JZHJtX3ByaW50ZihtLCAiJXMleCVzIFsl bGx4OiV4XSVzIEAgJWRtczogJXNcbiIsDQo+ICsJZHJtX3ByaW50ZihtLCAiJXMleCVzIFslbGx4 OiVsbHhdJXMgQCAlZG1zOiAlc1xuIiwNCj4gIAkJICAgcHJlZml4LA0KPiAgCQkgICBycS0+Z2xv YmFsX3NlcW5vLA0KPiAgCQkgICBpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJxKSA/ICIhIiA6ICIi LCBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jDQo+IGIv ZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jDQo+IGluZGV4IGU2ZWU3MTMyM2E2Ni4u MWZkYjA5ZmU3MWQzIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Zl bmNlLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jDQo+IEBAIC01 MywxMyArNTMsMTMgQEAgc3RhdGljIHZvaWQgdmdlbV9mZW5jZV9yZWxlYXNlKHN0cnVjdCBkbWFf ZmVuY2UNCj4gKmJhc2UpDQo+IA0KPiAgc3RhdGljIHZvaWQgdmdlbV9mZW5jZV92YWx1ZV9zdHIo c3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsIGNoYXIgKnN0ciwgaW50DQo+IHNpemUpICB7DQo+IC0J c25wcmludGYoc3RyLCBzaXplLCAiJXUiLCBmZW5jZS0+c2Vxbm8pOw0KPiArCXNucHJpbnRmKHN0 ciwgc2l6ZSwgIiVsbHUiLCBmZW5jZS0+c2Vxbm8pOw0KPiAgfQ0KPiANCj4gIHN0YXRpYyB2b2lk IHZnZW1fZmVuY2VfdGltZWxpbmVfdmFsdWVfc3RyKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLCBj aGFyDQo+ICpzdHIsDQo+ICAJCQkJCSAgaW50IHNpemUpDQo+ICB7DQo+IC0Jc25wcmludGYoc3Ry LCBzaXplLCAiJXUiLA0KPiArCXNucHJpbnRmKHN0ciwgc2l6ZSwgIiVsbHUiLA0KPiAgCQkgZG1h X2ZlbmNlX2lzX3NpZ25hbGVkKGZlbmNlKSA/IGZlbmNlLT5zZXFubyA6IDApOyAgfQ0KPiANCj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZG1hLWZlbmNlLmggYi9pbmNsdWRlL2xpbnV4L2Rt YS1mZW5jZS5oIGluZGV4DQo+IDAyZGJhOGNkMDMzZC4uMTM5MzUyOWMwYzFmIDEwMDY0NA0KPiAt LS0gYS9pbmNsdWRlL2xpbnV4L2RtYS1mZW5jZS5oDQo+ICsrKyBiL2luY2x1ZGUvbGludXgvZG1h LWZlbmNlLmgNCj4gQEAgLTc3LDcgKzc3LDcgQEAgc3RydWN0IGRtYV9mZW5jZSB7DQo+ICAJc3Ry dWN0IGxpc3RfaGVhZCBjYl9saXN0Ow0KPiAgCXNwaW5sb2NrX3QgKmxvY2s7DQo+ICAJdTY0IGNv bnRleHQ7DQo+IC0JdW5zaWduZWQgc2Vxbm87DQo+ICsJdTY0IHNlcW5vOw0KPiAgCXVuc2lnbmVk IGxvbmcgZmxhZ3M7DQo+ICAJa3RpbWVfdCB0aW1lc3RhbXA7DQo+ICAJaW50IGVycm9yOw0KPiBA QCAtMjQ0LDcgKzI0NCw3IEBAIHN0cnVjdCBkbWFfZmVuY2Vfb3BzIHsgIH07DQo+IA0KPiAgdm9p ZCBkbWFfZmVuY2VfaW5pdChzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwgY29uc3Qgc3RydWN0IGRt YV9mZW5jZV9vcHMNCj4gKm9wcywNCj4gLQkJICAgIHNwaW5sb2NrX3QgKmxvY2ssIHU2NCBjb250 ZXh0LCB1bnNpZ25lZCBzZXFubyk7DQo+ICsJCSAgICBzcGlubG9ja190ICpsb2NrLCB1NjQgY29u dGV4dCwgdTY0IHNlcW5vKTsNCj4gDQo+ICB2b2lkIGRtYV9mZW5jZV9yZWxlYXNlKHN0cnVjdCBr cmVmICprcmVmKTsgIHZvaWQgZG1hX2ZlbmNlX2ZyZWUoc3RydWN0DQo+IGRtYV9mZW5jZSAqZmVu Y2UpOyBAQCAtNDE0LDkgKzQxNCw5IEBAIGRtYV9mZW5jZV9pc19zaWduYWxlZChzdHJ1Y3QNCj4g ZG1hX2ZlbmNlICpmZW5jZSkNCj4gICAqIFJldHVybnMgdHJ1ZSBpZiBmMSBpcyBjaHJvbm9sb2dp Y2FsbHkgbGF0ZXIgdGhhbiBmMi4gQm90aCBmZW5jZXMgbXVzdCBiZQ0KPiAgICogZnJvbSB0aGUg c2FtZSBjb250ZXh0LCBzaW5jZSBhIHNlcW5vIGlzIG5vdCBjb21tb24gYWNyb3NzIGNvbnRleHRz Lg0KPiAgICovDQo+IC1zdGF0aWMgaW5saW5lIGJvb2wgX19kbWFfZmVuY2VfaXNfbGF0ZXIodTMy IGYxLCB1MzIgZjIpDQo+ICtzdGF0aWMgaW5saW5lIGJvb2wgX19kbWFfZmVuY2VfaXNfbGF0ZXIo dTY0IGYxLCB1NjQgZjIpDQo+ICB7DQo+IC0JcmV0dXJuIChpbnQpKGYxIC0gZjIpID4gMDsNCj4g KwlyZXR1cm4gKGludCkobG93ZXJfMzJfYml0cyhmMSkgLSBsb3dlcl8zMl9iaXRzKGYyKSkgPiAw Ow0KPiAgfQ0KPiANCj4gIC8qKg0KPiBAQCAtNTQ3LDIxICs1NDcsMjEgQEAgdTY0IGRtYV9mZW5j ZV9jb250ZXh0X2FsbG9jKHVuc2lnbmVkIG51bSk7DQo+ICAJZG8gewkJCQkJCQkJXA0KPiAgCQlz dHJ1Y3QgZG1hX2ZlbmNlICpfX2ZmID0gKGYpOwkJCQlcDQo+ICAJCWlmIChJU19FTkFCTEVEKENP TkZJR19ETUFfRkVOQ0VfVFJBQ0UpKQ0KPiAJCVwNCj4gLQkJCXByX2luZm8oImYgJWxsdSMldTog IiBmbXQsCQkJXA0KPiArCQkJcHJfaW5mbygiZiAlbGx1IyVsbHU6ICIgZm10LAkJCVwNCj4gIAkJ CQlfX2ZmLT5jb250ZXh0LCBfX2ZmLT5zZXFubywgIyNhcmdzKTsJXA0KPiAgCX0gd2hpbGUgKDAp DQo+IA0KPiAgI2RlZmluZSBETUFfRkVOQ0VfV0FSTihmLCBmbXQsIGFyZ3MuLi4pIFwNCj4gIAlk byB7CQkJCQkJCQlcDQo+ICAJCXN0cnVjdCBkbWFfZmVuY2UgKl9fZmYgPSAoZik7CQkJCVwNCj4g LQkJcHJfd2FybigiZiAlbGx1IyV1OiAiIGZtdCwgX19mZi0+Y29udGV4dCwgX19mZi0+c2Vxbm8s DQo+IAlcDQo+ICsJCXByX3dhcm4oImYgJWxsdSMlbGx1OiAiIGZtdCwgX19mZi0+Y29udGV4dCwg X19mZi0+c2Vxbm8sXA0KPiAgCQkJICMjYXJncyk7CQkJCQlcDQo+ICAJfSB3aGlsZSAoMCkNCj4g DQo+ICAjZGVmaW5lIERNQV9GRU5DRV9FUlIoZiwgZm10LCBhcmdzLi4uKSBcDQo+ICAJZG8gewkJ CQkJCQkJXA0KPiAgCQlzdHJ1Y3QgZG1hX2ZlbmNlICpfX2ZmID0gKGYpOwkJCQlcDQo+IC0JCXBy X2VycigiZiAlbGx1IyV1OiAiIGZtdCwgX19mZi0+Y29udGV4dCwgX19mZi0+c2Vxbm8sCVwNCj4g KwkJcHJfZXJyKCJmICVsbHUjJWxsdTogIiBmbXQsIF9fZmYtPmNvbnRleHQsIF9fZmYtPnNlcW5v LA0KPiAJXA0KPiAgCQkJIyNhcmdzKTsJCQkJCVwNCj4gIAl9IHdoaWxlICgwKQ0KPiANCj4gLS0N Cj4gMi4xNC4xDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=