From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v12 05/10] x86: add multiboot2 protocol support for EFI platforms Date: Fri, 20 Jan 2017 05:40:55 -0700 Message-ID: <588213670200007800132307@prv-mh.provo.novell.com> References: <1484876060-2236-1-git-send-email-daniel.kiper@oracle.com> <1484876060-2236-6-git-send-email-daniel.kiper@oracle.com> <5881EA970200007800132125@prv-mh.provo.novell.com> <20170120114323.GJ23864@olila.local.net-space.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cUYV1-0005dl-CQ for xen-devel@lists.xenproject.org; Fri, 20 Jan 2017 12:40:59 +0000 In-Reply-To: <20170120114323.GJ23864@olila.local.net-space.pl> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Daniel Kiper Cc: Juergen Gross , sstabellini@kernel.org, konrad.wilk@oracle.com, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, julien.grall@arm.com, xen-devel@lists.xenproject.org, qiaowei.ren@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDIwLjAxLjE3IGF0IDEyOjQzLCA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+IHdyb3Rl Ogo+IE9uIEZyaSwgSmFuIDIwLCAyMDE3IGF0IDAyOjQ2OjQ3QU0gLTA3MDAsIEphbiBCZXVsaWNo IHdyb3RlOgo+PiA+Pj4gT24gMjAuMDEuMTcgYXQgMDI6MzQsIDxkYW5pZWwua2lwZXJAb3JhY2xl LmNvbT4gd3JvdGU6Cj4+ID4gQEAgLTEwMCwyMCArMTA3LDQ4IEBAIG11bHRpYm9vdDJfaGVhZGVy X3N0YXJ0Ogo+PiA+ICBnZHRfYm9vdF9kZXNjcjoKPj4gPiAgICAgICAgICAud29yZCAgIDYqOC0x Cj4+ID4gICAgICAgICAgLmxvbmcgICBzeW1fcGh5cyh0cmFtcG9saW5lX2dkdCkKPj4gPiArICAg ICAgICAubG9uZyAgIDAgLyogTmVlZGVkIGZvciA2NC1iaXQgbGdkdCAqLwo+PiA+ICsKPj4gPiAr ICAgICAgICAuYWxpZ24gNAo+PiA+ICt2Z2FfdGV4dF9idWZmZXI6Cj4+ID4gKyAgICAgICAgLmxv bmcgICAweGI4MDAwCj4+ID4gKwo+PiA+ICtlZmlfcGxhdGZvcm06Cj4+ID4gKyAgICAgICAgLmJ5 dGUgICAwCj4+Cj4+IFlvdSBtZWFuIHRvIG1vZGlmeSB0aGVzZSBmaWVsZHMsIGJ1dCB5b3UgYWRk IHRoZW0gdG8gYSByL28gc2VjdGlvbi4KPiAKPiBZZXAuIFNvLCBJIHRoaW5rIHRoYXQgd2Ugc2hv dWxkIG1vdmUgdGhlbSB0byAuaW5pdC5kYXRhLiBJcyBpdCBPSyBmb3IgeW91PwoKVGhhdCdzIHdo YXQgSSdtIGFza2luZyBmb3IsIHllcy4KCj4+ID4gKy5MZWZpX211bHRpYm9vdDJfcHJvdG86Cj4+ ID4gKyAgICAgICAgLyogWmVybyBFRkkgU3lzdGVtVGFibGUgYW5kIEVGSSBJbWFnZUhhbmRsZSBh ZGRyZXNzZXMuICovCj4+ID4gKyAgICAgICAgeG9yICAgICAlZXNpLCVlc2kKPj4gPiArICAgICAg ICB4b3IgICAgICVlZGksJWVkaQo+PiA+ICsKPj4gPiArICAgICAgICAvKiBTa2lwIE11bHRpYm9v dDIgaW5mb3JtYXRpb24gZml4ZWQgcGFydC4gKi8KPj4gPiArICAgICAgICBsZWEgICAgIChNQjJf Zml4ZWRfc2l6ZW9mK01VTFRJQk9PVDJfVEFHX0FMSUdOLTEpKCVyYngpLCVlY3gKPj4KPj4gSW4g YW4gZWFybGllciByZXBseSB0byBBbmRyZXcncyBpbnF1aXJ5IHJlZ2FyZGluZyB0aGUgcG9zc2li bGUKPj4gdHJ1bmNhdGlvbiBoZXJlIHlvdSBzYWlkIHRoYXQgZ3J1YiBjYW4gYmUgbWFkZSBvYmV5 IHRvIHN1Y2ggYQo+PiBsb2FkIHJlc3RyaWN0aW9uLiBOb25lIG9mIHRoZSB0YWdzIGFkZGVkIGhl cmUgb3IgaW4gcGF0Y2ggMgo+PiBhcHBlYXIgdG8gaGF2ZSBzdWNoIGFuIGVmZmVjdCwgc28gd291 bGQgeW91IHBsZWFzZSBjbGFyaWZ5IGhvdwo+PiB0aGUgYWRkcmVzcyByZXN0cmljdGlvbiBpcyBi ZWluZyBlbmZvcmNlZD8KPiAKPiBHUlVCMiBpdHNlbGYgZG9lcyBhbGxvY2F0aW9ucyBmb3IgYWxs IG11bHRpYm9vdDIgc3R1ZmYgYWx3YXlzIGJlbG93IDQgR2lCLgo+IFNvLCB0aGVyZSBpcyBubyBu ZWVkIGZvciBleHRyYSB0YWdzLgo+IAo+IEFkZGl0aW9uYWxseSwgbXVsdGlib290MiBzcGVjIHNh eXMgdGhpczoKPiAKPiBUaGUgYm9vdGxvYWRlciBtdXN0IG5vdCBsb2FkIGFueSBwYXJ0IG9mIHRo ZSBrZXJuZWwsIHRoZSBtb2R1bGVzLCB0aGUgTXVsdGlib290Mgo+IGluZm9ybWF0aW9uIHN0cnVj dHVyZSwgZXRjLiBoaWdoZXIgdGhhbiA0IEdpQiAtIDEuIFRoaXMgcmVxdWlyZW1lbnQgaXMgcHV0 IGluCj4gZm9yY2UgYmVjYXVzZSBtb3N0IG9mIGN1cnJlbnRseSBzcGVjaWZpZWQgdGFncyBzdXBw b3J0cyAzMi1iaXQgYWRkcmVzc2VzIG9ubHkuCj4gQWRkaXRpb25hbGx5LCBzb21lIGtlcm5lbHMs IGV2ZW4gaWYgdGhleSBydW4gb24gRUZJIDY0LWJpdCBwbGF0Zm9ybSwgc3RpbGwKPiBleGVjdXRl IHNvbWUgcGFydHMgb2YgaXRzIGluaXRpYWxpemF0aW9uIGNvZGUgaW4gMzItYml0IG1vZGUuCgpP a2F5LCB0aGF0J3MgZ29vZCBlbm91Z2ggZm9yIG5vdywgZXZlbiBpZiBpdCBlc2NhcGVzIG1lIGhv dyB0aGF0J3MKc3VwcG9zZWQgdG8gd29yayBvbiBzeXN0ZW1zIHdpdGhvdXQgYW55IG1lbW9yeSBi ZWxvdyA0R2IuCgo+PiA+ICsgICAgICAgIC8qIEFyZSBFRkkgYm9vdCBzZXJ2aWNlcyBhdmFpbGFi bGU/ICovCj4+ID4gKyAgICAgICAgY21wYiAgICAkMCxlZmlfcGxhdGZvcm0oJXJpcCkKPj4gPiAr ICAgICAgICBqbnogICAgIDBmCj4+ID4gKwo+PiA+ICsgICAgICAgIC8qIEp1bXAgdG8gLkxtYjJf bm9fYnMgYWZ0ZXIgc3dpdGNoaW5nIENQVSB0byB4ODZfMzIgbW9kZS4gKi8KPj4gPiArICAgICAg ICBsZWEgICAgIC5MbWIyX25vX2JzKCVyaXApLCVlZGkKPj4gPiArICAgICAgICBqbXAgICAgIHg4 Nl8zMl9zd2l0Y2gKPj4gPiArMDoKPj4KPj4gSSByZWFsaXplIHlvdSBuZWVkIHRvIGF2b2lkIGNs b2JiZXJpbmcgJXJkaSBpbiB0aGUgbm9uLWVycm9yIGNhc2UsCj4+IGJ1dCB0aGUgcmVnaXN0ZXIg Y2hvaWNlIHNlZW1zIHN1Yi1vcHRpbWFsOiBJZiB5b3UgdXNlZCBhIHJlZ2lzdGVyCj4+IHdoaWNo IHlvdSBjYW4gY2xvYmJlciBoZXJlIChlLmcuICVlZHggYXMgaXQgc2VlbXMsIHVzaW5nICVlZGkg aW4KPj4gaXRzIHBsYWNlIGF0IHg4Nl8zMl9zd2l0Y2ggYW5kIGNzMzJfc3dpdGNoKSwgeW91IGNv dWxkIHNpbXBsaWZ5Cj4+IHRoaXMgdG8KPj4KPj4gICAgIGNtcGIgLi4uCj4+ICAgICBsZWEgLi4u Cj4+ICAgICBqZSB4ODZfMzJfc3dpdGNoCj4+Cj4+IGF0IG9uY2UgYXZvaWRpbmcgYWxsIHRoZSBu dW1lcmljIGxhYmVscyBoZXJlLgo+IAo+IElmIHlvdSBkbyBub3QgY2FyZSB0aGF0IGl0IHdpbGwg YmUgYWx3YXlzIGxvYWRlZCB0aGVuIE9LLgoKVGhhdCdzIG9rYXksIG9mIGNvdXJzZS4gVGhlIG1h aW4gdGhpbmcgaXMgdGhhdCB3ZSBzaG91bGQgcHJlZmVyIHRoZQpvbmUgYnJhbmNoIHZhcmlhbnQg b3ZlciB0aGUgdHdvIGJyYW5jaGVzIG9uZS4KCj4gSG93ZXZlciwgSSB0aGluawo+IHRoYXQgJXIx NWQgaXMgYSBiaXQgYmV0dGVyIGhlcmUgYmVjYXVzZSBpZiB3ZSBuZWVkIHRvIGFkZCBhbm90aGVy IGFyZ3VtZW50Cj4gdG8gZWZpX211bHRpYm9vdDIoKSBhbmQgd2UgdXNlICVlZHggdGhlbiB3ZSBt dXN0IGNoYW5nZSBjb2RlIGluIG1vcmUgcGxhY2VzLgo+IE9mIGNvdXJzZSB3ZSBzaG91bGQgZG8g Im1vdiAlcjE1ZCwlZWRpIiBhZnRlciB4ODZfMzJfc3dpdGNoIGxhYmVsIHRoZW4uCgpBcyBsb25n IGFzIGFsbCBhZmZlY3RlZCBjb2RlIGxpdmVzIG91dHNpZGUgb2YgdGhlIHRyYW1wb2xpbmUsIHVz aW5nCmFueSBvZiB0aGUgaGlnaCA4IHJlZ2lzdGVycyBpcyBjZXJ0YWlubHkgZmluZSBoZXJlLgoK Pj4gPiArMjoKPj4gPiArICAgICAgICBwdXNoICAgICVyYXgKPj4gPiArICAgICAgICBwdXNoICAg ICVyZGkKPj4gPiArCj4+ID4gKyAgICAgICAgLyoKPj4gPiArICAgICAgICAgKiBJbml0aWFsaXpl IEJTUyAobm8gbmFzdHkgc3VycHJpc2VzISkuCj4+ID4gKyAgICAgICAgICogSXQgbXVzdCBiZSBk b25lIGVhcmxpZXIgdGhhbiBpbiBCSU9TIGNhc2UKPj4gPiArICAgICAgICAgKiBiZWNhdXNlIGVm aV9tdWx0aWJvb3QyKCkgdG91Y2hlcyBpdC4KPj4gPiArICAgICAgICAgKi8KPj4gPiArICAgICAg ICBsZWEgICAgIF9fYnNzX3N0YXJ0KCVyaXApLCVlZGkKPj4gPiArICAgICAgICBsZWEgICAgIF9f YnNzX2VuZCglcmlwKSwlZWN4Cj4+ID4gKyAgICAgICAgc3ViICAgICAlZWRpLCVlY3gKPj4gPiAr ICAgICAgICBzaHIgICAgICQzLCVlY3gKPj4gPiArICAgICAgICB4b3IgICAgICVlYXgsJWVheAo+ PiA+ICsgICAgICAgIHJlcCBzdG9zcQo+PiA+ICsKPj4gPiArICAgICAgICBwb3AgICAgICVyZGkK Pj4gPiArCj4+ID4gKyAgICAgICAgLyoKPj4gPiArICAgICAgICAgKiBlZmlfbXVsdGlib290Migp IGlzIGNhbGxlZCBhY2NvcmRpbmcgdG8gU3lzdGVtIFYgQU1ENjQgQUJJOgo+PiA+ICsgICAgICAg ICAqICAgLSBJTjogJXJkaSAtIEVGSSBJbWFnZUhhbmRsZSwgJXJzaSAtIEVGSSBTeXN0ZW1UYWJs ZSwKPj4gPiArICAgICAgICAgKiAgIC0gT1VUOiAlcmF4IC0gaGlnaGVzdCBhbGxvY2F0ZWQgbWVt b3J5IGFkZHJlc3MgYmVsb3cgMSBNaUI7Cj4+ID4gKyAgICAgICAgICogICAgICAgICAgICAgICAg IG1lbW9yeSBiZWxvdyB0aGlzIGFkZHJlc3MgaXMgdXNlZCBmb3IgdHJhbXBvbGluZQo+PiA+ICsg ICAgICAgICAqICAgICAgICAgICAgICAgICBzdGFjaywgdHJhbXBvbGluZSBpdHNlbGYgYW5kIGFz IGEgc3RvcmFnZSBmb3IKPj4gPiArICAgICAgICAgKiAgICAgICAgICAgICAgICAgbWJpIHN0cnVj dCBjcmVhdGVkIGluIHJlbG9jKCkuCj4+ID4gKyAgICAgICAgICoKPj4gPiArICAgICAgICAgKiBN VUxUSUJPT1QyX1RBR19UWVBFX0JBU0lDX01FTUlORk8gdGFnIGlzIG5vdCBwcm92aWRlZAo+PiA+ ICsgICAgICAgICAqIG9uIEVGSSBwbGF0Zm9ybXMuIEhlbmNlLCBpdCBjb3VsZCBub3QgYmUgdXNl ZCBsaWtlCj4+ID4gKyAgICAgICAgICogb24gbGVnYWN5IEJJT1MgcGxhdGZvcm1zLgo+PiA+ICsg ICAgICAgICAqLwo+PiA+ICsgICAgICAgIGNhbGwgICAgZWZpX211bHRpYm9vdDIKPj4KPj4gTm93 IHRoYXQgd2UgaGFkIGEgbmVlZCBmb3IgY29tbWl0IGY2YjdmZWRjODkgKCJ4ODYvRUZJOiBtZWV0 Cj4+IGZ1cnRoZXIgc3BlYyByZXF1aXJlbWVudHMgZm9yIHJ1bnRpbWUgY2FsbHMiKSBJJ20gd29y cmllZCBhYm91dCBzdGFjawo+PiBhbGlnbm1lbnQgaGVyZS4gRG9lcyBHclVCIGNhbGwgb3Igam1w IHRvIG91ciBlbnRyeSBwb2ludCAoYW5kIGlzIHRoYXQKPj4gZmlybWx5IHNwZWNpZmllZCB0byBi ZSB0aGUgY2FzZSk/IFBlcmhhcHMgaXQgd291bGQgYmUgYSBnb29kIGlkZWEgdG8KPj4gYWxpZ24g dGhlIHN0YWNrIGVhcmxpZXIgb24gaW4gYW55IGNhc2UuIE9yIGlmIG5vdCAoYW5kIGlmIGFsaWdu bWVudCBhdAo+PiB0aGlzIGNhbGwgaXMgQUJJIGNvbmZvcm1pbmcpLCBhIGNvbW1lbnQgc2hvdWxk IGJlIGxlZnQgaGVyZSB0byB3YXJuCj4+IHBlb3BsZSBvZiBmdXR1cmUgbW9kaWZpY2F0aW9ucyB0 byB0aGUgYW1vdW50IG9mIGl0ZW1zIHB1c2hlZCBvbnRvIC8KPj4gcG9wcGVkIG9mZiB0aGUgc3Rh Y2suCj4gCj4gTXVsdGlib290MiBzcGVjIHJlcXVpcmVzIHRoYXQgc3RhY2ssIGFtb25nIG90aGVy cywgaXMgcGFzc2VkIHRvIGxvYWRlZAo+IGltYWdlIGFjY29yZGluZyB0byBVRUZJIHNwZWMuIFRo b3VnaCwgSUlSQywgdGhlcmUgYXJlIG5vIGV4dHJhIHN0YWNrIGNoZWNrcwo+IHRoZXJlLiBNYXli ZSB3ZSBzaG91bGQgYWRkIHNvbWV0aGluZyB0byBHUlVCMiBpZiBpdCBkb2VzIG5vdCBleGlzdHMu CgpUaGF0IHdvdWxkIGltcGx5IHRoZXkgZG8gYSBjYWxsIChhbmQgbm90IGEgam1wKSwgd2hpY2gg d291bGQgbWFrZQp0aGUgcHJlc2VudCBjb2RlIGNvcnJlY3QgYWZhaWN0LiBBcyBzYWlkLCBpbW8g dGhlcmUgc2hvdWxkIHN0aWxsIGJlIGEKd2FybmluZyBhZGRlZCBoZXJlLCBmb3IgYW55b25lIHdh bnRpbmcgdG8gbW9kaWZ5IHRoZSBzdGFjayBsYXlvdXQuCgo+PiA+IC0tLSBhL3hlbi9hcmNoL3g4 Ni9lZmkvZWZpLWJvb3QuaAo+PiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3QuaAo+ PiA+IEBAIC0xMDAsNiArMTAwLDkgQEAgc3RhdGljIHZvaWQgX19pbml0IHJlbG9jYXRlX3RyYW1w b2xpbmUodW5zaWduZWQgbG9uZyBwaHlzKQo+PiA+ICB7Cj4+ID4gICAgICBjb25zdCBzMzIgKnRy YW1wb2xpbmVfcHRyOwo+PiA+Cj4+ID4gKyAgICBpZiAoICFlZmlfZW5hYmxlZChFRklfTE9BREVS KSB8fCB0cmFtcG9saW5lX3BoeXMgKQo+PiA+ICsgICAgICAgIHJldHVybjsKPj4gPiArCj4+ID4g ICAgICB0cmFtcG9saW5lX3BoeXMgPSBwaHlzOwo+PiA+ICAgICAgLyogQXBwbHkgcmVsb2NhdGlv bnMgdG8gdHJhbXBvbGluZS4gKi8KPj4gPiAgICAgIGZvciAoIHRyYW1wb2xpbmVfcHRyID0gX190 cmFtcG9saW5lX3JlbF9zdGFydDsKPj4gPiBAQCAtMjEwLDEyICsyMTMsMTAgQEAgc3RhdGljIHZv aWQgKl9faW5pdCBlZmlfYXJjaF9hbGxvY2F0ZV9tbWFwX2J1ZmZlcihVSU5UTiBtYXBfc2l6ZSkK Pj4gPgo+PiA+ICBzdGF0aWMgdm9pZCBfX2luaXQgZWZpX2FyY2hfcHJlX2V4aXRfYm9vdCh2b2lk KQo+PiA+ICB7Cj4+ID4gLSAgICBpZiAoICF0cmFtcG9saW5lX3BoeXMgKQo+PiA+IC0gICAgewo+ PiA+IC0gICAgICAgIGlmICggIWNmZy5hZGRyICkKPj4gPiAtICAgICAgICAgICAgYmxleGl0KEwi Tm8gbWVtb3J5IGZvciB0cmFtcG9saW5lIik7Cj4+ID4gLSAgICAgICAgcmVsb2NhdGVfdHJhbXBv bGluZShjZmcuYWRkcik7Cj4+ID4gLSAgICB9Cj4+ID4gKyAgICBpZiAoICFjZmcuYWRkciApCj4+ ID4gKyAgICAgICAgYmxleGl0KEwiTm8gbWVtb3J5IGZvciB0cmFtcG9saW5lIik7Cj4+ID4gKwo+ PiA+ICsgICAgcmVsb2NhdGVfdHJhbXBvbGluZShjZmcuYWRkcik7Cj4+ID4gIH0KPj4KPj4gV2h5 IGNhbid0IHRoaXMgZnVuY3Rpb24gYmUgbGVmdCB1bnRvdWNoZWQsIGFuZCB0aGUgY2hhbmdlIHRv Cj4+IHJlbG9jYXRlX3RyYW1wb2xpbmUoKSBhYm92ZSBhbHNvIGJlIHJlZHVjZWQgb3IgZXZlbiBi ZSByZW1vdmVkCj4+IGFsdG9nZXRoZXI/Cj4gCj4gVGhlcmUgaXMgcHJldHR5IGdvb2QgY2hhbmNl IHRoYXQgZWZpX2FyY2hfcHJlX2V4aXRfYm9vdCgpIGNhbiBiZSBsZWZ0Cj4gdW50b3VjaGVkIHRo b3VnaCByZWxvY2F0ZV90cmFtcG9saW5lKCkgbmVlZHMgYXQgbGVhc3QKPiAKPiBpZiAoICFlZmlf ZW5hYmxlZChFRklfTE9BREVSKSApCj4gICAgIHJldHVybjsKClJpZ2h0LCBoZW5jZSB0aGUgInJl ZHVjZWQiLgoKPj4gPiArICAgIFNJTVBMRV9URVhUX09VVFBVVF9JTlRFUkZBQ0UgKlN0ZEVycjsK Pj4gPiArCj4+ID4gKyAgICBTdGRFcnIgPSBTeXN0ZW1UYWJsZS0+U3RkRXJyID8gU3lzdGVtVGFi bGUtPlN0ZEVyciA6IFN5c3RlbVRhYmxlLT5Db25PdXQ7Cj4+ID4gKwo+PiA+ICsgICAgLyoKPj4g PiArICAgICAqIFByaW50IGVycm9yIG1lc3NhZ2UgYW5kIGhhbHQgdGhlIHN5c3RlbS4KPj4gPiAr ICAgICAqCj4+ID4gKyAgICAgKiBXZSBoYXZlIHRvIG9wZW4gY29kZSBNUyB4NjQgY2FsbGluZyBj b252ZW50aW9uCj4+ID4gKyAgICAgKiBpbiBhc3NlbWJseSBiZWNhdXNlIGhlcmUgdGhpcyBjb252 ZW50aW9uIG1heQo+PiA+ICsgICAgICogbm90IGJlIGRpcmVjdGx5IHN1cHBvcnRlZCBieSBDIGNv bXBpbGVyLgo+PiA+ICsgICAgICovCj4+ID4gKyAgICBhc20gdm9sYXRpbGUoCj4+ID4gKyAgICAi ICAgIGNhbGwgKiUyICAgICAgICAgICAgICAgICAgICAgXG4iCj4+ID4gKyAgICAiMDogIGhsdCAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCj4+ID4gKyAgICAiICAgIGptcCAgMGIgICAgICAg ICAgICAgICAgICAgICAgXG4iCj4+ID4gKyAgICAgICA6ICIrYyIgKFN0ZEVyciksICIrZCIgKGVy cikgOiAiZyIgKFN0ZEVyci0+T3V0cHV0U3RyaW5nKQo+Pgo+PiBUaGUgImciIHJlYWxseSB3YW50 cyB0byBiZSAicm0iOiBXaGlsZSB0aGUga2luZCBvZiBleHByZXNzaW9uIGRvZXNuJ3QKPj4gcmVh bGx5IGFsbG93IGZvciBhbiBpbW1lZGlhdGUsIHlvdSBzdGlsbCBzaG91bGRuJ3QgZ2l2ZSB3cm9u ZyBleGFtcGxlcwo+PiBvZiBjb25zdHJhaW50cyAod2l0aCB0aGUgKiBub3cgcHJvcGVybHkgYWRk ZWQgdG8gdGhlIGNhbGwgb3BlcmFuZCwgaXQKPj4gZG9lc24ndCBhbGxvdyBmb3IgYW4gaW1tZWRp YXRlIGFueW1vcmUpLgo+IAo+IEkgd2FzIGNvbnNpZGVyaW5nIHRoYXQgY2hhbmdlIG9uY2UgYnV0 IEkgd2FzIG5vdCBzdXJlLiBUaG91Z2ggaWYgeW91Cj4gdGhpbmsgdGhhdCBpdCBtYWtlIHNlbnNl IEkgd2lsbCBkbyB0aGF0LgoKWWVzIHBsZWFzZS4KCj4+ID4gLS0tIGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9jb25maWcuaAo+PiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKPj4g PiBAQCAtNzMsNiArNzMsMTEgQEAKPj4gPiAgI2RlZmluZSBTVEFDS19PUkRFUiAzCj4+ID4gICNk ZWZpbmUgU1RBQ0tfU0laRSAgKFBBR0VfU0laRSA8PCBTVEFDS19PUkRFUikKPj4gPgo+PiA+ICsj ZGVmaW5lIE1CX1RSQU1QT0xJTkVfU1RBQ0tfU0laRSAgICAgICAgUEFHRV9TSVpFCj4+ID4gKyNk ZWZpbmUgTUJfVFJBTVBPTElORV9TSVpFICAgICAgICAgICAgICAoS0IoNjQpIC0gTUJfVFJBTVBP TElORV9TVEFDS19TSVpFKQo+Pgo+PiBXaGF0J3MgdGhlIHJlYXNvbiBmb3IgdGhlIE1CXyBwcmVm aXhlcyBoZXJlPyBUaGUgdHJhbXBvbGluZSBpcwo+PiBhbHdheXMgdGhlIHNhbWUgc2l6ZSwgaXNu J3QgaXQ/IE5vciBhbSBJIGNvbnZpbmNlZCB3ZSByZWFsbHkgbmVlZAo+IAo+IFBsZWFzZSB0YWtl IGEgbG9vayBhdCBlZmlfYXJjaF9tZW1vcnlfc2V0dXAoKS4gQW1vdW50IG9mIG1lbW9yeSBhbGxv Y2F0ZWQKPiBmb3IgdHJhbXBvbGluZSBhbmQgb3RoZXIgc3R1ZmYgZGVwZW5kcyBvbiBib290IGxv YWRlciB0eXBlLiBTbywgd2hlbiBJIHVzZQo+ICJNQl8iIEkgd291bGQgbGlrZSB1bmRlcmxpbmUg dGhhdCB0aGlzIGlzIHJlbGV2YW50IGZvciBtdWx0aWJvb3QgcHJvdG9jb2xzLgo+IFRob3VnaCBJ IHRoaW5rIHRoYXQgd2UgY2FuIHVzZSB0aGUgc2FtZSBzaXplIGZvciBhbGwgcHJvdG9jb2xzLiBI b3dldmVyLAo+IEkgd291bGQgbm90IGxpa2UgdG8gdG91Y2ggbmF0aXZlIEVGSSBsb2FkZXIgY2Fz ZS4KCllvdSBhbHJlYWR5IGRvbid0IHRvdWNoIGl0LCBhbmQgSSBzZWUgbm8gcmVhc29uIHdoeSB0 aGlzIHNob3VsZApjaGFuZ2UuIFlldCB0aGlzIGlzIG9ydGhvZ29uYWwgdG8gdGhlIG5hbWluZyBv ZiB0aGUgY29uc3RhbnRzIGhlcmUuCkFzIHNhaWQsIHRoZSB0cmFtcG9saW5lIGl0c2VsZiBpcyBh bHdheXMgdGhlIHNhbWUsIGFuZCB0aGUgc3RhY2sKcG9ydGlvbiBvZiBpdCBpcyBzaW1wbHkgdW51 c2VkIGluIHRoZSBuYXRpdmUgRUZJIGxvYWRlciBjYXNlLiBQbHVzCk1CX1RSQU1QT0xJTkVfU0la RSBpcyBpbiBubyB3YXkgdGhlIHNpemUgb2YgdGhlIHRyYW1wb2xpbmUgaW4gdGhlCmZpcnN0IHBs YWNlLiBQZXJoYXBzIFRSQU1QT0xJTkVfU1BBQ0UgKGFuZCB0aGVuIGNvdmVyaW5nIGJvdGgKcGFy dHMpPwoKPj4gdHdvIGRlZmluZXMgLSBleGNlcHQgaW4gdGhlIGxpbmsgdGltZSBhc3NlcnRpb24g eW91IGFsd2F5cyB1c2UKPj4gdGhlIHN1bSBvZiB0aGUgdHdvLgo+Pgo+PiA+ICsjZGVmaW5lIE1C SV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgKDIgKiBQQUdFX1NJWkUpCj4+Cj4+IE9uIHRv cCBvZiBEb3VnJ3MgcXVlc3Rpb24gLSBpZiBpdCBpcyBuZWVkZWQgYXQgYWxsLCB3aGF0IGRvZXMg dGhpcwo+IAo+IFBsZWFzZSBsb29rIGFyb3VuZCByZWxvYygpIGNhbGwgaW4geGVuL2FyY2gveDg2 L2Jvb3QvaGVhZC5TLiBZb3UgcXVpY2tseQo+IHJlYWxpemUgdGhhdCB0aGVyZSBpcyBmb2xsb3dp bmcgbWVtb3J5IGxheW91dCBmcm9tIHRvcCB0byBib3R0b206Cj4gCj4gICAgICAgICArLS0tLS0t LS0tLS0tLS0tLS0tKwo+ICAgICAgICAgfCBUUkFNUE9MSU5FX1NUQUNLIHwKPiAgICAgICAgICst LS0tLS0tLS0tLS0tLS0tLS0rCj4gICAgICAgICB8ICAgIFRSQU1QT0xJTkUgICAgfAo+ICAgICAg ICAgKy0tLS0tLS0tLS0tLS0tLS0tLSsKPiAgICAgICAgIHwgICAgbWJpIHN0cnVjdCAgICB8Cj4g ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tKwo+IAo+PiBtYXRjaCB1cCB3aXRoLCBpLmUuIGhv dyBjb21lIHRoaXMgaXMgMiBwYWdlcyAoYW5kIG5vdCAxIG9yIDMpPwo+IAo+IEp1c3QgdGhvdWdo dCB0aGF0IDggS2lCIHdpbGwgYmUgc3VmZmljaWVudCBmb3IgWGVuL21vZHVsZXMgYXJndW1lbnRz LAo+IG1lbW9yeSBtYXAgYW5kIG90aGVyIG1pbm9yIHRoaW5ncy4KCkV2ZW4gd2l0aCBhIGNvdXBs ZSBvZiBkb3plbiBtb2R1bGVzIHBhc3NlZD8gQnV0IHRoZSBwcmltYXJ5CnF1ZXN0aW9uIHdhcyBs ZWZ0IHVuYW5zd2VyZWQgYW55d2F5OiBEb2VzIHRoaXMgbmVlZCBwbGFjaW5nIGluCnRoZSBsb3cg bWVnYWJ5dGUgYXQgYWxsPyBBbmQgZXZlbiBpZiBpdCBkb2VzLCBlc3BlY2lhbGx5IGlmIHlvdQps aW1pdCBpdCB0byA4aywgSSBkb24ndCBzZWUgd2h5IGl0IHdvdWxkbid0IGZpdCBpbnNpZGUgdGhl IDY0awp0cmFtcG9saW5lIGFyZWEuCgpKYW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=