From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH v2 2/2] x86/altp2m: allow specifying external-only use-case Date: Thu, 11 Aug 2016 18:57:18 +0100 Message-ID: <20160811175718.GG20641@citrix.com> References: <1470841215-24450-1-git-send-email-tamas.lengyel@zentific.com> <1470841215-24450-2-git-send-email-tamas.lengyel@zentific.com> <20160811171750.GD20641@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 1bXuEN-00053Q-6r for xen-devel@lists.xenproject.org; Thu, 11 Aug 2016 17:57:23 +0000 Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Tamas K Lengyel Cc: Wei Liu , Andrew Cooper , Ian Jackson , Jan Beulich , "xen-devel@lists.xenproject.org" , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBBdWcgMTEsIDIwMTYgYXQgMTE6NTA6NDRBTSAtMDYwMCwgVGFtYXMgSyBMZW5neWVs IHdyb3RlOgo+IE9uIFRodSwgQXVnIDExLCAyMDE2IGF0IDExOjE3IEFNLCBXZWkgTGl1IDx3ZWku bGl1MkBjaXRyaXguY29tPiB3cm90ZToKPiA+IE9uIFdlZCwgQXVnIDEwLCAyMDE2IGF0IDA5OjAw OjE1QU0gLTA2MDAsIFRhbWFzIEsgTGVuZ3llbCB3cm90ZToKPiA+PiBDdXJyZW50bHkgc2V0dGlu ZyBhbHRwMm1odm09MSBpbiB0aGUgZG9tYWluIGNvbmZpZ3VyYXRpb24gYWxsb3dzIGFjY2VzcyB0 byB0aGUKPiA+PiBhbHRwMm0gaW50ZXJmYWNlIGZvciBib3RoIGluLWd1ZXN0IGFuZCBleHRlcm5h bCBwcml2aWxlZ2VkIHRvb2xzLiBUaGlzIHBvc2VzCj4gPj4gYSBwcm9ibGVtIGZvciB1c2UtY2Fz ZXMgd2hlcmUgb25seSBleHRlcm5hbCBhY2Nlc3Mgc2hvdWxkIGJlIGFsbG93ZWQsIHJlcXVpcmlu Zwo+ID4+IHRoZSB1c2VyIHRvIGNvbXBpbGUgWGVuIHdpdGggWFNNIGVuYWJsZWQgdG8gYmUgYWJs ZSB0byBhcHByb3ByaWF0ZWx5IHJlc3RyaWN0Cj4gPj4gYWNjZXNzLgo+ID4+Cj4gPj4gSW4gdGhp cyBwYXRjaCB3ZSBkZXByZWNhdGUgdGhlIGFsdHAybWh2bSBkb21haW4gY29uZmlndXJhdGlvbiBv cHRpb24gYW5kCj4gPj4gaW50cm9kdWNlIHRoZSBhbHRwMm0gb3B0aW9uLCB3aGljaCBhbGxvd3Mg c3BlY2lmeWluZyBpZiBieSBkZWZhdWx0IHRoZSBhbHRwMm0KPiA+PiBpbnRlcmZhY2Ugc2hvdWxk IGJlIGV4dGVybmFsLW9ubHkuIFRoZSBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4KPiA+PiBIVk1f UEFSQU1fQUxUUDJNIHdoaWNoIHdlIG5vdyBkZWZpbmUgd2l0aCBzcGVjaWZpYyBYRU5fQUxUUDJN XyogbW9kZXMuCj4gPj4gSWYgZXh0ZXJuYWxfb25seSBtb2RlIGlzIHNlbGVjdGVkLCB0aGUgWFNN IGNoZWNrIGlzIHNoaWZ0ZWQgdG8gdXNlIFhTTV9ETV9QUklWCj4gPj4gdHlwZSBjaGVjaywgdGh1 cyByZXN0cmljdGluZyBhY2Nlc3MgdG8gdGhlIGludGVyZmFjZSBieSB0aGUgZ3Vlc3QgaXRzZWxm LiBOb3RlCj4gPj4gdGhhdCB3ZSBrZWVwIHRoZSBkZWZhdWx0IFhTTSBwb2xpY3kgdW50b3VjaGVk LiBVc2VycyBvZiBYU00gd2hvIHdpc2ggdG8gZW5mb3JjZQo+ID4+IGV4dGVybmFsX29ubHkgbW9k ZSBmb3IgYWx0cDJtIGNhbiBkbyBzbyBieSBhZGp1c3RpbmcgdGhlaXIgWFNNIHBvbGljeSBkaXJl Y3RseSwKPiA+PiBhcyB0aGlzIGRvbWFpbiBjb25maWcgb3B0aW9uIGRvZXMgbm90IG92ZXJyaWRl IGFuIGFjdGl2ZSBYU00gcG9saWN5Lgo+ID4+Cj4gPj4gQWxzbywgYXMgcGFydCBvZiB0aGlzIHBh dGNoIHdlIGFkanVzdCB0aGUgaHZtb3AgaGFuZGxlciB0byByZXF1aXJlCj4gPj4gSFZNX1BBUkFN X0FMVFAyTSB0byBiZSBvZiBhIHR5cGUgb3RoZXIgdGhlbiBkaXNhYmxlZCBmb3IgYWxsIG9wcy4g VGhpcyBoYXMgYmVlbgo+ID4+IHByZXZpb3VzbHkgb25seSByZXF1aXJlZCBmb3IgZ2V0L3NldCBh bHRwMm0gZG9tYWluIHN0YXRlLCBhbGwgb3RoZXIgb3B0aW9ucwo+ID4+IHdlcmUgZ2F0ZWQgb24g YWx0cDJtX2VuYWJsZWQuIFNpbmNlIGFsdHAybV9lbmFibGVkIG9ubHkgZ2V0cyBzZXQgZHVyaW5n IHNldAo+ID4+IGFsdHAybSBkb21haW4gc3RhdGUsIHRoaXMgY2hhbmdlIGludHJvZHVjZXMgbm8g bmV3IHJlcXVpcmVtZW50cyB0byB0aGUgb3RoZXIKPiA+PiBvcHMgYnV0IG1ha2VzIGl0IG1vcmUg Y2xlYXIgdGhhdCBpdCBpcyByZXF1aXJlZCBmb3IgYWxsIG9wcy4KPiA+Pgo+ID4+IFNpZ25lZC1v ZmYtYnk6IFRhbWFzIEsgTGVuZ3llbCA8dGFtYXMubGVuZ3llbEB6ZW50aWZpYy5jb20+Cj4gPj4g LS0tCj4gPj4gQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgo+ID4+ IENjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgo+ID4+IENjOiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+Cj4gPj4gQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz QGNpdHJpeC5jb20+Cj4gPj4gQ2M6IERhbmllbCBEZSBHcmFhZiA8ZGdkZWdyYUB0eWNoby5uc2Eu Z292Pgo+ID4+Cj4gPj4gdjI6IFJlbmFtZSBIVk1BTFRQMk1fKiB0byBYRU5fQUxUUDJNXyoKPiA+ PiAgICAgUmVsYXggeHNtIGNoZWNrIHRvIFhTTV9ETV9QUklWIGZvciBleHRlcm5hbC1vbmx5IG1v ZGUKPiA+PiAtLS0KPiA+PiAgZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluICAgICAgICB8IDMxICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+PiAgdG9vbHMvbGlieGwvbGlieGxfY3Jl YXRlLmMgICAgICB8ICA1ICsrLS0tCj4gPj4gIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAg ICAgfCAgMiArLQo+ID4+ICB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgIHwgIDkgKysr KysrKystCj4gPj4gIHRvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyAgICAgICAgfCAzNCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystCj4gPj4gIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMg ICAgICAgICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQo+ID4+ICB4ZW4vaW5jbHVkZS9wdWJs aWMvaHZtL3BhcmFtcy5oIHwgMTAgKysrKysrKysrLQo+ID4+ICB4ZW4vaW5jbHVkZS94c20vZHVt bXkuaCAgICAgICAgIHwgMTQgKysrKysrKysrKystLS0KPiA+PiAgeGVuL2luY2x1ZGUveHNtL3hz bS5oICAgICAgICAgICB8ICA2ICsrKy0tLQo+ID4+ICB4ZW4veHNtL2ZsYXNrL2hvb2tzLmMgICAg ICAgICAgIHwgIDIgKy0KPiA+PiAgMTAgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKyks IDI0IGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy5w b2QuNS5pbiBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbgo+ID4+IGluZGV4IDQ4YzljMGQuLjAw NDRiOTggMTAwNjQ0Cj4gPj4gLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCj4gPj4gKysr IGIvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCj4gPj4gQEAgLTEyNjgsNiArMTI2OCwzNyBAQCBl bmFibGVkIGJ5IGRlZmF1bHQgYW5kIHlvdSBzaG91bGQgdXN1YWxseSBvbWl0IGl0LiBJdCBtYXkg YmUgbmVjZXNzYXJ5Cj4gPj4gIHRvIGRpc2FibGUgdGhlIEhQRVQgaW4gb3JkZXIgdG8gaW1wcm92 ZSBjb21wYXRpYmlsaXR5IHdpdGggZ3Vlc3QKPiA+PiAgT3BlcmF0aW5nIFN5c3RlbXMgKFg4NiBv bmx5KQo+ID4+Cj4gPj4gKz1pdGVtIEI8YWx0cDJtPU1PREU+Cj4gPj4gKwo+ID4+ICtTcGVjaWZp ZXMgYWNjZXNzIG1vZGUgdG8gdGhlIGFsdGVybmF0ZS1wMm0gY2FwYWJpbGl0eSBmb3IgaHZtIGd1 ZXN0cy4KPiA+PiArQWx0ZXJuYXRlLXAybSBhbGxvd3MgYSBndWVzdCB0byBtYW5hZ2UgbXVsdGlw bGUgcDJtIGd1ZXN0IHBoeXNpY2FsCj4gPj4gKyJtZW1vcnkgdmlld3MiIChhcyBvcHBvc2VkIHRv IGEgc2luZ2xlIHAybSkuIFlvdSBtYXkgd2FudCB0aGlzIG9wdGlvbgo+ID4+ICtpZiB5b3Ugd2Fu dCB0byBhY2Nlc3MtY29udHJvbC9pc29sYXRlIGFjY2VzcyB0byBzcGVjaWZpYyBndWVzdCBwaHlz aWNhbAo+ID4+ICttZW1vcnkgcGFnZXMgYWNjZXNzZWQgYnkgdGhlIGd1ZXN0LCBlLmcuIGZvciBI Vk0gZG9tYWluIG1lbW9yeQo+ID4+ICtpbnRyb3NwZWN0aW9uIG9yIGZvciBpc29sYXRpb24vYWNj ZXNzLWNvbnRyb2wgb2YgbWVtb3J5IGJldHdlZW4KPiA+PiArY29tcG9uZW50cyB3aXRoaW4gYSBz aW5nbGUgZ3Vlc3QgaHZtIGRvbWFpbi4KPiA+PiArCj4gPj4gK1RoZSB2YWxpZCB2YWx1ZXMgYXJl IGFzIGZvbGxvd3M6Cj4gPj4gKwo+ID4+ICs9b3ZlciA0Cj4gPj4gKwo+ID4+ICs9aXRlbSBCPCJk aXNhYmxlZCI+Cj4gPj4gKwo+ID4+ICtBbHRwMm0gaXMgZGlzYWJsZWQgZm9yIHRoZSBkb21haW4g KGRlZmF1bHQpLgo+ID4+ICsKPiA+PiArPWl0ZW0gQjwibWl4ZWQiPgo+ID4+ICsKPiA+PiArVGhl IG1peGVkIG1vZGUgYWxsb3dzIGFjY2VzcyB0byB0aGUgYWx0cDJtIGludGVyZmFjZSBmb3IgYm90 aCBpbi1ndWVzdAo+ID4+ICthbmQgZXh0ZXJuYWwgdG9vbHMgYXMgd2VsbC4KPiA+PiArCj4gPj4g Kz1pdGVtIEI8ImV4dGVybmFsX29ubHkiPgo+ID4+ICsKPiA+PiArRW5hYmxlcyBhY2Nlc3MgdG8g dGhlIGFsdGVybmF0ZS1wMm0gY2FwYWJpbGl0eSBmb3IgaHZtIGd1ZXN0cyBvbmx5Cj4gPj4gK2J5 IGV4dGVybmFsIHByaXZpbGVnZWQgdG9vbHMuIE5vdGU6IGlmIFhTTSBpcyBlbmFibGVkIHRoZW4g dGhlIFhTTSBwb2xpY3kKPiA+PiArc2hvdWxkIGJlIHVzZWQgdG8gc3BlY2lmeSBleHRlcm5hbC1v bmx5IGFjY2VzcyB0byB0aGUgaW50ZXJmYWNlLgo+ID4+ICsKPiA+PiArPWJhY2sKPiA+PiArCj4g Pj4gID1pdGVtIEI8YWx0cDJtaHZtPUJPT0xFQU4+Cj4gPj4KPiA+PiAgRW5hYmxlcyBvciBkaXNh YmxlcyBodm0gZ3Vlc3QgYWNjZXNzIHRvIGFsdGVybmF0ZS1wMm0gY2FwYWJpbGl0eS4KPiA+PiBk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4 bF9jcmVhdGUuYwo+ID4+IGluZGV4IDA0ZjhhZTkuLmM5MDc2ZGEgMTAwNjQ0Cj4gPj4gLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKPiA+PiArKysgYi90b29scy9saWJ4bC9saWJ4bF9j cmVhdGUuYwo+ID4+IEBAIC0zMTksNyArMzE5LDYgQEAgaW50IGxpYnhsX19kb21haW5fYnVpbGRf aW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCj4gPj4gICAgICAgICAgbGlieGxfZGVmYm9v bF9zZXRkZWZhdWx0KCZiX2luZm8tPnUuaHZtLmhwZXQsICAgICAgICAgICAgICAgdHJ1ZSk7Cj4g Pj4gICAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZiX2luZm8tPnUuaHZtLnZwdF9h bGlnbiwgICAgICAgICAgdHJ1ZSk7Cj4gPj4gICAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRkZWZh dWx0KCZiX2luZm8tPnUuaHZtLm5lc3RlZF9odm0sICAgICAgICAgZmFsc2UpOwo+ID4+IC0gICAg ICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT51Lmh2bS5hbHRwMm0sICAgICAg ICAgICAgIGZhbHNlKTsKPiA+PiAgICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJf aW5mby0+dS5odm0udXNiLCAgICAgICAgICAgICAgICBmYWxzZSk7Cj4gPj4gICAgICAgICAgbGli eGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZiX2luZm8tPnUuaHZtLnhlbl9wbGF0Zm9ybV9wY2ksICAg dHJ1ZSk7Cj4gPj4KPiA+PiBAQCAtOTE4LDggKzkxNyw4IEBAIHN0YXRpYyB2b2lkIGluaXRpYXRl X2RvbWFpbl9jcmVhdGUobGlieGxfX2VnYyAqZWdjLAo+ID4+Cj4gPj4gICAgICBpZiAoZF9jb25m aWctPmNfaW5mby50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSAmJgo+ID4+ICAgICAgICAg IChsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+Yl9pbmZvLnUuaHZtLm5lc3RlZF9odm0pICYm Cj4gPj4gLSAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKGRfY29uZmlnLT5iX2luZm8udS5odm0u YWx0cDJtKSkpIHsKPiA+PiAtICAgICAgICBMT0coRVJST1IsICJuZXN0ZWRodm0gYW5kIGFsdHAy bWh2bSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIpOwo+ID4+ICsgICAgICAgICBkX2NvbmZpZy0+ Yl9pbmZvLnUuaHZtLmFsdHAybSAhPSBMSUJYTF9BTFRQMk1fTU9ERV9ESVNBQkxFRCkpIHsKPiA+ PiArICAgICAgICBMT0coRVJST1IsICJuZXN0ZWRodm0gYW5kIGFsdHAybSBjYW5ub3QgYmUgdXNl ZCB0b2dldGhlciIpOwo+ID4+ICAgICAgICAgIGdvdG8gZXJyb3Jfb3V0Owo+ID4+ICAgICAgfQo+ ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGli eGwvbGlieGxfZG9tLmMKPiA+PiBpbmRleCBlZWY1MDQ1Li4wYjhiMmE4IDEwMDY0NAo+ID4+IC0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4gPj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxf ZG9tLmMKPiA+PiBAQCAtMjkyLDcgKzI5Miw3IEBAIHN0YXRpYyB2b2lkIGh2bV9zZXRfY29uZl9w YXJhbXMoeGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAo+ID4+ICAgICAgeGNf aHZtX3BhcmFtX3NldChoYW5kbGUsIGRvbWlkLCBIVk1fUEFSQU1fTkVTVEVESFZNLAo+ID4+ICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKGluZm8tPnUuaHZtLm5lc3RlZF9o dm0pKTsKPiA+PiAgICAgIHhjX2h2bV9wYXJhbV9zZXQoaGFuZGxlLCBkb21pZCwgSFZNX1BBUkFN X0FMVFAyTSwKPiA+PiAtICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3ZhbChpbmZv LT51Lmh2bS5hbHRwMm0pKTsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgaW5mby0+dS5odm0u YWx0cDJtKTsKPiA+PiAgfQo+ID4+Cj4gPj4gIGludCBsaWJ4bF9fYnVpbGRfcHJlKGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90IGRvbWlkLAo+ID4+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiA+PiBpbmRleCBlZjYx NGJlLi45Nzk0OGZkIDEwMDY0NAo+ID4+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlk bAo+ID4+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAo+ID4+IEBAIC00MzksNiAr NDM5LDEzIEBAIGxpYnhsX3JkbV9yZXNlcnZlID0gU3RydWN0KCJyZG1fcmVzZXJ2ZSIsIFsKPiA+ PiAgICAgICgicG9saWN5IiwgICAgICBsaWJ4bF9yZG1fcmVzZXJ2ZV9wb2xpY3kpLAo+ID4+ICAg ICAgXSkKPiA+Pgo+ID4+ICsjIENvbnNpc3RlbnQgd2l0aCB0aGUgdmFsdWVzIGRlZmluZWQgZm9y IEhWTV9QQVJBTV9BTFRQMk0KPiA+PiArbGlieGxfYWx0cDJtX21vZGUgPSBFbnVtZXJhdGlvbigi YWx0cDJtX21vZGUiLCBbCj4gPj4gKyAgICAoMCwgImRpc2FibGVkIiksCj4gPj4gKyAgICAoMSwg Im1peGVkIiksCj4gPj4gKyAgICAoMiwgImV4dGVybmFsX29ubHkiKSwKPiA+PiArICAgIF0sIGlu aXRfdmFsID0gIkxJQlhMX0FMVFAyTV9NT0RFX0RJU0FCTEVEIikKPiA+PiArCj4gPj4gIGxpYnhs X2RvbWFpbl9idWlsZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVpbGRfaW5mbyIsWwo+ID4+ICAg ICAgKCJtYXhfdmNwdXMiLCAgICAgICBpbnRlZ2VyKSwKPiA+PiAgICAgICgiYXZhaWxfdmNwdXMi LCAgICAgbGlieGxfYml0bWFwKSwKPiA+PiBAQCAtNTEyLDcgKzUxOSw3IEBAIGxpYnhsX2RvbWFp bl9idWlsZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVpbGRfaW5mbyIsWwo+ID4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIm1taW9faG9sZV9tZW1rYiIsICBNZW1L QiksCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGltZXJf bW9kZSIsICAgICAgIGxpYnhsX3RpbWVyX21vZGUpLAo+ID4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoIm5lc3RlZF9odm0iLCAgICAgICBsaWJ4bF9kZWZib29sKSwK PiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJhbHRwMm0iLCAg ICAgICAgICAgbGlieGxfZGVmYm9vbCksCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgiYWx0cDJtIiwgICAgICAgICAgIGxpYnhsX2FsdHAybV9tb2RlKSwKPiA+ Cj4gPiBUaGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlLgo+ID4KPiA+IExldCBtZSB0aGluayBhIGJp dCBob3cgdG8gbWFrZSBpdCBiYWNrd2FyZCBjb21wYXRpYmxlLgo+ID4KPiA+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJzbWJpb3NfZmlybXdhcmUiLCAgc3RyaW5n KSwKPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJhY3BpX2Zp cm13YXJlIiwgICAgc3RyaW5nKSwKPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJoZHR5cGUiLCAgICAgICAgICAgbGlieGxfaGR0eXBlKSwKPiA+PiBkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5j Cj4gPj4gaW5kZXggN2Y5NjFlMy4uYTY1NTI5NiAxMDA2NDQKPiA+PiAtLS0gYS90b29scy9saWJ4 bC94bF9jbWRpbXBsLmMKPiA+PiArKysgYi90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKPiA+PiBA QCAtMTY2Nyw3ICsxNjY3LDM5IEBAIHN0YXRpYyB2b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0 IGNoYXIgKmNvbmZpZ19zb3VyY2UsCj4gPj4KPiA+PiAgICAgICAgICB4bHVfY2ZnX2dldF9kZWZi b29sKGNvbmZpZywgIm5lc3RlZGh2bSIsICZiX2luZm8tPnUuaHZtLm5lc3RlZF9odm0sIDApOwo+ ID4+Cj4gPj4gLSAgICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhbHRwMm1odm0i LCAmYl9pbmZvLT51Lmh2bS5hbHRwMm0sIDApOwo+ID4+ICsgICAgICAgIC8qCj4gPj4gKyAgICAg ICAgICogVGhlIGNvbmZpZyBwYXJhbWV0ZXIgImFsdHAybWh2bSIgaXMgY29uc2lkZXJlZCBkZXBy ZWNhdGVkLCBob3dldmVyCj4gPj4gKyAgICAgICAgICogZnVydGhlciBjb25zaWRlcmVkIGJlY2F1 c2Ugb2YgbGVnYWN5IHJlYXNvbnMuIFRoZSBjb25maWcgcGFyYW1ldGVyCj4gPj4gKyAgICAgICAg ICogImFsdHAybSIgc2hhbGwgYmUgdXNlZCBpbnN0ZWFkLgo+ID4+ICsgICAgICAgICAqLwo+ID4+ ICsgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyhjb25maWcsICJhbHRwMm1odm0iLCAmbCwg MCkpIHsKPiA+PiArICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJXQVJOSU5HOiBTcGVjaWZ5 aW5nIFwiYWx0cDJtaHZtXCIgaXMgZGVwcmVjYXRlZC4gIgo+ID4+ICsgICAgICAgICAgICAgICAg ICAgICJQbGVhc2UgdXNlIGEgXCJhbHRwMm1cIiBpbnN0ZWFkLlxuIik7Cj4gPgo+ID4gWW91IG1p Z2h0IHdhbnQgdG8gZGVsZXRlIHRoaXMgY2hlY2ssIGFuZCAuLi4KPiA+Cj4gPj4gKwo+ID4+ICsg ICAgICAgICAgICBpZiAobCA8IExJQlhMX0FMVFAyTV9NT0RFX0RJU0FCTEVEIHx8Cj4gPj4gKyAg ICAgICAgICAgICAgICBsID4gTElCWExfQUxUUDJNX01PREVfTUlYRUQpIHsKPiA+PiArICAgICAg ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRVJST1I6IGludmFsaWQgdmFsdWUgJWxkIGZvciBc ImFsdHAybWh2bVwiXG4iLCBsKTsKPiA+PiArICAgICAgICAgICAgICAgIGV4aXQgKDEpOwo+ID4+ ICsgICAgICAgICAgICB9Cj4gPj4gKwo+ID4+ICsgICAgICAgICAgICBiX2luZm8tPnUuaHZtLmFs dHAybSA9IGw7Cj4gPgo+ID4gICAgICAgIGJfaW5mby0+dS5odm0uYWx0cDJtID0gbCA/IExJQlhM X0FMVFAyTV9NSVhFRCA6IExJQlhMX0FMVFAyTV9ESVNBQkxFRDsKPiA+Cj4gPiBBc3N1bWluZyB0 aGF0J3MgdGhlIG9yaWdpbmFsIHNlbWFudGljcyBvZiB0aGlzIG9wdGlvbiwgaS5lLiB6ZXJvIG1l YW5zCj4gPiBkaXNhYmxlZCwgbm9uLXplcm8gdmFsdWUgbWVhbnMgTUlYRUQgbW9kZS4KPiA+Cj4g Cj4gVGhhdCdzIHRoZSBpZGVhIGJ1dCB3aGF0IGlmIHRoZSB1c2VyIHNldHMgYWx0cDJtaHZtPTIg YnkgYWNjaWRlbnQKPiBpbnN0ZWFkIG9mIGFsdHAybT8gSWYgd2UganVzdCBjaGVjayBsIGJlaW5n IG5vbi16ZXJvIGl0IG9wZW5zIHRoZSBkb29yCj4gZm9yIHNvbWUgZXJyb3JzLgoKT2gsIEkgc2Vl IHdoZXJlIHlvdSBjb21lIGZyb20gbm93LiBZb3UncmUgYWZyYWlkIG9mIHBlb3BsZSBhY2NpZGVu dGFsbHkKZW5hYmxpbmcgTUlYRUQgbW9kZS4KCkkgd291bGQgbm9ybWFsbHkgYXJndWUgdGhhdCBw ZW9wbGUgc2hvdWxkIHJlYWQgbWFucGFnZSBtb3JlIGNhcmVmdWxseQphbmQgbm90IHR5cGUgaW4g dGhlIHdyb25nIHRoaW5nLiBCdXQgSSBzdXNwZWN0IG1vc3QgcGVvcGxlIG9ubHkgZXZlciB1c2UK MCBvciAxIGluIHNldHRpbmcgc28ga2VlcGluZyB5b3VyIGNvZGUgd29uJ3QgYWZmZWN0IG1vc3Qg dXNlcnMgYW5kIG9uCnRoZSBvdGhlciBoYW5kIHByZXZlbnRzIGVycm9yLiAgUGxlYXNlIGtlZXAg eW91ciBvcmlnaW5hbCBjb2RlLgoKV2VpLgoKPiAKPiBUYW1hcwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==