From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 07/25] arm/altp2m: Add altp2m init/teardown routines. Date: Wed, 3 Aug 2016 19:12:45 +0100 Message-ID: References: <20160801171028.11615-1-proskurin@sec.in.tum.de> <20160801171028.11615-8-proskurin@sec.in.tum.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bV0ev-0001C5-SJ for xen-devel@lists.xenproject.org; Wed, 03 Aug 2016 18:12:49 +0000 In-Reply-To: <20160801171028.11615-8-proskurin@sec.in.tum.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Sergej Proskurin , xen-devel@lists.xenproject.org Cc: Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGVsbG8gU2VyZ2VqLAoKT24gMDEvMDgvMTYgMTg6MTAsIFNlcmdlaiBQcm9za3VyaW4gd3JvdGU6 Cj4gVGhlIHAybSBpbml0aWFsaXphdGlvbiBub3cgaW52b2tlcyBpbml0aWFsaXphdGlvbiByb3V0 aW5lcyByZXNwb25zaWJsZQo+IGZvciB0aGUgYWxsb2NhdGlvbiBhbmQgaW5pdGlhbGl6YXRpb24g b2YgYWx0cDJtIHN0cnVjdHVyZXMuIFRoZSBzYW1lCj4gYXBwbGllcyB0byB0ZWFyZG93biByb3V0 aW5lcy4gVGhlIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gYWRvcHRlZCBmcm9tCj4gdGhlIHg4NiBh bHRwMm0gaW1wbGVtZW50YXRpb24uCj4KPiBTaWduZWQtb2ZmLWJ5OiBTZXJnZWogUHJvc2t1cmlu IDxwcm9za3VyaW5Ac2VjLmluLnR1bS5kZT4KPiAtLS0KPiBDYzogU3RlZmFubyBTdGFiZWxsaW5p IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgo+IENjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFs bEBhcm0uY29tPgo+IC0tLQo+IHYyOiBTaGFyZWQgY29kZSBiZXR3ZWVuIGhvc3QvYWx0cDJtIGlu aXQvdGVhcmRvd24gZnVuY3Rpb25zLgo+ICAgICBBZGRlZCBjb25kaXRpb25hbCBpbml0L3RlYXJk b3duIG9mIGFsdHAybS4KPiAgICAgQWx0cDJtIHJlbGF0ZWQgZnVuY3Rpb25zIGFyZSBtb3ZlZCB0 byBhbHRwMm0uYwo+IC0tLQo+ICB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgIHwgIDEgKwo+ ICB4ZW4vYXJjaC9hcm0vYWx0cDJtLmMgICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICB8 IDI4ICsrKysrKysrKysrKystLS0tCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vYWx0cDJtLmggfCAg NiArKysrCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggfCAgNCArKysKPiAgeGVuL2lu Y2x1ZGUvYXNtLWFybS9wMm0uaCAgICB8ICA1ICsrKysKPiAgNiBmaWxlcyBjaGFuZ2VkLCAxMTAg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9h cmNoL2FybS9hbHRwMm0uYwo+Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZSBi L3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+IGluZGV4IDIzYWFmNTIuLjRhN2Y2NjAgMTAwNjQ0Cj4g LS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlCj4gKysrIGIveGVuL2FyY2gvYXJtL01ha2VmaWxl Cj4gQEAgLTUsNiArNSw3IEBAIHN1YmRpci0kKENPTkZJR19BUk1fNjQpICs9IGVmaQo+ICBzdWJk aXItJChDT05GSUdfQUNQSSkgKz0gYWNwaQo+Cj4gIG9iai0kKENPTkZJR19BTFRFUk5BVElWRSkg Kz0gYWx0ZXJuYXRpdmUubwo+ICtvYmoteSArPSBhbHRwMm0ubwo+ICBvYmoteSArPSBib290ZmR0 Lm8KPiAgb2JqLXkgKz0gY3B1Lm8KPiAgb2JqLXkgKz0gY3B1ZXJyYXRhLm8KPiBkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2FsdHAybS5jIGIveGVuL2FyY2gvYXJtL2FsdHAybS5jCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5hYmJkMzlhCj4gLS0tIC9kZXYvbnVsbAo+ ICsrKyBiL3hlbi9hcmNoL2FybS9hbHRwMm0uYwo+IEBAIC0wLDAgKzEsNzEgQEAKPiArLyoKPiAr ICogYXJjaC9hcm0vYWx0cDJtLmMKPiArICoKPiArICogQWx0ZXJuYXRlIHAybQo+ICsgKiBDb3B5 cmlnaHQgKGMpIDIwMTYgU2VyZ2VqIFByb3NrdXJpbiA8cHJvc2t1cmluQHNlYy5pbi50dW0uZGU+ Cj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Cj4gKyAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29u ZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwKPiAr ICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gKyAqCj4g KyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVz ZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCj4gKyAqIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKPiArICogRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZQo+ICsgKiBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCj4g KyAqIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+Lgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxhc20vcDJtLmg+Cj4gKyNpbmNsdWRlIDxhc20v YWx0cDJtLmg+Cj4gKwo+ICtpbnQgYWx0cDJtX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKPiArewo+ ICsgICAgdW5zaWduZWQgaW50IGk7Cj4gKwo+ICsgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmFyY2gu YWx0cDJtX2xvY2spOwo+ICsKPiArICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX0FMVFAyTTsgaSsr ICkKPiArICAgIHsKPiArICAgICAgICBkLT5hcmNoLmFsdHAybV9wMm1baV0gPSBOVUxMOwo+ICsg ICAgICAgIGQtPmFyY2guYWx0cDJtX3Z0dGJyW2ldID0gSU5WQUxJRF9WVFRCUjsKCkkgZG9uJ3Qg dGhpbmsgYWx0cDJtX3Z0dGJyIGlzIHVzZWZ1bC4gVGhlcmUgaXMgbm8gcmVhbCBwZXJmb3JtYW5j ZSAKaW1wYWN0IHRvIGZyZWUgdGhlIHdob2xlIGFsdHAybSBpZiB0aGUgYWx0cDJtIGlzIGRlc3Ry b3llZCAoc2VlIAphbHRwMm1fZGVzdHJveV9ieV9pZCkgYW5kIHJlLWFsbG9jYXRlZCBhZnRlcndh cmRzLgoKVGhlIGNvZGUgd2lsbCBhY3R1YWxseSBtdWNoIHNpbXBsZXIuIFdpdGggdGhpcyBzb2x1 dGlvbiB5b3Ugd2lsbCBiZSBhYmxlIAp0byBkZXRlY3QgaWYgYW4gYWx0cDJtIGlzIGF2YWlsYWJs ZSBieSB0ZXN0aW4gYWx0cDJtX3AybVtpXSBpcyBOVUxMLgoKPiArICAgIH0KPiArCj4gKyAgICBy ZXR1cm4gMDsKPiArfQo+ICsKPiArdm9pZCBhbHRwMm1fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAq ZCkKPiArewo+ICsgICAgdW5zaWduZWQgaW50IGk7Cj4gKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtOwo+ICsKPiArICAgIGFsdHAybV9sb2NrKGQpOwoKVGhlIGxvY2sgaXMgbm90IG5lY2Vzc2Fy eSBoZXJlLgoKPiArCj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IE1BWF9BTFRQMk07IGkrKyApCj4g KyAgICB7Cj4gKyAgICAgICAgaWYgKCAhZC0+YXJjaC5hbHRwMm1fcDJtW2ldICkKPiArICAgICAg ICAgICAgY29udGludWU7Cj4gKwo+ICsgICAgICAgIHAybSA9IGQtPmFyY2guYWx0cDJtX3AybVtp XTsKPiArICAgICAgICBwMm1fZnJlZV9vbmUocDJtKTsKPiArICAgICAgICB4ZnJlZShwMm0pOwo+ ICsKPiArICAgICAgICBkLT5hcmNoLmFsdHAybV92dHRicltpXSA9IElOVkFMSURfVlRUQlI7Cj4g KyAgICAgICAgZC0+YXJjaC5hbHRwMm1fcDJtW2ldID0gTlVMTDsKClRoZSBkb21haW4gd2lsbCBu ZXZlciBiZSB1c2VkIGFmdGVyd2FyZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgdG8gc2V0IAphbHRw Mm1fdnR0YnIgYW5kIGFsdHAybV9wMm0uCgo+ICsgICAgfQo+ICsKPiArICAgIGQtPmFyY2guYWx0 cDJtX2FjdGl2ZSA9IGZhbHNlOwoKRGl0dG8uCgo+ICsKPiArICAgIGFsdHAybV91bmxvY2soZCk7 Cj4gK30KPiArCj4gKy8qCj4gKyAqIExvY2FsIHZhcmlhYmxlczoKPiArICogbW9kZTogQwo+ICsg KiBjLWZpbGUtc3R5bGU6ICJCU0QiCj4gKyAqIGMtYmFzaWMtb2Zmc2V0OiA0Cj4gKyAqIHRhYi13 aWR0aDogNAo+ICsgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKPiArICogRW5kOgo+ICsgKi8KPiBk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jCj4gaW5k ZXggZmY5YzBkMS4uMjllYzVlNSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKPiAr KysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKPiBAQCAtMTQsNiArMTQsOCBAQAo+ICAjaW5jbHVkZSA8 YXNtL2hhcmRpcnEuaD4KPiAgI2luY2x1ZGUgPGFzbS9wYWdlLmg+Cj4KPiArI2luY2x1ZGUgPGFz bS9hbHRwMm0uaD4KPiArCj4gICNpZmRlZiBDT05GSUdfQVJNXzY0Cj4gIHN0YXRpYyB1bnNpZ25l ZCBpbnQgX19yZWFkX21vc3RseSBwMm1fcm9vdF9vcmRlcjsKPiAgc3RhdGljIHVuc2lnbmVkIGlu dCBfX3JlYWRfbW9zdGx5IHAybV9yb290X2xldmVsOwo+IEBAIC0xMzkyLDcgKzEzOTQsNyBAQCB2 b2lkIHAybV9mbHVzaF90YWJsZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQo+ICAgICAgICAgIGZy ZWVfZG9taGVhcF9wYWdlKHBnKTsKPiAgfQo+Cj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBwMm1fZnJl ZV9vbmUoc3RydWN0IHAybV9kb21haW4gKnAybSkKPiArdm9pZCBwMm1fZnJlZV9vbmUoc3RydWN0 IHAybV9kb21haW4gKnAybSkKClBsZWFzZSBleHBvc2UgcDJtX2ZyZWVfb25lIGluIHBhdGNoICM0 LgoKPiAgewo+ICAgICAgcDJtX2ZsdXNoX3RhYmxlKHAybSk7Cj4KPiBAQCAtMTQxNSw5ICsxNDE3 LDEzIEBAIGludCBwMm1faW5pdF9vbmUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHAybV9kb21h aW4gKnAybSkKPiAgICAgIHJ3bG9ja19pbml0KCZwMm0tPmxvY2spOwo+ICAgICAgSU5JVF9QQUdF X0xJU1RfSEVBRCgmcDJtLT5wYWdlcyk7Cj4KPiAtICAgIHJjID0gcDJtX2FsbG9jX3ZtaWQocDJt KTsKPiAtICAgIGlmICggcmMgIT0gMCApCj4gLSAgICAgICAgcmV0dXJuIHJjOwo+ICsgICAgLyog UmV1c2VkIGFsdHAybSB2aWV3cyBrZWVwIHRoZWlyIFZNSUQuICovCj4gKyAgICBpZiAoIHAybS0+ dm1pZCA9PSBJTlZBTElEX1ZNSUQgKQo+ICsgICAgewo+ICsgICAgICAgIHJjID0gcDJtX2FsbG9j X3ZtaWQocDJtKTsKPiArICAgICAgICBpZiAoIHJjICE9IDAgKQo+ICsgICAgICAgICAgICByZXR1 cm4gcmM7Cj4gKyAgICB9CgpNeSBzdWdnZXN0aW9uIGFib3ZlIHdpbGwgYXZvaWQgdGhpcyBraW5k IG9mIGhhY2suCgo+Cj4gICAgICBwMm0tPmRvbWFpbiA9IGQ7Cj4gICAgICBwMm0tPmFjY2Vzc19y ZXF1aXJlZCA9IGZhbHNlOwo+IEBAIC0xNDQxLDYgKzE0NDcsOSBAQCBzdGF0aWMgdm9pZCBwMm1f dGVhcmRvd25faG9zdHAybShzdHJ1Y3QgZG9tYWluICpkKQo+Cj4gIHZvaWQgcDJtX3RlYXJkb3du KHN0cnVjdCBkb21haW4gKmQpCj4gIHsKPiArICAgIGlmICggYWx0cDJtX2VuYWJsZWQoZCkgKQo+ ICsgICAgICAgIGFsdHAybV90ZWFyZG93bihkKTsKPiArCj4gICAgICBwMm1fdGVhcmRvd25faG9z dHAybShkKTsKPiAgfQo+Cj4gQEAgLTE0NjAsNyArMTQ2OSwxNiBAQCBzdGF0aWMgaW50IHAybV9p bml0X2hvc3RwMm0oc3RydWN0IGRvbWFpbiAqZCkKPgo+ICBpbnQgcDJtX2luaXQoc3RydWN0IGRv bWFpbiAqZCkKPiAgewo+IC0gICAgcmV0dXJuIHAybV9pbml0X2hvc3RwMm0oZCk7Cj4gKyAgICBp bnQgcmM7Cj4gKwo+ICsgICAgcmMgPSBwMm1faW5pdF9ob3N0cDJtKGQpOwo+ICsgICAgaWYgKCBy YyApCj4gKyAgICAgICAgcmV0dXJuIHJjOwo+ICsKPiArICAgIGlmICggYWx0cDJtX2VuYWJsZWQo ZCkgKQoKSSBhbSBhIGJpdCBza2VwdGljYWwgdGhhdCB5b3UgY2FuIGZ1bGx5IHVzZSBhbHRwMm0g d2l0aCB0aGlzIGNoZWNrLiAKcDJtX2luaXQgaXMgY3JlYXRlZCBhdCB0aGUgdmVyeSBiZWdpbm5p bmcgd2hlbiB0aGUgZG9tYWluIGlzIGFsbG9jYXRlZC4gClNvIHRoZSBIVk1fUEFSQU1fQUxUUDJN IHdpbGwgbm90IGJlIHNldC4KCj4gKyAgICAgICAgcmMgPSBhbHRwMm1faW5pdChkKTsKPiArCj4g KyAgICByZXR1cm4gcmM7Cj4gIH0KPgo+ICBpbnQgcmVsaW5xdWlzaF9wMm1fbWFwcGluZyhzdHJ1 Y3QgZG9tYWluICpkKQo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2FsdHAybS5o IGIveGVuL2luY2x1ZGUvYXNtLWFybS9hbHRwMm0uaAo+IGluZGV4IGQ0N2IyNDkuLjc5ZWE2NmIg MTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9hbHRwMm0uaAo+ICsrKyBiL3hlbi9p bmNsdWRlL2FzbS1hcm0vYWx0cDJtLmgKPiBAQCAtMjIsNiArMjIsOSBAQAo+Cj4gICNpbmNsdWRl IDx4ZW4vc2NoZWQuaD4KPgo+ICsjZGVmaW5lIGFsdHAybV9sb2NrKGQpICAgIHNwaW5fbG9jaygm KGQpLT5hcmNoLmFsdHAybV9sb2NrKQo+ICsjZGVmaW5lIGFsdHAybV91bmxvY2soZCkgIHNwaW5f dW5sb2NrKCYoZCktPmFyY2guYWx0cDJtX2xvY2spCj4gKwo+ICAjZGVmaW5lIGFsdHAybV9lbmFi bGVkKGQpICgoZCktPmFyY2guaHZtX2RvbWFpbi5wYXJhbXNbSFZNX1BBUkFNX0FMVFAyTV0pCj4K PiAgLyogQWx0ZXJuYXRlIHAybSBvbi9vZmYgcGVyIGRvbWFpbiAqLwo+IEBAIC0zOCw0ICs0MSw3 IEBAIHN0YXRpYyBpbmxpbmUgdWludDE2X3QgYWx0cDJtX3ZjcHVfaWR4KGNvbnN0IHN0cnVjdCB2 Y3B1ICp2KQo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPgo+ICtpbnQgYWx0cDJtX2luaXQoc3RydWN0 IGRvbWFpbiAqZCk7Cj4gK3ZvaWQgYWx0cDJtX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwo+ ICsKPiAgI2VuZGlmIC8qIF9fQVNNX0FSTV9BTFRQMk1fSCAqLwo+IGRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAo+ IGluZGV4IGNjNGJkYTAuLjNjMjVlYTUgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9kb21haW4uaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKPiBAQCAtMTI5 LDYgKzEyOSwxMCBAQCBzdHJ1Y3QgYXJjaF9kb21haW4KPgo+ICAgICAgLyogYWx0cDJtOiBhbGxv dyBtdWx0aXBsZSBjb3BpZXMgb2YgaG9zdCBwMm0gKi8KPiAgICAgIGJvb2xfdCBhbHRwMm1fYWN0 aXZlOwo+ICsgICAgc3RydWN0IHAybV9kb21haW4gKmFsdHAybV9wMm1bTUFYX0FMVFAyTV07Cj4g KyAgICB1aW50NjRfdCBhbHRwMm1fdnR0YnJbTUFYX0FMVFAyTV07Cj4gKyAgICAvKiBDb3ZlcnMg YWNjZXNzIHRvIG1lbWJlcnMgb2YgdGhlIHN0cnVjdCBhbHRwMm0uICovCgpJIGNhbm5vdCBmaW5k IGFueSAic3RydWN0IGFsdHAybSIgaW4gdGhlIGNvZGUuCgo+ICsgICAgc3BpbmxvY2tfdCBhbHRw Mm1fbG9jazsKPiAgfSAgX19jYWNoZWxpbmVfYWxpZ25lZDsKPgo+ICBzdHJ1Y3QgYXJjaF92Y3B1 Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmggYi94ZW4vaW5jbHVkZS9h c20tYXJtL3AybS5oCj4gaW5kZXggMWY5YzM3MC4uMjRhMWY2MSAxMDA2NDQKPiAtLS0gYS94ZW4v aW5jbHVkZS9hc20tYXJtL3AybS5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaAo+ IEBAIC05LDYgKzksOCBAQAo+ICAjaW5jbHVkZSA8eGVuL3AybS1jb21tb24uaD4KPiAgI2luY2x1 ZGUgPHB1YmxpYy9tZW1vcnkuaD4KPgo+ICsjZGVmaW5lIE1BWF9BTFRQMk0gMTAgICAgICAgICAg IC8qIEFSTSBtaWdodCBjb250YWluIGFuIGFyYml0cmFyeSBudW1iZXIgb2YKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRwMm0gdmlld3MuICovCj4gICNkZWZpbmUgcGFk ZHJfYml0cyBQQUREUl9CSVRTCj4KPiAgLyogSG9sZHMgdGhlIGJpdCBzaXplIG9mIElQQXMgaW4g cDJtIHRhYmxlcy4gICovCj4gQEAgLTIxMiw2ICsyMTQsOSBAQCB2b2lkIGd1ZXN0X3BoeXNtYXBf cmVtb3ZlX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKPgo+ICBtZm5fdCBnZm5fdG9fbWZuKHN0cnVj dCBkb21haW4gKmQsIGdmbl90IGdmbik7Cj4KPiArLyogUmVsZWFzZSByZXNvdXJjZXMgaGVsZCBi eSB0aGUgcDJtIHN0cnVjdHVyZS4gKi8KPiArdm9pZCBwMm1fZnJlZV9vbmUoc3RydWN0IHAybV9k b21haW4gKnAybSk7Cj4gKwo+ICAvKgo+ICAgKiBQb3B1bGF0ZS1vbi1kZW1hbmQKPiAgICovCj4K ClJlZ2FyZHMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK