From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH for-4.12 v2 06/17] xen/arm: p2m: Introduce a function to resolve translation fault Date: Thu, 6 Dec 2018 14:33:29 -0800 (PST) Message-ID: References: <20181204202651.8836-1-julien.grall@arm.com> <20181204202651.8836-7-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gV2D6-0008QP-U7 for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 22:33:32 +0000 In-Reply-To: <20181204202651.8836-7-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org T24gVHVlLCA0IERlYyAyMDE4LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gQ3VycmVudGx5IGEgU3Rh Z2UtMiB0cmFuc2xhdGlvbiBmYXVsdCBjb3VsZCBoYXBwZW46Cj4gICAgIDEpIE1NSU8gZW11bGF0 aW9uCj4gICAgIDIpIEFub3RoZXIgcENQVSB3YXMgbW9kaWZ5aW5nIHRoZSBQMk0gdXNpbmcgQnJl YWstQmVmb3JlLU1ha2UKPiAgICAgMykgR3Vlc3QgUGh5c2ljYWwgYWRkcmVzcyBpcyBub3QgbWFw cGVkCj4gCj4gQSBmb2xsb3ctdXAgcGF0Y2ggd2lsbCByZS1wdXJwb3NlIHRoZSB2YWxpZCBiaXQg aW4gYW4gZW50cnkgdG8gZ2VuZXJhdGUKPiB0cmFuc2xhdGlvbiBmYXVsdC4gVGhpcyB3b3VsZCBi ZSB1c2VkIHRvIGRvIGFuIGFjdGlvbiBvbiBlYWNoIGVudHJ5IHRvCj4gdHJhY2sgcGFnZXMgdXNl ZCBmb3IgYSBnaXZlbiBwZXJpb2QuCj4gCj4gV2hlbiByZWNlaXZpbmcgdGhlIHRyYW5zbGF0aW9u IGZhdWx0LCB3ZSB3b3VsZCBuZWVkIHRvIHdhbGsgdGhlIHBhZ2VzCj4gdGFibGUgdG8gZmluZCB0 aGUgZmF1bHRpbmcgZW50cnkgYW5kIHRoZW4gdG9nZ2xlIHZhbGlkIGJpdC4gV2UgY2FuJ3QgdXNl Cj4gcDJtX2xvb2t1cCgpIGZvciB0aGlzIHB1cnBvc2UgYXMgaXQgb25seSB0ZWxscyB1cyB0aGUg bWFwcGluZyBleGlzdHMuCj4gCj4gU28gdGhpcyBwYXRjaCBhZGRzIGEgbmV3IGZ1bmN0aW9uIHRv IHdhbGsgdGhlIHBhZ2UtdGFibGVzIGFuZCB1cGRhdGVzCj4gdGhlIGVudHJ5LiBUaGlzIGZ1bmN0 aW9uIHdpbGwgYWxzbyBoYW5kbGUgMikgYXMgaXQgYWxzbyByZXF1aXJlcyB3YWxraW5nCj4gdGhl IHBhZ2UtdGFibGUuCj4gCj4gVGhlIGZ1bmN0aW9uIGlzIGFibGUgdG8gY29wZSB3aXRoIGJvdGgg dGFibGUgYW5kIGJsb2NrIGVudHJ5IGhhdmluZyB0aGUKPiB2YWxpZGF0ZSBiaXQgdW5zZXQuIFRo aXMgZ2l2ZXMgZmxleGliaWxpdHkgdG8gdGhlIGZ1bmN0aW9uIGNsZWFyaW5nIHRoZQo+IHZhbGlk IGJpdHMuIFRvIGtlZXAgdGhlIGFsZ29yaXRobSBzaW1wbGUsIHRoZSBmYXVsdCB3aWxsIGJlIHBy b3BhdGluZwo+IG9uZS1sZXZlbCBkb3duLiBUaGlzIHdpbGwgYmUgcmVwZWF0ZWQgdW50aWwgYSBi bG9jayBlbnRyeSBoYXMgYmVlbgo+IHJlYWNoZWQuCj4gCj4gQXQgdGhlIG1vbWVudCwgdGhlcmUg YXJlIG5vIGFjdGlvbiBkb25lIHdoZW4gcmVhY2hpbmcgYSBibG9jay9wYWdlIGVudHJ5Cj4gYnV0 IHNldHRpbmcgdGhlIHZhbGlkIGJpdCB0byAxLgoKVGhhbmtzLCB0aGlzIGV4cGxhbmF0aW9uIGlz IG11Y2ggYmV0dGVyCgpBY2tlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBr ZXJuZWwub3JnPgoKCj4gU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxA YXJtLmNvbT4KPiAKPiAtLS0KPiAgICAgQ2hhbmdlcyBpbiB2MjoKPiAgICAgICAgIC0gVHlwb2Vz Cj4gICAgICAgICAtIEFkZCBtb3JlIGNvbW1lbnQKPiAgICAgICAgIC0gU2tpcCBjbGVhcmluZyB2 YWxpZCBiaXQgaWYgaXQgd2FzIGFscmVhZHkgZG9uZQo+ICAgICAgICAgLSBNb3ZlIHRoZSBwcm90 b3R5cGUgaW4gcDJtLmgKPiAgICAgICAgIC0gRXhwYW5kIGNvbW1pdCBtZXNzYWdlCj4gLS0tCj4g IHhlbi9hcmNoL2FybS9wMm0uYyAgICAgICAgfCAxNDIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICB4ZW4vYXJjaC9hcm0vdHJhcHMuYyAgICAgIHwgIDEw ICsrLS0KPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaCB8ICAgMiArCj4gIDMgZmlsZXMgY2hh bmdlZCwgMTQ4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwo+IGluZGV4IDM5NjgwZWVi NmUuLjI3MDZkYjNlNjcgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCj4gKysrIGIv eGVuL2FyY2gvYXJtL3AybS5jCj4gQEAgLTEwMzUsNiArMTAzNSwxNDggQEAgaW50IHAybV9zZXRf ZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwKPiAgICAgIHJldHVybiByYzsKPiAgfQo+ICAK PiArLyogSW52YWxpZGF0ZSBhbGwgZW50cmllcyBpbiB0aGUgdGFibGUuIFRoZSBwMm0gc2hvdWxk IGJlIHdyaXRlIGxvY2tlZC4gKi8KPiArc3RhdGljIHZvaWQgcDJtX2ludmFsaWRhdGVfdGFibGUo c3RydWN0IHAybV9kb21haW4gKnAybSwgbWZuX3QgbWZuKQo+ICt7Cj4gKyAgICBscGFlX3QgKnRh YmxlOwo+ICsgICAgdW5zaWduZWQgaW50IGk7Cj4gKwo+ICsgICAgQVNTRVJUKHAybV9pc193cml0 ZV9sb2NrZWQocDJtKSk7Cj4gKwo+ICsgICAgdGFibGUgPSBtYXBfZG9tYWluX3BhZ2UobWZuKTsK PiArCj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IExQQUVfRU5UUklFUzsgaSsrICkKPiArICAgIHsK PiArICAgICAgICBscGFlX3QgcHRlID0gdGFibGVbaV07Cj4gKwo+ICsgICAgICAgIC8qCj4gKyAg ICAgICAgICogV3JpdGluZyBhbiBlbnRyeSBjYW4gYmUgZXhwZW5zaXZlIGJlY2F1c2UgaXQgbWF5 IGludm9sdmUKPiArICAgICAgICAgKiBjbGVhbmluZyB0aGUgY2FjaGUuIFNvIGF2b2lkIHVwZGF0 aW5nIHRoZSBlbnRyeSBpZiB0aGUgdmFsaWQKPiArICAgICAgICAgKiBiaXQgaXMgYWxyZWFkeSBj bGVhcmVkLgo+ICsgICAgICAgICAqLwo+ICsgICAgICAgIGlmICggIXB0ZS5wMm0udmFsaWQgKQo+ ICsgICAgICAgICAgICBjb250aW51ZTsKPiArCj4gKyAgICAgICAgcHRlLnAybS52YWxpZCA9IDA7 Cj4gKwo+ICsgICAgICAgIHAybV93cml0ZV9wdGUoJnRhYmxlW2ldLCBwdGUsIHAybS0+Y2xlYW5f cHRlKTsKPiArICAgIH0KPiArCj4gKyAgICB1bm1hcF9kb21haW5fcGFnZSh0YWJsZSk7Cj4gKwo+ ICsgICAgcDJtLT5uZWVkX2ZsdXNoID0gdHJ1ZTsKPiArfQo+ICsKPiArLyoKPiArICogUmVzb2x2 ZSBhbnkgdHJhbnNsYXRpb24gZmF1bHQgZHVlIHRvIGNoYW5nZSBpbiB0aGUgcDJtLiBUaGlzCj4g KyAqIGluY2x1ZGVzIGJyZWFrLWJlZm9yZS1tYWtlIGFuZCB2YWxpZCBiaXQgY2xlYXJlZC4KPiAr ICovCj4gK2Jvb2wgcDJtX3Jlc29sdmVfdHJhbnNsYXRpb25fZmF1bHQoc3RydWN0IGRvbWFpbiAq ZCwgZ2ZuX3QgZ2ZuKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dl dF9ob3N0cDJtKGQpOwo+ICsgICAgdW5zaWduZWQgaW50IGxldmVsID0gMDsKPiArICAgIGJvb2wg cmVzb2x2ZWQgPSBmYWxzZTsKPiArICAgIGxwYWVfdCBlbnRyeSwgKnRhYmxlOwo+ICsgICAgcGFk ZHJfdCBhZGRyID0gZ2ZuX3RvX2dhZGRyKGdmbik7Cj4gKwo+ICsgICAgLyogQ29udmVuaWVuY2Ug YWxpYXNlcyAqLwo+ICsgICAgY29uc3QgdW5zaWduZWQgaW50IG9mZnNldHNbNF0gPSB7Cj4gKyAg ICAgICAgemVyb2V0aF90YWJsZV9vZmZzZXQoYWRkciksCj4gKyAgICAgICAgZmlyc3RfdGFibGVf b2Zmc2V0KGFkZHIpLAo+ICsgICAgICAgIHNlY29uZF90YWJsZV9vZmZzZXQoYWRkciksCj4gKyAg ICAgICAgdGhpcmRfdGFibGVfb2Zmc2V0KGFkZHIpCj4gKyAgICB9Owo+ICsKPiArICAgIHAybV93 cml0ZV9sb2NrKHAybSk7Cj4gKwo+ICsgICAgLyogVGhpcyBnZm4gaXMgaGlnaGVyIHRoYW4gdGhl IGhpZ2hlc3QgdGhlIHAybSBtYXAgY3VycmVudGx5IGhvbGRzICovCj4gKyAgICBpZiAoIGdmbl94 KGdmbikgPiBnZm5feChwMm0tPm1heF9tYXBwZWRfZ2ZuKSApCj4gKyAgICAgICAgZ290byBvdXQ7 Cj4gKwo+ICsgICAgdGFibGUgPSBwMm1fZ2V0X3Jvb3RfcG9pbnRlcihwMm0sIGdmbik7Cj4gKyAg ICAvKgo+ICsgICAgICogVGhlIHRhYmxlIHNob3VsZCBhbHdheXMgYmUgbm9uLU5VTEwgYmVjYXVz ZSB0aGUgZ2ZuIGlzIGJlbG93Cj4gKyAgICAgKiBwMm0tPm1heF9tYXBwZWRfZ2ZuIGFuZCB0aGUg cm9vdCB0YWJsZSBwYWdlcyBhcmUgYWx3YXlzIHByZXNlbnQuCj4gKyAgICAgKi8KPiArICAgIEJV R19PTih0YWJsZSA9PSBOVUxMKTsKPiArCj4gKyAgICAvKgo+ICsgICAgICogR28gZG93biB0aGUg cGFnZS10YWJsZXMgdW50aWwgYW4gZW50cnkgaGFzIHRoZSB2YWxpZCBiaXQgdW5zZXQgb3IKPiAr ICAgICAqIGEgYmxvY2svcGFnZSBlbnRyeSBoYXMgYmVlbiBoaXQuCj4gKyAgICAgKi8KPiArICAg IGZvciAoIGxldmVsID0gUDJNX1JPT1RfTEVWRUw7IGxldmVsIDw9IDM7IGxldmVsKysgKQo+ICsg ICAgewo+ICsgICAgICAgIGludCByYzsKPiArCj4gKyAgICAgICAgZW50cnkgPSB0YWJsZVtvZmZz ZXRzW2xldmVsXV07Cj4gKwo+ICsgICAgICAgIGlmICggbGV2ZWwgPT0gMyApCj4gKyAgICAgICAg ICAgIGJyZWFrOwo+ICsKPiArICAgICAgICAvKiBTdG9wIGFzIHNvb24gYXMgd2UgaGl0IGFuIGVu dHJ5IHdpdGggdGhlIHZhbGlkIGJpdCB1bnNldC4gKi8KPiArICAgICAgICBpZiAoICFscGFlX2lz X3ZhbGlkKGVudHJ5KSApCj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAgICAgICByYyA9 IHAybV9uZXh0X2xldmVsKHAybSwgdHJ1ZSwgbGV2ZWwsICZ0YWJsZSwgb2Zmc2V0c1tsZXZlbF0p Owo+ICsgICAgICAgIGlmICggcmMgPT0gR1VFU1RfVEFCTEVfTUFQX0ZBSUxFRCApCj4gKyAgICAg ICAgICAgIGdvdG8gb3V0X3VubWFwOwo+ICsgICAgICAgIGVsc2UgaWYgKCByYyAhPSBHVUVTVF9U QUJMRV9OT1JNQUxfUEFHRSApCj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICsKPiAr ICAgIC8qCj4gKyAgICAgKiBJZiB0aGUgdmFsaWQgYml0IG9mIHRoZSBlbnRyeSBpcyBzZXQsIGl0 IG1lYW5zIHNvbWVvbmUgd2FzIHBsYXlpbmcgd2l0aAo+ICsgICAgICogdGhlIFN0YWdlLTIgcGFn ZSB0YWJsZS4gTm90aGluZyB0byBkbyBhbmQgbWFyayB0aGUgZmF1bHQgYXMgcmVzb2x2ZWQuCj4g KyAgICAgKi8KPiArICAgIGlmICggbHBhZV9pc192YWxpZChlbnRyeSkgKQo+ICsgICAgewo+ICsg ICAgICAgIHJlc29sdmVkID0gdHJ1ZTsKPiArICAgICAgICBnb3RvIG91dF91bm1hcDsKPiArICAg IH0KPiArCj4gKyAgICAvKgo+ICsgICAgICogVGhlIHZhbGlkIGJpdCBpcyB1bnNldC4gSWYgdGhl IGVudHJ5IGlzIHN0aWxsIG5vdCB2YWxpZCB0aGVuIHRoZSBmYXVsdAo+ICsgICAgICogY2Fubm90 IGJlIHJlc29sdmVkLCBleGl0IGFuZCByZXBvcnQgaXQuCj4gKyAgICAgKi8KPiArICAgIGlmICgg IXAybV9pc192YWxpZChlbnRyeSkgKQo+ICsgICAgICAgIGdvdG8gb3V0X3VubWFwOwo+ICsKPiAr ICAgIC8qCj4gKyAgICAgKiBOb3cgd2UgaGF2ZSBhbiBlbnRyeSB3aXRoIHZhbGlkIGJpdCB1bnNl dCwgYnV0IHN0aWxsIHZhbGlkIGZyb20KPiArICAgICAqIHRoZSBQMk0gcG9pbnQgb2Ygdmlldy4K PiArICAgICAqCj4gKyAgICAgKiBJZiBhbiBlbnRyeSBpcyBwb2ludGluZyB0byBhIHRhYmxlLCBl YWNoIGVudHJ5IG9mIHRoZSB0YWJsZSB3aWxsCj4gKyAgICAgKiBoYXZlIHRoZXJlIHZhbGlkIGJp dCBjbGVhcmVkLiBUaGlzIGFsbG93cyBhIGZ1bmN0aW9uIHRvIGNsZWFyIHRoZQo+ICsgICAgICog ZnVsbCBwMm0gd2l0aCBqdXN0IGEgY291cGxlIG9mIHdyaXRlLiBUaGUgdmFsaWQgYml0IHdpbGwg dGhlbiBiZQo+ICsgICAgICogcHJvcGFnYXRlZCBvbiB0aGUgZmF1bHQuCj4gKyAgICAgKiBJZiBh biBlbnRyeSBpcyBwb2ludGluZyB0byBhIGJsb2NrL3BhZ2UsIG5vIHdvcmsgdG8gZG8gZm9yIG5v dy4KPiArICAgICAqLwo+ICsgICAgaWYgKCBscGFlX2lzX3RhYmxlKGVudHJ5LCBsZXZlbCkgKQo+ ICsgICAgICAgIHAybV9pbnZhbGlkYXRlX3RhYmxlKHAybSwgbHBhZV9nZXRfbWZuKGVudHJ5KSk7 Cj4gKwo+ICsgICAgLyoKPiArICAgICAqIE5vdyB0aGF0IHRoZSB3b3JrIG9uIHRoZSBlbnRyeSBp cyBkb25lLCBzZXQgdGhlIHZhbGlkIGJpdCB0byBwcmV2ZW50Cj4gKyAgICAgKiBhbm90aGVyIGZh dWx0IG9uIHRoYXQgZW50cnkuCj4gKyAgICAgKi8KPiArICAgIHJlc29sdmVkID0gdHJ1ZTsKPiAr ICAgIGVudHJ5LnAybS52YWxpZCA9IDE7Cj4gKwo+ICsgICAgcDJtX3dyaXRlX3B0ZSh0YWJsZSAr IG9mZnNldHNbbGV2ZWxdLCBlbnRyeSwgcDJtLT5jbGVhbl9wdGUpOwo+ICsKPiArICAgIC8qCj4g KyAgICAgKiBObyBuZWVkIHRvIGZsdXNoIHRoZSBUTEJzIGFzIHRoZSBtb2RpZmllZCBlbnRyeSBo YWQgdGhlIHZhbGlkIGJpdAo+ICsgICAgICogdW5zZXQuCj4gKyAgICAgKi8KPiArCj4gK291dF91 bm1hcDoKPiArICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKPiArCj4gK291dDoKPiArICAg IHAybV93cml0ZV91bmxvY2socDJtKTsKPiArCj4gKyAgICByZXR1cm4gcmVzb2x2ZWQ7Cj4gK30K PiArCj4gIHN0YXRpYyBpbmxpbmUgaW50IHAybV9pbnNlcnRfbWFwcGluZyhzdHJ1Y3QgZG9tYWlu ICpkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc3RhcnRf Z2ZuLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyBuciwKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0v dHJhcHMuYwo+IGluZGV4IDk0ZmUxYTZkYTcuLmIwMGQwYjhlMWUgMTAwNjQ0Cj4gLS0tIGEveGVu L2FyY2gvYXJtL3RyYXBzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwo+IEBAIC0xODkz LDcgKzE4OTMsNiBAQCBzdGF0aWMgdm9pZCBkb190cmFwX3N0YWdlMl9hYm9ydF9ndWVzdChzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKPiAgICAgIHZhZGRyX3QgZ3ZhOwo+ICAgICAgcGFkZHJf dCBncGE7Cj4gICAgICB1aW50OF90IGZzYyA9IHhhYnQuZnNjICYgfkZTQ19MTF9NQVNLOwo+IC0g ICAgbWZuX3QgbWZuOwo+ICAgICAgYm9vbCBpc19kYXRhID0gKGhzci5lYyA9PSBIU1JfRUNfREFU QV9BQk9SVF9MT1dFUl9FTCk7Cj4gIAo+ICAgICAgLyoKPiBAQCAtMTk3MiwxMiArMTk3MSwxMSBA QCBzdGF0aWMgdm9pZCBkb190cmFwX3N0YWdlMl9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncywKPiAgICAgICAgICB9Cj4gIAo+ICAgICAgICAgIC8qCj4gLSAgICAgICAgICog VGhlIFBUIHdhbGsgbWF5IGhhdmUgZmFpbGVkIGJlY2F1c2Ugc29tZW9uZSB3YXMgcGxheWluZwo+ IC0gICAgICAgICAqIHdpdGggdGhlIFN0YWdlLTIgcGFnZSB0YWJsZS4gV2FsayB0aGUgU3RhZ2Ut MiBQVCB0byBjaGVjawo+IC0gICAgICAgICAqIGlmIHRoZSBlbnRyeSBleGlzdHMuIElmIGl0J3Mg dGhlIGNhc2UsIHJldHVybiB0byB0aGUgZ3Vlc3QKPiArICAgICAgICAgKiBGaXJzdCBjaGVjayBp ZiB0aGUgdHJhbnNsYXRpb24gZmF1bHQgY2FuIGJlIHJlc29sdmVkIGJ5IHRoZQo+ICsgICAgICAg ICAqIFAyTSBzdWJzeXN0ZW0uIElmIHRoYXQncyB0aGUgY2FzZSBub3RoaW5nIGVsc2UgdG8gZG8u Cj4gICAgICAgICAgICovCj4gLSAgICAgICAgbWZuID0gZ2ZuX3RvX21mbihjdXJyZW50LT5kb21h aW4sIGdhZGRyX3RvX2dmbihncGEpKTsKPiAtICAgICAgICBpZiAoICFtZm5fZXEobWZuLCBJTlZB TElEX01GTikgKQo+ICsgICAgICAgIGlmICggcDJtX3Jlc29sdmVfdHJhbnNsYXRpb25fZmF1bHQo Y3VycmVudC0+ZG9tYWluLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2FkZHJfdG9fZ2ZuKGdwYSkpICkKPiAgICAgICAgICAgICAgcmV0dXJuOwo+ICAKPiAg ICAgICAgICBpZiAoIGlzX2RhdGEgJiYgdHJ5X21hcF9tbWlvKGdhZGRyX3RvX2dmbihncGEpKSAp Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmggYi94ZW4vaW5jbHVkZS9h c20tYXJtL3AybS5oCj4gaW5kZXggNGZlNzhkMzlhNS4uMTNmN2EyN2MzOCAxMDA2NDQKPiAtLS0g YS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9w Mm0uaAo+IEBAIC0yMjYsNiArMjI2LDggQEAgaW50IHAybV9zZXRfZW50cnkoc3RydWN0IHAybV9k b21haW4gKnAybSwKPiAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCB0LAo+ICAgICAgICAg ICAgICAgICAgICBwMm1fYWNjZXNzX3QgYSk7Cj4gIAo+ICtib29sIHAybV9yZXNvbHZlX3RyYW5z bGF0aW9uX2ZhdWx0KHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbik7Cj4gKwo+ICAvKiBDbGVh biAmIGludmFsaWRhdGUgY2FjaGVzIGNvcnJlc3BvbmRpbmcgdG8gYSByZWdpb24gb2YgZ3Vlc3Qg YWRkcmVzcyBzcGFjZSAqLwo+ICBpbnQgcDJtX2NhY2hlX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQs IGdmbl90IHN0YXJ0LCB1bnNpZ25lZCBsb25nIG5yKTsKPiAgCj4gLS0gCj4gMi4xMS4wCj4gCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs