From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [Xen-devel] [PATCH v2 5/9] xen/gntdev: Allow mappings for DMA buffers Date: Wed, 6 Jun 2018 11:14:12 +0300 Message-ID: <84217eac-b83b-710f-39ab-c93cad65bf9a@gmail.com> References: <20180601114132.22596-1-andr2000@gmail.com> <20180601114132.22596-6-andr2000@gmail.com> <64facf05-0a51-c3d9-9d3b-780893248628@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 455CA6E076 for ; Wed, 6 Jun 2018 08:14:16 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id t134-v6so7700359lff.6 for ; Wed, 06 Jun 2018 01:14:16 -0700 (PDT) In-Reply-To: <64facf05-0a51-c3d9-9d3b-780893248628@oracle.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: Boris Ostrovsky , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, jgross@suse.com, konrad.wilk@oracle.com Cc: daniel.vetter@intel.com, dongwon.kim@intel.com, Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org T24gMDYvMDQvMjAxOCAxMToxMiBQTSwgQm9yaXMgT3N0cm92c2t5IHdyb3RlOgo+IE9uIDA2LzAx LzIwMTggMDc6NDEgQU0sIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+PiBGcm9tOiBP bGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+ Cj4+Cj4+IEFsbG93IG1hcHBpbmdzIGZvciBETUEgYmFja2VkICBidWZmZXJzIGlmIGdyYW50IHRh YmxlIG1vZHVsZQo+PiBzdXBwb3J0cyBzdWNoOiB0aGlzIGV4dGVuZHMgZ3JhbnQgZGV2aWNlIHRv IG5vdCBvbmx5IG1hcCBidWZmZXJzCj4+IG1hZGUgb2YgYmFsbG9vbiBwYWdlcywgYnV0IGFsc28g ZnJvbSBidWZmZXJzIGFsbG9jYXRlZCB3aXRoCj4+IGRtYV9hbGxvY194eHguCj4+Cj4+IFNpZ25l ZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5r b0BlcGFtLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy94ZW4vZ250ZGV2LmMgICAgICB8IDk5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+PiAgIGluY2x1ZGUvdWFwaS94 ZW4vZ250ZGV2LmggfCAxNSArKysrKysKPj4gICAyIGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZ250 ZGV2LmMgYi9kcml2ZXJzL3hlbi9nbnRkZXYuYwo+PiBpbmRleCBiZDU2NjUzYjliYmMuLjk4MTNm YzQ0MGM3MCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy94ZW4vZ250ZGV2LmMKPj4gKysrIGIvZHJp dmVycy94ZW4vZ250ZGV2LmMKPj4gQEAgLTM3LDYgKzM3LDkgQEAKPj4gICAjaW5jbHVkZSA8bGlu dXgvc2xhYi5oPgo+PiAgICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Cj4+ICAgI2luY2x1ZGUg PGxpbnV4L3JlZmNvdW50Lmg+Cj4+ICsjaWZkZWYgQ09ORklHX1hFTl9HUkFOVF9ETUFfQUxMT0MK Pj4gKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPj4gKyNlbmRpZgo+PiAgIAo+PiAgICNp bmNsdWRlIDx4ZW4veGVuLmg+Cj4+ICAgI2luY2x1ZGUgPHhlbi9ncmFudF90YWJsZS5oPgo+PiBA QCAtNzIsNiArNzUsMTEgQEAgc3RydWN0IGdudGRldl9wcml2IHsKPj4gICAJc3RydWN0IG11dGV4 IGxvY2s7Cj4+ICAgCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tOwo+PiAgIAlzdHJ1Y3QgbW11X25vdGlm aWVyIG1uOwo+PiArCj4+ICsjaWZkZWYgQ09ORklHX1hFTl9HUkFOVF9ETUFfQUxMT0MKPj4gKwkv KiBEZXZpY2UgZm9yIHdoaWNoIERNQSBtZW1vcnkgaXMgYWxsb2NhdGVkLiAqLwo+PiArCXN0cnVj dCBkZXZpY2UgKmRtYV9kZXY7Cj4+ICsjZW5kaWYKPj4gICB9Owo+PiAgIAo+PiAgIHN0cnVjdCB1 bm1hcF9ub3RpZnkgewo+PiBAQCAtOTYsMTAgKzEwNCwyNyBAQCBzdHJ1Y3QgZ3JhbnRfbWFwIHsK Pj4gICAJc3RydWN0IGdudHRhYl91bm1hcF9ncmFudF9yZWYgKmt1bm1hcF9vcHM7Cj4+ICAgCXN0 cnVjdCBwYWdlICoqcGFnZXM7Cj4+ICAgCXVuc2lnbmVkIGxvbmcgcGFnZXNfdm1fc3RhcnQ7Cj4+ ICsKPj4gKyNpZmRlZiBDT05GSUdfWEVOX0dSQU5UX0RNQV9BTExPQwo+PiArCS8qCj4+ICsJICog SWYgZG1hYnVmX3ZhZGRyIGlzIG5vdCBOVUxMIHRoZW4gdGhpcyBtYXBwaW5nIGlzIGJhY2tlZCBi eSBETUEKPj4gKwkgKiBjYXBhYmxlIG1lbW9yeS4KPj4gKwkgKi8KPj4gKwo+PiArCXN0cnVjdCBk ZXZpY2UgKmRtYV9kZXY7Cj4+ICsJLyogRmxhZ3MgdXNlZCB0byBjcmVhdGUgdGhpcyBETUEgYnVm ZmVyOiBHTlRERVZfRE1BX0ZMQUdfWFhYLiAqLwo+PiArCWludCBkbWFfZmxhZ3M7Cj4+ICsJdm9p ZCAqZG1hX3ZhZGRyOwo+PiArCWRtYV9hZGRyX3QgZG1hX2J1c19hZGRyOwo+PiArCS8qIFRoaXMg aXMgcmVxdWlyZWQgZm9yIGdudHRhYl9kbWFfe2FsbG9jfGZyZWV9X3BhZ2VzLiAqLwo+IEhvdyBh Ym91dAo+Cj4gLyogTmVlZGVkIHRvIGF2b2lkIGFsbG9jYXRpb24gaW4gZ250dGFiX2RtYV9mcmVl X3BhZ2VzKCkuICovCj4KT2sKPj4gKwl4ZW5fcGZuX3QgKmZyYW1lczsKPj4gKyNlbmRpZgo+PiAg IH07Cj4+ICAgCj4+ICAgc3RhdGljIGludCB1bm1hcF9ncmFudF9wYWdlcyhzdHJ1Y3QgZ3JhbnRf bWFwICptYXAsIGludCBvZmZzZXQsIGludCBwYWdlcyk7Cj4+ICAgCj4+ICtzdGF0aWMgc3RydWN0 IG1pc2NkZXZpY2UgZ250ZGV2X21pc2NkZXY7Cj4+ICsKPj4gICAvKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KPj4g ICAKPj4gICBzdGF0aWMgdm9pZCBnbnRkZXZfcHJpbnRfbWFwcyhzdHJ1Y3QgZ250ZGV2X3ByaXYg KnByaXYsCj4+IEBAIC0xMjEsOCArMTQ2LDI3IEBAIHN0YXRpYyB2b2lkIGdudGRldl9mcmVlX21h cChzdHJ1Y3QgZ3JhbnRfbWFwICptYXApCj4+ICAgCWlmIChtYXAgPT0gTlVMTCkKPj4gICAJCXJl dHVybjsKPj4gICAKPj4gKyNpZmRlZiBDT05GSUdfWEVOX0dSQU5UX0RNQV9BTExPQwo+PiArCWlm IChtYXAtPmRtYV92YWRkcikgewo+PiArCQlzdHJ1Y3QgZ250dGFiX2RtYV9hbGxvY19hcmdzIGFy Z3M7Cj4+ICsKPj4gKwkJYXJncy5kZXYgPSBtYXAtPmRtYV9kZXY7Cj4+ICsJCWFyZ3MuY29oZXJl bnQgPSBtYXAtPmRtYV9mbGFncyAmIEdOVERFVl9ETUFfRkxBR19DT0hFUkVOVDsKPj4gKwkJYXJn cy5ucl9wYWdlcyA9IG1hcC0+Y291bnQ7Cj4+ICsJCWFyZ3MucGFnZXMgPSBtYXAtPnBhZ2VzOwo+ PiArCQlhcmdzLmZyYW1lcyA9IG1hcC0+ZnJhbWVzOwo+PiArCQlhcmdzLnZhZGRyID0gbWFwLT5k bWFfdmFkZHI7Cj4+ICsJCWFyZ3MuZGV2X2J1c19hZGRyID0gbWFwLT5kbWFfYnVzX2FkZHI7Cj4+ ICsKPj4gKwkJZ250dGFiX2RtYV9mcmVlX3BhZ2VzKCZhcmdzKTsKPj4gKwl9IGVsc2UKPj4gKyNl bmRpZgo+PiAgIAlpZiAobWFwLT5wYWdlcykKPj4gICAJCWdudHRhYl9mcmVlX3BhZ2VzKG1hcC0+ Y291bnQsIG1hcC0+cGFnZXMpOwo+PiArCj4+ICsjaWZkZWYgQ09ORklHX1hFTl9HUkFOVF9ETUFf QUxMT0MKPj4gKwlrZnJlZShtYXAtPmZyYW1lcyk7Cj4+ICsjZW5kaWYKPgo+IENhbiB0aGlzIGJl IGRvbmUgdW5kZXIgaWYgKG1hcC0+ZG1hX3ZhZGRyKSA/Cgo+ICAgSW4gb3RoZXIgd29yZHMsIGlz IGl0Cj4gcG9zc2libGUgZm9yIGRtYV92YWRkciB0byBiZSBOVUxMIGFuZCBzdGlsbCBoYXZlIHVu YWxsb2NhdGVkIGZyYW1lcyBwb2ludGVyPwpJdCBpcyBwb3NzaWJsZSB0byBoYXZlIHZhZGRyID09 IE5VTEwgYW5kIGZyYW1lcyAhPSBOVUxMIGFzIHdlCmFsbG9jYXRlIGZyYW1lcyBvdXRzaWRlIG9m IGdudHRhYl9kbWFfYWxsb2NfcGFnZXMgd2hpY2gKbWF5IGZhaWwuIENhbGxpbmcga2ZyZWUgb24g TlVMTCBwb2ludGVyIGlzIHNhZmUsIHNvCkkgc2VlIG5vIHJlYXNvbiB0byBjaGFuZ2UgdGhpcyBj b2RlLgo+Cj4+ICAgCWtmcmVlKG1hcC0+cGFnZXMpOwo+PiAgIAlrZnJlZShtYXAtPmdyYW50cyk7 Cj4+ICAgCWtmcmVlKG1hcC0+bWFwX29wcyk7Cj4+IEBAIC0xMzIsNyArMTc2LDggQEAgc3RhdGlj IHZvaWQgZ250ZGV2X2ZyZWVfbWFwKHN0cnVjdCBncmFudF9tYXAgKm1hcCkKPj4gICAJa2ZyZWUo bWFwKTsKPj4gICB9Cj4+ICAgCj4+IC1zdGF0aWMgc3RydWN0IGdyYW50X21hcCAqZ250ZGV2X2Fs bG9jX21hcChzdHJ1Y3QgZ250ZGV2X3ByaXYgKnByaXYsIGludCBjb3VudCkKPj4gK3N0YXRpYyBz dHJ1Y3QgZ3JhbnRfbWFwICpnbnRkZXZfYWxsb2NfbWFwKHN0cnVjdCBnbnRkZXZfcHJpdiAqcHJp diwgaW50IGNvdW50LAo+PiArCQkJCQkgIGludCBkbWFfZmxhZ3MpCj4+ICAgewo+PiAgIAlzdHJ1 Y3QgZ3JhbnRfbWFwICphZGQ7Cj4+ICAgCWludCBpOwo+PiBAQCAtMTU1LDYgKzIwMCwzNyBAQCBz dGF0aWMgc3RydWN0IGdyYW50X21hcCAqZ250ZGV2X2FsbG9jX21hcChzdHJ1Y3QgZ250ZGV2X3By aXYgKnByaXYsIGludCBjb3VudCkKPj4gICAJICAgIE5VTEwgPT0gYWRkLT5wYWdlcykKPj4gICAJ CWdvdG8gZXJyOwo+PiAgIAo+PiArI2lmZGVmIENPTkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCj4+ ICsJYWRkLT5kbWFfZmxhZ3MgPSBkbWFfZmxhZ3M7Cj4+ICsKPj4gKwkvKgo+PiArCSAqIENoZWNr IGlmIHRoaXMgbWFwcGluZyBpcyByZXF1ZXN0ZWQgdG8gYmUgYmFja2VkCj4+ICsJICogYnkgYSBE TUEgYnVmZmVyLgo+PiArCSAqLwo+PiArCWlmIChkbWFfZmxhZ3MgJiAoR05UREVWX0RNQV9GTEFH X1dDIHwgR05UREVWX0RNQV9GTEFHX0NPSEVSRU5UKSkgewo+PiArCQlzdHJ1Y3QgZ250dGFiX2Rt YV9hbGxvY19hcmdzIGFyZ3M7Cj4+ICsKPj4gKwkJYWRkLT5mcmFtZXMgPSBrY2FsbG9jKGNvdW50 LCBzaXplb2YoYWRkLT5mcmFtZXNbMF0pLAo+PiArCQkJCSAgICAgIEdGUF9LRVJORUwpOwo+PiAr CQlpZiAoIWFkZC0+ZnJhbWVzKQo+PiArCQkJZ290byBlcnI7Cj4+ICsKPj4gKwkJLyogUmVtZW1i ZXIgdGhlIGRldmljZSwgc28gd2UgY2FuIGZyZWUgRE1BIG1lbW9yeS4gKi8KPj4gKwkJYWRkLT5k bWFfZGV2ID0gcHJpdi0+ZG1hX2RldjsKPj4gKwo+PiArCQlhcmdzLmRldiA9IHByaXYtPmRtYV9k ZXY7Cj4+ICsJCWFyZ3MuY29oZXJlbnQgPSBkbWFfZmxhZ3MgJiBHTlRERVZfRE1BX0ZMQUdfQ09I RVJFTlQ7Cj4+ICsJCWFyZ3MubnJfcGFnZXMgPSBjb3VudDsKPj4gKwkJYXJncy5wYWdlcyA9IGFk ZC0+cGFnZXM7Cj4+ICsJCWFyZ3MuZnJhbWVzID0gYWRkLT5mcmFtZXM7Cj4+ICsKPj4gKwkJaWYg KGdudHRhYl9kbWFfYWxsb2NfcGFnZXMoJmFyZ3MpKQo+PiArCQkJZ290byBlcnI7Cj4+ICsKPj4g KwkJYWRkLT5kbWFfdmFkZHIgPSBhcmdzLnZhZGRyOwo+PiArCQlhZGQtPmRtYV9idXNfYWRkciA9 IGFyZ3MuZGV2X2J1c19hZGRyOwo+PiArCX0gZWxzZQo+PiArI2VuZGlmCj4+ICAgCWlmIChnbnR0 YWJfYWxsb2NfcGFnZXMoY291bnQsIGFkZC0+cGFnZXMpKQo+PiAgIAkJZ290byBlcnI7Cj4+ICAg Cj4+IEBAIC0zMjUsNiArNDAxLDE0IEBAIHN0YXRpYyBpbnQgbWFwX2dyYW50X3BhZ2VzKHN0cnVj dCBncmFudF9tYXAgKm1hcCkKPj4gICAJCW1hcC0+dW5tYXBfb3BzW2ldLmhhbmRsZSA9IG1hcC0+ bWFwX29wc1tpXS5oYW5kbGU7Cj4+ICAgCQlpZiAodXNlX3B0ZW1vZCkKPj4gICAJCQltYXAtPmt1 bm1hcF9vcHNbaV0uaGFuZGxlID0gbWFwLT5rbWFwX29wc1tpXS5oYW5kbGU7Cj4+ICsjaWZkZWYg Q09ORklHX1hFTl9HUkFOVF9ETUFfQUxMT0MKPj4gKwkJZWxzZSBpZiAobWFwLT5kbWFfdmFkZHIp IHsKPj4gKwkJCXVuc2lnbmVkIGxvbmcgbWZuOwo+PiArCj4+ICsJCQltZm4gPSBfX3Bmbl90b19t Zm4ocGFnZV90b19wZm4obWFwLT5wYWdlc1tpXSkpOwo+Cj4gTm90IHBmbl90b19tZm4oKT8KSSdk IGxvdmUgdG8sIGJ1dCBwZm5fdG9fbWZuIGlzIG9ubHkgZGVmaW5lZCBmb3IgeDg2LCBub3QgQVJN OiBbMV0gYW5kIFsyXQpUaHVzLAoKZHJpdmVycy94ZW4vZ250ZGV2LmM6NDA4OjEwOiBlcnJvcjog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gCuKAmHBmbl90b19tZm7igJkgWy1XZXJy b3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiDCoMKgwqAgbWZuID0gcGZuX3RvX21m bihwYWdlX3RvX3BmbihtYXAtPnBhZ2VzW2ldKSk7CgpTbywgSSdsbCBrZWVwIF9fcGZuX3RvX21m bgo+Cj4KPiAtYm9yaXMKVGhhbmsgeW91LApPbGVrc2FuZHIKPj4gKwkJCW1hcC0+dW5tYXBfb3Bz W2ldLmRldl9idXNfYWRkciA9IF9fcGZuX3RvX3BoeXMobWZuKTsKPj4gKwkJfQo+PiArI2VuZGlm Cj4+ICAgCX0KPj4gICAJcmV0dXJuIGVycjsKPj4gICB9Cj4+IEBAIC01NDgsNiArNjMyLDE3IEBA IHN0YXRpYyBpbnQgZ250ZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUg KmZsaXApCj4+ICAgCX0KPj4gICAKPj4gICAJZmxpcC0+cHJpdmF0ZV9kYXRhID0gcHJpdjsKPj4g KyNpZmRlZiBDT05GSUdfWEVOX0dSQU5UX0RNQV9BTExPQwo+PiArCXByaXYtPmRtYV9kZXYgPSBn bnRkZXZfbWlzY2Rldi50aGlzX2RldmljZTsKPj4gKwo+PiArCS8qCj4+ICsJICogVGhlIGRldmlj ZSBpcyBub3Qgc3Bhd24gZnJvbSBhIGRldmljZSB0cmVlLCBzbyBhcmNoX3NldHVwX2RtYV9vcHMK Pj4gKwkgKiBpcyBub3QgY2FsbGVkLCB0aHVzIGxlYXZpbmcgdGhlIGRldmljZSB3aXRoIGR1bW15 IERNQSBvcHMuCj4+ICsJICogRml4IHRoaXMgY2FsbCBvZl9kbWFfY29uZmlndXJlKCkgd2l0aCBh IE5VTEwgbm9kZSB0byBzZXQKPj4gKwkgKiBkZWZhdWx0IERNQSBvcHMuCj4+ICsJICovCj4+ICsJ b2ZfZG1hX2NvbmZpZ3VyZShwcml2LT5kbWFfZGV2LCBOVUxMKTsKPj4gKyNlbmRpZgo+PiAgIAlw cl9kZWJ1ZygicHJpdiAlcFxuIiwgcHJpdik7Cj4+ICAgCj4+ICAgCXJldHVybiAwOwo+PiBAQCAt NTg5LDcgKzY4NCw3IEBAIHN0YXRpYyBsb25nIGdudGRldl9pb2N0bF9tYXBfZ3JhbnRfcmVmKHN0 cnVjdCBnbnRkZXZfcHJpdiAqcHJpdiwKPj4gICAJCXJldHVybiAtRUlOVkFMOwo+PiAgIAo+PiAg IAllcnIgPSAtRU5PTUVNOwo+PiAtCW1hcCA9IGdudGRldl9hbGxvY19tYXAocHJpdiwgb3AuY291 bnQpOwo+PiArCW1hcCA9IGdudGRldl9hbGxvY19tYXAocHJpdiwgb3AuY291bnQsIDAgLyogVGhp cyBpcyBub3QgYSBkbWEtYnVmLiAqLyk7Cj4+ICAgCWlmICghbWFwKQo+PiAgIAkJcmV0dXJuIGVy cjsKPj4gICAKPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS94ZW4vZ250ZGV2LmggYi9pbmNs dWRlL3VhcGkveGVuL2dudGRldi5oCj4+IGluZGV4IDZkMTE2MzQ1NmMwMy4uNGI5ZDQ5OGEzMWQ0 IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL3VhcGkveGVuL2dudGRldi5oCj4+ICsrKyBiL2luY2x1 ZGUvdWFwaS94ZW4vZ250ZGV2LmgKPj4gQEAgLTIwMCw0ICsyMDAsMTkgQEAgc3RydWN0IGlvY3Rs X2dudGRldl9ncmFudF9jb3B5IHsKPj4gICAvKiBTZW5kIGFuIGludGVycnVwdCBvbiB0aGUgaW5k aWNhdGVkIGV2ZW50IGNoYW5uZWwgKi8KPj4gICAjZGVmaW5lIFVOTUFQX05PVElGWV9TRU5EX0VW RU5UIDB4Mgo+PiAgIAo+PiArLyoKPj4gKyAqIEZsYWdzIHRvIGJlIHVzZWQgd2hpbGUgcmVxdWVz dGluZyBtZW1vcnkgbWFwcGluZydzIGJhY2tpbmcgc3RvcmFnZQo+PiArICogdG8gYmUgYWxsb2Nh dGVkIHdpdGggRE1BIEFQSS4KPj4gKyAqLwo+PiArCj4+ICsvKgo+PiArICogVGhlIGJ1ZmZlciBp cyBiYWNrZWQgd2l0aCBtZW1vcnkgYWxsb2NhdGVkIHdpdGggZG1hX2FsbG9jX3djLgo+PiArICov Cj4+ICsjZGVmaW5lIEdOVERFVl9ETUFfRkxBR19XQwkJKDEgPDwgMCkKPj4gKwo+PiArLyoKPj4g KyAqIFRoZSBidWZmZXIgaXMgYmFja2VkIHdpdGggbWVtb3J5IGFsbG9jYXRlZCB3aXRoIGRtYV9h bGxvY19jb2hlcmVudC4KPj4gKyAqLwo+PiArI2RlZmluZSBHTlRERVZfRE1BX0ZMQUdfQ09IRVJF TlQJKDEgPDwgMSkKPj4gKwo+PiAgICNlbmRpZiAvKiBfX0xJTlVYX1BVQkxJQ19HTlRERVZfSF9f ICovCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK PiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs ClsxXSBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NC4xNy9pZGVudC9wZm5fdG9f bWZuClsyXSBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NC4xNy9pZGVudC9fX3Bm bl90b19tZm4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==