From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tamas K Lengyel Subject: Re: [PATCH v3 1/3] x86/mm: Introduce altp2m_get_gfn_type_access Date: Tue, 9 Apr 2019 07:48:56 -0600 Message-ID: References: <20190409120324.13940-1-aisaila@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDr84-0000Rn-LE for xen-devel@lists.xenproject.org; Tue, 09 Apr 2019 13:49:36 +0000 Received: by mail-wr1-f53.google.com with SMTP id q1so21042634wrp.0 for ; Tue, 09 Apr 2019 06:49:33 -0700 (PDT) In-Reply-To: <20190409120324.13940-1-aisaila@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Alexandru Stefan ISAILA Cc: "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , "xen-devel@lists.xenproject.org" , "roger.pau@citrix.com" List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBBcHIgOSwgMjAxOSBhdCA2OjA0IEFNIEFsZXhhbmRydSBTdGVmYW4gSVNBSUxBCjxh aXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4gd3JvdGU6Cj4KPiBUaGlzIHBhdGNoIG1vdmVzIGNvbW1v biBjb2RlIGZyb20gcDJtX3NldF9hbHRwMm1fbWVtX2FjY2VzcygpIGFuZAo+IHAybV9jaGFuZ2Vf YWx0cDJtX2dmbigpIGludG8gb25lIGZ1bmN0aW9uCj4KPiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5k cnUgSXNhaWxhIDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4KPgo+IC0tLQo+IENoYW5nZXMgc2lu Y2UgVjI6Cj4gICAgICAgICAtIENoYW5nZSB2YXIgbmFtZSBmcm9tIGZvdW5kX2luX2hvc3RwMm0g dG8gY29waWVkX2Zyb21faG9zdHAybQo+ICAgICAgICAgLSBNb3ZlIHRoZSB0eXBlIGNoZWNrIGZy b20gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoKSB0byB0aGUKPiAgICAgICAgIGNhbGxlcnMu Cj4gLS0tCj4gIHhlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgfCAzMiArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tCj4gIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgfCA0MSArKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9w Mm0uaCAgICB8IDE5ICsrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5z ZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tL21lbV9hY2Nlc3MuYyBiL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMKPiBpbmRleCA1 NmMwNmE0ZmM2Li5iZjY3ZGRiMTVhIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9tZW1f YWNjZXNzLmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jCj4gQEAgLTI2NSwz MSArMjY1LDI3IEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLAo+ICAgICAgdW5zaWduZWQgaW50IHBhZ2Vfb3Jk ZXI7Cj4gICAgICB1bnNpZ25lZCBsb25nIGdmbl9sID0gZ2ZuX3goZ2ZuKTsKPiAgICAgIGludCBy YzsKPiArICAgIGJvb2wgY29waWVkX2Zyb21faG9zdHAybTsKPgo+IC0gICAgbWZuID0gYXAybS0+ Z2V0X2VudHJ5KGFwMm0sIGdmbiwgJnQsICZvbGRfYSwgMCwgTlVMTCwgTlVMTCk7Cj4gKyAgICBt Zm4gPSBhbHRwMm1fZ2V0X2dmbl90eXBlX2FjY2VzcyhhcDJtLCBnZm4sICZ0LCAmb2xkX2EsICZw YWdlX29yZGVyLCAmY29waWVkX2Zyb21faG9zdHAybSk7Cj4KPiAtICAgIC8qIENoZWNrIGhvc3Qg cDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLwo+ICAgICAgaWYgKCAhbWZuX3Zh bGlkKG1mbikgKQo+ICsgICAgICAgIHJldHVybiAtRVNSQ0g7Cj4gKwo+ICsgICAgLyogSWYgdGhp cyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovCj4gKyAgICBpZiAoIHBhZ2Vfb3Jk ZXIgIT0gUEFHRV9PUkRFUl80SyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtICkKPiAgICAgIHsKPiAr ICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2sgPSB+KCgxVUwgPDwgcGFnZV9vcmRlcikgLSAxKTsK PiArICAgICAgICBnZm5fdCBnZm4yID0gX2dmbihnZm5fbCAmIG1hc2spOwo+ICsgICAgICAgIG1m bl90IG1mbjIgPSBfbWZuKG1mbl94KG1mbikgJiBtYXNrKTsKPgo+IC0gICAgICAgIG1mbiA9IF9f Z2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5fbCwgJnQsICZvbGRfYSwKPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUDJNX0FMTE9DIHwgUDJNX1VOU0hBUkUsICZwYWdl X29yZGVyLCAwKTsKPiArICAgICAgICAvKiBOb3RlOiBjdXJyZW50bHkgaXQgaXMgbm90IHNhZmUg dG8gcmVtYXAgdG8gYSBzaGFyZWQgZW50cnkgKi8KPiArICAgICAgICBpZiAoIHQgIT0gcDJtX3Jh bV9ydyApCj4gKyAgICAgICAgICAgIHJldHVybiAtRVNSQ0g7Cj4KPiAtICAgICAgICByYyA9IC1F U1JDSDsKPiAtICAgICAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ICE9IHAybV9yYW1fcncg KQo+ICsgICAgICAgIHJjID0gYXAybS0+c2V0X2VudHJ5KGFwMm0sIGdmbjIsIG1mbjIsIHBhZ2Vf b3JkZXIsIHQsIG9sZF9hLCAxKTsKPiArICAgICAgICBpZiAoIHJjICkKPiAgICAgICAgICAgICAg cmV0dXJuIHJjOwo+IC0KPiAtICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5 IHRoYXQgZmlyc3QgKi8KPiAtICAgICAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80 SyApCj4gLSAgICAgICAgewo+IC0gICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2sgPSB+KCgx VUwgPDwgcGFnZV9vcmRlcikgLSAxKTsKPiAtICAgICAgICAgICAgZ2ZuX3QgZ2ZuMiA9IF9nZm4o Z2ZuX2wgJiBtYXNrKTsKPiAtICAgICAgICAgICAgbWZuX3QgbWZuMiA9IF9tZm4obWZuX3gobWZu KSAmIG1hc2spOwo+IC0KPiAtICAgICAgICAgICAgcmMgPSBhcDJtLT5zZXRfZW50cnkoYXAybSwg Z2ZuMiwgbWZuMiwgcGFnZV9vcmRlciwgdCwgb2xkX2EsIDEpOwo+IC0gICAgICAgICAgICBpZiAo IHJjICkKPiAtICAgICAgICAgICAgICAgIHJldHVybiByYzsKPiAtICAgICAgICB9Cj4gICAgICB9 Cj4KPiAgICAgIC8qCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYwo+IGluZGV4IGI5YmJiOGY0ODUuLmQzOGQ3YzI5Y2EgMTAwNjQ0Cj4g LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5j Cj4gQEAgLTI2MjYsNiArMjYyNiw3IEBAIGludCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwKPiAgICAgIG1mbl90IG1mbjsKPiAgICAgIHVu c2lnbmVkIGludCBwYWdlX29yZGVyOwo+ICAgICAgaW50IHJjID0gLUVJTlZBTDsKPiArICAgIGJv b2wgY29waWVkX2Zyb21faG9zdHAybTsKPgo+ICAgICAgaWYgKCBpZHggPj0gTUFYX0FMVFAyTSB8 fCBkLT5hcmNoLmFsdHAybV9lcHRwW2lkeF0gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKPiAgICAg ICAgICByZXR1cm4gcmM7Cj4gQEAgLTI2MzYsNyArMjYzNyw3IEBAIGludCBwMm1fY2hhbmdlX2Fs dHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwKPiAgICAgIHAybV9s b2NrKGhwMm0pOwo+ICAgICAgcDJtX2xvY2soYXAybSk7Cj4KPiAtICAgIG1mbiA9IGFwMm0tPmdl dF9lbnRyeShhcDJtLCBvbGRfZ2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOwo+ICsgICAgbWZu ID0gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoYXAybSwgb2xkX2dmbiwgJnQsICZhLCAmcGFn ZV9vcmRlciwgJmNvcGllZF9mcm9tX2hvc3RwMm0pOwo+Cj4gICAgICBpZiAoIGdmbl9lcShuZXdf Z2ZuLCBJTlZBTElEX0dGTikgKQo+ICAgICAgewo+IEBAIC0yNjQ2LDM3ICsyNjQ3LDI3IEBAIGlu dCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlk eCwKPiAgICAgICAgICBnb3RvIG91dDsKPiAgICAgIH0KPgo+IC0gICAgLyogQ2hlY2sgaG9zdCBw Mm0gaWYgbm8gdmFsaWQgZW50cnkgaW4gYWx0ZXJuYXRlICovCj4gLSAgICBpZiAoICFtZm5fdmFs aWQobWZuKSApCj4gLSAgICB7Cj4gLSAgICAgICAgbWZuID0gX19nZXRfZ2ZuX3R5cGVfYWNjZXNz KGhwMm0sIGdmbl94KG9sZF9nZm4pLCAmdCwgJmEsCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFAyTV9BTExPQywgJnBhZ2Vfb3JkZXIsIDApOwo+ICsgICAgaWYgKCAhbWZu X3ZhbGlkKG1mbikgfHwgKHQgIT0gcDJtX3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSAp CgpJcyB0aGlzIGNoZWNrIGNvcnJlY3Q/IFdoeSBkbyB5b3Ugd2FudCB0byBnZXQgb3V0IG9ubHkg d2hlbiB0eXBlIGlzCm5vbi1ydyAqYW5kKiBpdCdzIGNvcGllZCBmcm9tIHRoZSBob3N0cDJtPyBZ b3UgY291bGQgaGF2ZSBub24tcncKZW50cmllcyBsaWtlIG1taW8gaW4gdGhlIGFsdHAybSB0aGF0 IHdlcmUgbGF6aWx5IGNvcGllZCBhbmQgSSBkb24ndAp0aGluayB3ZSB3YW50IHRvIGFsbG93IHJl bWFwcGluZyB0byB0aG9zZSBlaXRoZXIuCgo+ICsgICAgICAgICBnb3RvIG91dDsKPgo+IC0gICAg ICAgIGlmICggIW1mbl92YWxpZChtZm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApCj4gLSAgICAgICAg ICAgIGdvdG8gb3V0Owo+IC0KPiAtICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBj b3B5IHRoYXQgZmlyc3QgKi8KPiAtICAgICAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRF Ul80SyApCj4gLSAgICAgICAgewo+IC0gICAgICAgICAgICBnZm5fdCBnZm47Cj4gLSAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgbWFzazsKPiArICAgIC8qIElmIHRoaXMgaXMgYSBzdXBlcnBhZ2Us IGNvcHkgdGhhdCBmaXJzdCAqLwo+ICsgICAgaWYgKCBwYWdlX29yZGVyICE9IFBBR0VfT1JERVJf NEsgJiYgY29waWVkX2Zyb21faG9zdHAybSApCj4gKyAgICB7Cj4gKyAgICAgICAgZ2ZuX3QgZ2Zu Owo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgbWFzazsKPgo+IC0gICAgICAgICAgICBtYXNrID0g figoMVVMIDw8IHBhZ2Vfb3JkZXIpIC0gMSk7Cj4gLSAgICAgICAgICAgIGdmbiA9IF9nZm4oZ2Zu X3gob2xkX2dmbikgJiBtYXNrKTsKPiAtICAgICAgICAgICAgbWZuID0gX21mbihtZm5feChtZm4p ICYgbWFzayk7Cj4gKyAgICAgICAgbWFzayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOwo+ ICsgICAgICAgIGdmbiA9IF9nZm4oZ2ZuX3gob2xkX2dmbikgJiBtYXNrKTsKPiArICAgICAgICBt Zm4gPSBfbWZuKG1mbl94KG1mbikgJiBtYXNrKTsKPgo+IC0gICAgICAgICAgICBpZiAoIGFwMm0t PnNldF9lbnRyeShhcDJtLCBnZm4sIG1mbiwgcGFnZV9vcmRlciwgdCwgYSwgMSkgKQo+IC0gICAg ICAgICAgICAgICAgZ290byBvdXQ7Cj4gLSAgICAgICAgfQo+ICsgICAgICAgIGlmICggYXAybS0+ c2V0X2VudHJ5KGFwMm0sIGdmbiwgbWZuLCBwYWdlX29yZGVyLCB0LCBhLCAxKSApCj4gKyAgICAg ICAgICAgIGdvdG8gb3V0Owo+ICAgICAgfQo+Cj4gLSAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnko YXAybSwgbmV3X2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsKPiAtCj4gLSAgICBpZiAoICFt Zm5fdmFsaWQobWZuKSApCj4gLSAgICAgICAgbWZuID0gaHAybS0+Z2V0X2VudHJ5KGhwMm0sIG5l d19nZm4sICZ0LCAmYSwgMCwgTlVMTCwgTlVMTCk7Cj4gKyAgICBtZm4gPSBhbHRwMm1fZ2V0X2dm bl90eXBlX2FjY2VzcyhhcDJtLCBuZXdfZ2ZuLCAmdCwgJmEsICZwYWdlX29yZGVyLCAmY29waWVk X2Zyb21faG9zdHAybSk7Cj4KPiAgICAgIC8qIE5vdGU6IGN1cnJlbnRseSBpdCBpcyBub3Qgc2Fm ZSB0byByZW1hcCB0byBhIHNoYXJlZCBlbnRyeSAqLwo+IC0gICAgaWYgKCAhbWZuX3ZhbGlkKG1m bikgfHwgKHQgIT0gcDJtX3JhbV9ydykgKQo+ICsgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgfHwg KHQgIT0gcDJtX3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSApCj4gICAgICAgICAgZ290 byBvdXQ7Cj4KPiAgICAgIGlmICggIWFwMm0tPnNldF9lbnRyeShhcDJtLCBvbGRfZ2ZuLCBtZm4s IFBBR0VfT1JERVJfNEssIHQsIGEsCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv cDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCj4gaW5kZXggMjgwMWE4Y2NjYS4uNmRl MTU0NmQ3NiAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCj4gKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAo+IEBAIC00NDgsNiArNDQ4LDI1IEBAIHN0YXRpYyBp bmxpbmUgbWZuX3QgX19ub25udWxsKDMpIGdldF9nZm5fdHlwZSgKPiAgICAgIHJldHVybiBnZXRf Z2ZuX3R5cGVfYWNjZXNzKHAybV9nZXRfaG9zdHAybShkKSwgZ2ZuLCB0LCAmYSwgcSwgTlVMTCk7 Cj4gIH0KPgo+ICtzdGF0aWMgaW5saW5lIG1mbl90IGFsdHAybV9nZXRfZ2ZuX3R5cGVfYWNjZXNz KAo+ICsgICAgc3RydWN0IHAybV9kb21haW4gKmFwMm0sIGdmbl90IGdmbiwgcDJtX3R5cGVfdCAq dCwgcDJtX2FjY2Vzc190ICphLAo+ICsgICAgdW5zaWduZWQgaW50ICpwYWdlX29yZGVyLCBib29s ICpjb3BpZWRfZnJvbV9ob3N0cDJtKQo+ICt7Cj4gKyAgICBtZm5fdCBtZm4gPSBhcDJtLT5nZXRf ZW50cnkoYXAybSwgZ2ZuLCB0LCBhLCAwLCBOVUxMLCBOVUxMKTsKPiArCj4gKyAgICAqY29waWVk X2Zyb21faG9zdHAybSA9IGZhbHNlOwo+ICsKPiArICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5v IHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLwo+ICsgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikg KQo+ICsgICAgewo+ICsgICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhwMm1fZ2V0 X2hvc3RwMm0oYXAybS0+ZG9tYWluKSwgZ2ZuX3goZ2ZuKSwgdCwgYSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUDJNX0FMTE9DIHwgUDJNX1VOU0hBUkUsIHBhZ2Vfb3Jk ZXIsIGZhbHNlKTsKPiArICAgICAgICAqY29waWVkX2Zyb21faG9zdHAybSA9IG1mbl92YWxpZCht Zm4pOwo+ICsgICAgfQo+ICsKPiArICAgIHJldHVybiBtZm47Cj4gK30KPiArCj4gIC8qIFN5bnRh Y3RpYyBzdWdhcjogbW9zdCBjYWxsZXJzIHdpbGwgdXNlIG9uZSBvZiB0aGVzZS4gKi8KPiAgI2Rl ZmluZSBnZXRfZ2ZuKGQsIGcsIHQpICAgICAgICAgZ2V0X2dmbl90eXBlKChkKSwgKGcpLCAodCks IFAyTV9BTExPQykKPiAgI2RlZmluZSBnZXRfZ2ZuX3F1ZXJ5KGQsIGcsIHQpICAgZ2V0X2dmbl90 eXBlKChkKSwgKGcpLCAodCksIDApCj4gLS0KPiAyLjE3LjEKPgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B9FAC10F0E for ; Tue, 9 Apr 2019 13:49:53 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 474A82084B for ; Tue, 9 Apr 2019 13:49:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=tklengyel.com header.i=@tklengyel.com header.b="tMXfmcmN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 474A82084B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tklengyel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDr86-0000Rs-8H; Tue, 09 Apr 2019 13:49:38 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDr84-0000Rn-LE for xen-devel@lists.xenproject.org; Tue, 09 Apr 2019 13:49:36 +0000 X-Inumbo-ID: 4f635f7f-5ace-11e9-92d7-bc764e045a96 Received: from rs224.mailgun.us (unknown [209.61.151.224]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 4f635f7f-5ace-11e9-92d7-bc764e045a96; Tue, 09 Apr 2019 13:49:35 +0000 (UTC) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com; q=dns/txt; s=krs; t=1554817775; h=Content-Type: Cc: To: Subject: Message-ID: Date: From: In-Reply-To: References: MIME-Version: Sender; bh=xj/MwOzqe5idZLmBAx2DRG/WmfJRIhYUtQQwvG8Wfpw=; b=tMXfmcmNXQZOFbm6OcX1bnQ9eJ+oco4nsPI68TZyNVKf5yldANt3HqA0Jxa494YvQBtJKEbC u7Hkf20qWJdUb0sgfZ0tX63O3BeXlirxZfiioC5wseE7YsG4BSUn0ELajN5vvgQcIClsqHCb Y6miKO54oAlqdKHf87TZRriEi8s= X-Mailgun-Sending-Ip: 209.61.151.224 X-Mailgun-Sid: WyIyYTNmOCIsICJ4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciLCAiY2Q4NDAiXQ== Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by mxa.mailgun.org with ESMTP id 5caca2ee.7fbaec0e8330-smtp-out-n01; Tue, 09 Apr 2019 13:49:34 -0000 (UTC) Received: by mail-wr1-f53.google.com with SMTP id q1so21042634wrp.0 for ; Tue, 09 Apr 2019 06:49:33 -0700 (PDT) X-Gm-Message-State: APjAAAWgKad32BIeQmvFcmKvnyA+EPXcYX0zjc2FOdj2LBGP0BzPP9GK X/Pa+gGVHxhY1yNRK7dOPNP9mP1/BS8V1lwzNVw= X-Google-Smtp-Source: APXvYqy+C5Mtnrn9/7xPeF6nOzjpVqS1IHWpyU5ZxlzA5NBb5DGRqoH3B8DRaAaNM0Az+et/7VLV7qPYndjWGHFajEI= X-Received: by 2002:adf:f5c7:: with SMTP id k7mr22068547wrp.197.1554817772992; Tue, 09 Apr 2019 06:49:32 -0700 (PDT) MIME-Version: 1.0 References: <20190409120324.13940-1-aisaila@bitdefender.com> In-Reply-To: <20190409120324.13940-1-aisaila@bitdefender.com> From: Tamas K Lengyel Date: Tue, 9 Apr 2019 07:48:56 -0600 X-Gmail-Original-Message-ID: Message-ID: To: Alexandru Stefan ISAILA Subject: Re: [Xen-devel] [PATCH v3 1/3] x86/mm: Introduce altp2m_get_gfn_type_access X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , "xen-devel@lists.xenproject.org" , "roger.pau@citrix.com" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190409134856.V5ChDDSB1WF6lIQvMi14KxI6xtlj1YtGQ6bD-fRWfGI@z> T24gVHVlLCBBcHIgOSwgMjAxOSBhdCA2OjA0IEFNIEFsZXhhbmRydSBTdGVmYW4gSVNBSUxBCjxh aXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4gd3JvdGU6Cj4KPiBUaGlzIHBhdGNoIG1vdmVzIGNvbW1v biBjb2RlIGZyb20gcDJtX3NldF9hbHRwMm1fbWVtX2FjY2VzcygpIGFuZAo+IHAybV9jaGFuZ2Vf YWx0cDJtX2dmbigpIGludG8gb25lIGZ1bmN0aW9uCj4KPiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5k cnUgSXNhaWxhIDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4KPgo+IC0tLQo+IENoYW5nZXMgc2lu Y2UgVjI6Cj4gICAgICAgICAtIENoYW5nZSB2YXIgbmFtZSBmcm9tIGZvdW5kX2luX2hvc3RwMm0g dG8gY29waWVkX2Zyb21faG9zdHAybQo+ICAgICAgICAgLSBNb3ZlIHRoZSB0eXBlIGNoZWNrIGZy b20gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoKSB0byB0aGUKPiAgICAgICAgIGNhbGxlcnMu Cj4gLS0tCj4gIHhlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgfCAzMiArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tCj4gIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgfCA0MSArKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9w Mm0uaCAgICB8IDE5ICsrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5z ZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tL21lbV9hY2Nlc3MuYyBiL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMKPiBpbmRleCA1 NmMwNmE0ZmM2Li5iZjY3ZGRiMTVhIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9tZW1f YWNjZXNzLmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jCj4gQEAgLTI2NSwz MSArMjY1LDI3IEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLAo+ICAgICAgdW5zaWduZWQgaW50IHBhZ2Vfb3Jk ZXI7Cj4gICAgICB1bnNpZ25lZCBsb25nIGdmbl9sID0gZ2ZuX3goZ2ZuKTsKPiAgICAgIGludCBy YzsKPiArICAgIGJvb2wgY29waWVkX2Zyb21faG9zdHAybTsKPgo+IC0gICAgbWZuID0gYXAybS0+ Z2V0X2VudHJ5KGFwMm0sIGdmbiwgJnQsICZvbGRfYSwgMCwgTlVMTCwgTlVMTCk7Cj4gKyAgICBt Zm4gPSBhbHRwMm1fZ2V0X2dmbl90eXBlX2FjY2VzcyhhcDJtLCBnZm4sICZ0LCAmb2xkX2EsICZw YWdlX29yZGVyLCAmY29waWVkX2Zyb21faG9zdHAybSk7Cj4KPiAtICAgIC8qIENoZWNrIGhvc3Qg cDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLwo+ICAgICAgaWYgKCAhbWZuX3Zh bGlkKG1mbikgKQo+ICsgICAgICAgIHJldHVybiAtRVNSQ0g7Cj4gKwo+ICsgICAgLyogSWYgdGhp cyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovCj4gKyAgICBpZiAoIHBhZ2Vfb3Jk ZXIgIT0gUEFHRV9PUkRFUl80SyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtICkKPiAgICAgIHsKPiAr ICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2sgPSB+KCgxVUwgPDwgcGFnZV9vcmRlcikgLSAxKTsK PiArICAgICAgICBnZm5fdCBnZm4yID0gX2dmbihnZm5fbCAmIG1hc2spOwo+ICsgICAgICAgIG1m bl90IG1mbjIgPSBfbWZuKG1mbl94KG1mbikgJiBtYXNrKTsKPgo+IC0gICAgICAgIG1mbiA9IF9f Z2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5fbCwgJnQsICZvbGRfYSwKPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUDJNX0FMTE9DIHwgUDJNX1VOU0hBUkUsICZwYWdl X29yZGVyLCAwKTsKPiArICAgICAgICAvKiBOb3RlOiBjdXJyZW50bHkgaXQgaXMgbm90IHNhZmUg dG8gcmVtYXAgdG8gYSBzaGFyZWQgZW50cnkgKi8KPiArICAgICAgICBpZiAoIHQgIT0gcDJtX3Jh bV9ydyApCj4gKyAgICAgICAgICAgIHJldHVybiAtRVNSQ0g7Cj4KPiAtICAgICAgICByYyA9IC1F U1JDSDsKPiAtICAgICAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ICE9IHAybV9yYW1fcncg KQo+ICsgICAgICAgIHJjID0gYXAybS0+c2V0X2VudHJ5KGFwMm0sIGdmbjIsIG1mbjIsIHBhZ2Vf b3JkZXIsIHQsIG9sZF9hLCAxKTsKPiArICAgICAgICBpZiAoIHJjICkKPiAgICAgICAgICAgICAg cmV0dXJuIHJjOwo+IC0KPiAtICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5 IHRoYXQgZmlyc3QgKi8KPiAtICAgICAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80 SyApCj4gLSAgICAgICAgewo+IC0gICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2sgPSB+KCgx VUwgPDwgcGFnZV9vcmRlcikgLSAxKTsKPiAtICAgICAgICAgICAgZ2ZuX3QgZ2ZuMiA9IF9nZm4o Z2ZuX2wgJiBtYXNrKTsKPiAtICAgICAgICAgICAgbWZuX3QgbWZuMiA9IF9tZm4obWZuX3gobWZu KSAmIG1hc2spOwo+IC0KPiAtICAgICAgICAgICAgcmMgPSBhcDJtLT5zZXRfZW50cnkoYXAybSwg Z2ZuMiwgbWZuMiwgcGFnZV9vcmRlciwgdCwgb2xkX2EsIDEpOwo+IC0gICAgICAgICAgICBpZiAo IHJjICkKPiAtICAgICAgICAgICAgICAgIHJldHVybiByYzsKPiAtICAgICAgICB9Cj4gICAgICB9 Cj4KPiAgICAgIC8qCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYwo+IGluZGV4IGI5YmJiOGY0ODUuLmQzOGQ3YzI5Y2EgMTAwNjQ0Cj4g LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5j Cj4gQEAgLTI2MjYsNiArMjYyNiw3IEBAIGludCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwKPiAgICAgIG1mbl90IG1mbjsKPiAgICAgIHVu c2lnbmVkIGludCBwYWdlX29yZGVyOwo+ICAgICAgaW50IHJjID0gLUVJTlZBTDsKPiArICAgIGJv b2wgY29waWVkX2Zyb21faG9zdHAybTsKPgo+ICAgICAgaWYgKCBpZHggPj0gTUFYX0FMVFAyTSB8 fCBkLT5hcmNoLmFsdHAybV9lcHRwW2lkeF0gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKPiAgICAg ICAgICByZXR1cm4gcmM7Cj4gQEAgLTI2MzYsNyArMjYzNyw3IEBAIGludCBwMm1fY2hhbmdlX2Fs dHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwKPiAgICAgIHAybV9s b2NrKGhwMm0pOwo+ICAgICAgcDJtX2xvY2soYXAybSk7Cj4KPiAtICAgIG1mbiA9IGFwMm0tPmdl dF9lbnRyeShhcDJtLCBvbGRfZ2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOwo+ICsgICAgbWZu ID0gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoYXAybSwgb2xkX2dmbiwgJnQsICZhLCAmcGFn ZV9vcmRlciwgJmNvcGllZF9mcm9tX2hvc3RwMm0pOwo+Cj4gICAgICBpZiAoIGdmbl9lcShuZXdf Z2ZuLCBJTlZBTElEX0dGTikgKQo+ICAgICAgewo+IEBAIC0yNjQ2LDM3ICsyNjQ3LDI3IEBAIGlu dCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlk eCwKPiAgICAgICAgICBnb3RvIG91dDsKPiAgICAgIH0KPgo+IC0gICAgLyogQ2hlY2sgaG9zdCBw Mm0gaWYgbm8gdmFsaWQgZW50cnkgaW4gYWx0ZXJuYXRlICovCj4gLSAgICBpZiAoICFtZm5fdmFs aWQobWZuKSApCj4gLSAgICB7Cj4gLSAgICAgICAgbWZuID0gX19nZXRfZ2ZuX3R5cGVfYWNjZXNz KGhwMm0sIGdmbl94KG9sZF9nZm4pLCAmdCwgJmEsCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFAyTV9BTExPQywgJnBhZ2Vfb3JkZXIsIDApOwo+ICsgICAgaWYgKCAhbWZu X3ZhbGlkKG1mbikgfHwgKHQgIT0gcDJtX3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSAp CgpJcyB0aGlzIGNoZWNrIGNvcnJlY3Q/IFdoeSBkbyB5b3Ugd2FudCB0byBnZXQgb3V0IG9ubHkg d2hlbiB0eXBlIGlzCm5vbi1ydyAqYW5kKiBpdCdzIGNvcGllZCBmcm9tIHRoZSBob3N0cDJtPyBZ b3UgY291bGQgaGF2ZSBub24tcncKZW50cmllcyBsaWtlIG1taW8gaW4gdGhlIGFsdHAybSB0aGF0 IHdlcmUgbGF6aWx5IGNvcGllZCBhbmQgSSBkb24ndAp0aGluayB3ZSB3YW50IHRvIGFsbG93IHJl bWFwcGluZyB0byB0aG9zZSBlaXRoZXIuCgo+ICsgICAgICAgICBnb3RvIG91dDsKPgo+IC0gICAg ICAgIGlmICggIW1mbl92YWxpZChtZm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApCj4gLSAgICAgICAg ICAgIGdvdG8gb3V0Owo+IC0KPiAtICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBj b3B5IHRoYXQgZmlyc3QgKi8KPiAtICAgICAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRF Ul80SyApCj4gLSAgICAgICAgewo+IC0gICAgICAgICAgICBnZm5fdCBnZm47Cj4gLSAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgbWFzazsKPiArICAgIC8qIElmIHRoaXMgaXMgYSBzdXBlcnBhZ2Us IGNvcHkgdGhhdCBmaXJzdCAqLwo+ICsgICAgaWYgKCBwYWdlX29yZGVyICE9IFBBR0VfT1JERVJf NEsgJiYgY29waWVkX2Zyb21faG9zdHAybSApCj4gKyAgICB7Cj4gKyAgICAgICAgZ2ZuX3QgZ2Zu Owo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgbWFzazsKPgo+IC0gICAgICAgICAgICBtYXNrID0g figoMVVMIDw8IHBhZ2Vfb3JkZXIpIC0gMSk7Cj4gLSAgICAgICAgICAgIGdmbiA9IF9nZm4oZ2Zu X3gob2xkX2dmbikgJiBtYXNrKTsKPiAtICAgICAgICAgICAgbWZuID0gX21mbihtZm5feChtZm4p ICYgbWFzayk7Cj4gKyAgICAgICAgbWFzayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOwo+ ICsgICAgICAgIGdmbiA9IF9nZm4oZ2ZuX3gob2xkX2dmbikgJiBtYXNrKTsKPiArICAgICAgICBt Zm4gPSBfbWZuKG1mbl94KG1mbikgJiBtYXNrKTsKPgo+IC0gICAgICAgICAgICBpZiAoIGFwMm0t PnNldF9lbnRyeShhcDJtLCBnZm4sIG1mbiwgcGFnZV9vcmRlciwgdCwgYSwgMSkgKQo+IC0gICAg ICAgICAgICAgICAgZ290byBvdXQ7Cj4gLSAgICAgICAgfQo+ICsgICAgICAgIGlmICggYXAybS0+ c2V0X2VudHJ5KGFwMm0sIGdmbiwgbWZuLCBwYWdlX29yZGVyLCB0LCBhLCAxKSApCj4gKyAgICAg ICAgICAgIGdvdG8gb3V0Owo+ICAgICAgfQo+Cj4gLSAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnko YXAybSwgbmV3X2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsKPiAtCj4gLSAgICBpZiAoICFt Zm5fdmFsaWQobWZuKSApCj4gLSAgICAgICAgbWZuID0gaHAybS0+Z2V0X2VudHJ5KGhwMm0sIG5l d19nZm4sICZ0LCAmYSwgMCwgTlVMTCwgTlVMTCk7Cj4gKyAgICBtZm4gPSBhbHRwMm1fZ2V0X2dm bl90eXBlX2FjY2VzcyhhcDJtLCBuZXdfZ2ZuLCAmdCwgJmEsICZwYWdlX29yZGVyLCAmY29waWVk X2Zyb21faG9zdHAybSk7Cj4KPiAgICAgIC8qIE5vdGU6IGN1cnJlbnRseSBpdCBpcyBub3Qgc2Fm ZSB0byByZW1hcCB0byBhIHNoYXJlZCBlbnRyeSAqLwo+IC0gICAgaWYgKCAhbWZuX3ZhbGlkKG1m bikgfHwgKHQgIT0gcDJtX3JhbV9ydykgKQo+ICsgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgfHwg KHQgIT0gcDJtX3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSApCj4gICAgICAgICAgZ290 byBvdXQ7Cj4KPiAgICAgIGlmICggIWFwMm0tPnNldF9lbnRyeShhcDJtLCBvbGRfZ2ZuLCBtZm4s IFBBR0VfT1JERVJfNEssIHQsIGEsCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv cDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCj4gaW5kZXggMjgwMWE4Y2NjYS4uNmRl MTU0NmQ3NiAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCj4gKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAo+IEBAIC00NDgsNiArNDQ4LDI1IEBAIHN0YXRpYyBp bmxpbmUgbWZuX3QgX19ub25udWxsKDMpIGdldF9nZm5fdHlwZSgKPiAgICAgIHJldHVybiBnZXRf Z2ZuX3R5cGVfYWNjZXNzKHAybV9nZXRfaG9zdHAybShkKSwgZ2ZuLCB0LCAmYSwgcSwgTlVMTCk7 Cj4gIH0KPgo+ICtzdGF0aWMgaW5saW5lIG1mbl90IGFsdHAybV9nZXRfZ2ZuX3R5cGVfYWNjZXNz KAo+ICsgICAgc3RydWN0IHAybV9kb21haW4gKmFwMm0sIGdmbl90IGdmbiwgcDJtX3R5cGVfdCAq dCwgcDJtX2FjY2Vzc190ICphLAo+ICsgICAgdW5zaWduZWQgaW50ICpwYWdlX29yZGVyLCBib29s ICpjb3BpZWRfZnJvbV9ob3N0cDJtKQo+ICt7Cj4gKyAgICBtZm5fdCBtZm4gPSBhcDJtLT5nZXRf ZW50cnkoYXAybSwgZ2ZuLCB0LCBhLCAwLCBOVUxMLCBOVUxMKTsKPiArCj4gKyAgICAqY29waWVk X2Zyb21faG9zdHAybSA9IGZhbHNlOwo+ICsKPiArICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5v IHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLwo+ICsgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikg KQo+ICsgICAgewo+ICsgICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhwMm1fZ2V0 X2hvc3RwMm0oYXAybS0+ZG9tYWluKSwgZ2ZuX3goZ2ZuKSwgdCwgYSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUDJNX0FMTE9DIHwgUDJNX1VOU0hBUkUsIHBhZ2Vfb3Jk ZXIsIGZhbHNlKTsKPiArICAgICAgICAqY29waWVkX2Zyb21faG9zdHAybSA9IG1mbl92YWxpZCht Zm4pOwo+ICsgICAgfQo+ICsKPiArICAgIHJldHVybiBtZm47Cj4gK30KPiArCj4gIC8qIFN5bnRh Y3RpYyBzdWdhcjogbW9zdCBjYWxsZXJzIHdpbGwgdXNlIG9uZSBvZiB0aGVzZS4gKi8KPiAgI2Rl ZmluZSBnZXRfZ2ZuKGQsIGcsIHQpICAgICAgICAgZ2V0X2dmbl90eXBlKChkKSwgKGcpLCAodCks IFAyTV9BTExPQykKPiAgI2RlZmluZSBnZXRfZ2ZuX3F1ZXJ5KGQsIGcsIHQpICAgZ2V0X2dmbl90 eXBlKChkKSwgKGcpLCAodCksIDApCj4gLS0KPiAyLjE3LjEKPgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==