From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 1/2 v2] xen: Add support for initializing 16550 UART using ACPI Date: Mon, 13 Nov 2017 18:51:22 +0000 Message-ID: References: <1510222764-11746-1-git-send-email-bhupinder.thakur@linaro.org> <1510222764-11746-2-git-send-email-bhupinder.thakur@linaro.org> 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 ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eEJpO-0000Dc-Dt for xen-devel@lists.xenproject.org; Mon, 13 Nov 2017 18:51:26 +0000 Received: by mail-wr0-f195.google.com with SMTP id 4so15341755wrt.0 for ; Mon, 13 Nov 2017 10:51:24 -0800 (PST) In-Reply-To: <1510222764-11746-2-git-send-email-bhupinder.thakur@linaro.org> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Bhupinder Thakur , xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org SGkgQmh1cGluZGVyLAoKT24gMTEvMDkvMjAxNyAxMDoxOSBBTSwgQmh1cGluZGVyIFRoYWt1ciB3 cm90ZToKPiBDdXJyZW50bHksIFhlbiBzdXBwb3J0cyBvbmx5IERUIGJhc2VkIGluaXRpYWxpemF0 aW9uIG9mIDE2NTUwIFVBUlQuCj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGluaXRpYWxp emluZyAxNjU1MCBVQVJUIHVzaW5nIEFDUEkgU1BDUiB0YWJsZS4KPiAKPiBUaGlzIHBhdGNoIGFs c28gbWFrZXMgdGhlIHVhcnQgaW5pdGlhbGl6YXRpb24gY29kZSBjb21tb24gYmV0d2VlbiBEVCBh bmQKPiBBQ1BJIGJhc2VkIGluaXRpYWxpemF0aW9uLgoKQ2FuIHlvdSBwbGVhc2UgaGF2ZSBvbmUg cGF0Y2ggdG8gcmVmYWN0b3IgdGhlIGNvZGUgYW5kIG9uZSB0byBhZGQgQUNQSSAKc3VwcG9ydD8g VGhpcyB3aWxsIGJlIGVhc2llciB0byByZXZpZXcuCgo+IAo+IFNpZ25lZC1vZmYtYnk6IEJodXBp bmRlciBUaGFrdXIgPGJodXBpbmRlci50aGFrdXJAbGluYXJvLm9yZz4KPiAtLS0KPiBUQkQ6Cj4g VGhlcmUgd2FzIG9uZSByZXZpZXcgY29tbWVudCBmcm9tIEp1bGllbiBhYm91dCBob3cgdGhlIHVh cnQtPmlvX3NpemUgaXMgYmVpbmcKPiBjYWxjdWxhdGVkLiBDdXJyZW50bHksIEkgYW0gY2FsdWxh dGluZyB0aGUgaW9fc2l6ZSBiYXNlZCBvbiBhZGRyZXNzIG9mIHRoZSBsYXN0Cj4gVUFSVCByZWdp c3Rlci4KPiAKPiBwY2lfdWFydF9jb25maWcgYWxzbyBjYWxjdWFsYXRlcyB0aGUgdWFydC0+aW9f c2l6ZSBsaWtlIHRoaXM6Cj4gCj4gdWFydC0+aW9fc2l6ZSA9IG1heCg4VSA8PCBwYXJhbS0+cmVn X3NoaWZ0LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbS0+dWFydF9v ZmZzZXQpOwo+IAo+IEkgYW0gbm90IHN1cmUgd2hldGhlciB3ZSBjYW4gdXNlIHNpbWlsYXIgbG9n aWMgZm9yIGNhbGN1bGF0aW5nIHVhcnQtPmlvX3NpemUuCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToK PiAtIFJldXNlZCBjb21tb24gY29kZSBiZXR3ZWVuIERUIGFuZCBBQ1BJIGJhc2VkIGluaXRpYWxp emF0aW9ucwo+IAo+IENDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t Pgo+IENDOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+Cj4gQ0M6 IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgo+IENDOiBKYW4gQmV1bGlj aCA8amJldWxpY2hAc3VzZS5jb20+Cj4gQ0M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFk LndpbGtAb3JhY2xlLmNvbT4KPiBDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBr ZXJuZWwub3JnPgo+IENDOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KPiBDQzogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4KPiBDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJt LmNvbT4KPiAKPiAgIHhlbi9kcml2ZXJzL2NoYXIvbnMxNjU1MC5jICB8IDEzMiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ICAgeGVuL2luY2x1ZGUveGVuLzgy NTAtdWFydC5oIHwgICAxICsKPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyks IDEyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL25zMTY1 NTAuYyBiL3hlbi9kcml2ZXJzL2NoYXIvbnMxNjU1MC5jCj4gaW5kZXggZTBmODE5OS4uY2Y0MmZj ZSAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVycy9jaGFyL25zMTY1NTAuYwo+ICsrKyBiL3hlbi9k cml2ZXJzL2NoYXIvbnMxNjU1MC5jCj4gQEAgLTE0NjMsMTggKzE0NjMsMTMgQEAgdm9pZCBfX2lu aXQgbnMxNjU1MF9pbml0KGludCBpbmRleCwgc3RydWN0IG5zMTY1NTBfZGVmYXVsdHMgKmRlZmF1 bHRzKQo+ICAgfQo+ICAgCj4gICAjaWZkZWYgQ09ORklHX0hBU19ERVZJQ0VfVFJFRQo+IC1zdGF0 aWMgaW50IF9faW5pdCBuczE2NTUwX3VhcnRfZHRfaW5pdChzdHJ1Y3QgZHRfZGV2aWNlX25vZGUg KmRldiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9p ZCAqZGF0YSkKPiArc3RhdGljIGludCBuczE2NTUwX2luaXRfZHQoc3RydWN0IG5zMTY1NTAgKnVh cnQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vf bm9kZSAqZGV2KQo+ICAgewo+IC0gICAgc3RydWN0IG5zMTY1NTAgKnVhcnQ7Cj4gLSAgICBpbnQg cmVzOwo+ICsgICAgaW50IHJlcyA9IDA7Cj4gICAgICAgdTMyIHJlZ19zaGlmdCwgcmVnX3dpZHRo Owo+ICAgICAgIHU2NCBpb19zaXplOwo+ICAgCj4gLSAgICB1YXJ0ID0gJm5zMTY1NTBfY29tWzBd Owo+IC0KPiAtICAgIG5zMTY1NTBfaW5pdF9jb21tb24odWFydCk7Cj4gLQo+ICAgICAgIHVhcnQt PmJhdWQgICAgICA9IEJBVURfQVVUTzsKPiAgICAgICB1YXJ0LT5kYXRhX2JpdHMgPSA4Owo+ICAg ICAgIHVhcnQtPnBhcml0eSAgICA9IFVBUlRfUEFSSVRZX05PTkU7Cj4gQEAgLTE1MTAsMTggKzE1 MDUsMTAzIEBAIHN0YXRpYyBpbnQgX19pbml0IG5zMTY1NTBfdWFydF9kdF9pbml0KHN0cnVjdCBk dF9kZXZpY2Vfbm9kZSAqZGV2LAo+ICAgCj4gICAgICAgdWFydC0+ZHdfdXNyX2JzeSA9IGR0X2Rl dmljZV9pc19jb21wYXRpYmxlKGRldiwgInNucHMsZHctYXBiLXVhcnQiKTsKPiAgIAo+ICsgICAg cmV0dXJuIHJlczsKPiArfQo+ICsjZWxzZQo+ICtzdGF0aWMgaW50IG5zMTY1NTBfaW5pdF9kdChz dHJ1Y3QgbnMxNjU1MCAqdWFydCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg c3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYpCj4gK3sKPiArICAgIHJldHVybiAtRUlOVkFMOwo+ ICt9Cj4gKyNlbmRpZgo+ICsKPiArI2lmZGVmIENPTkZJR19BQ1BJCj4gKyNpbmNsdWRlIDx4ZW4v YWNwaS5oPgo+ICtzdGF0aWMgaW50IG5zMTY1NTBfaW5pdF9hY3BpKHN0cnVjdCBuczE2NTUwICp1 YXJ0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCj4g K3sKPiArICAgIHN0cnVjdCBhY3BpX3RhYmxlX3NwY3IgKnNwY3IgPSBOVUxMOwo+ICsgICAgaW50 IHN0YXR1cyA9IDA7Cj4gKwo+ICsgICAgc3RhdHVzID0gYWNwaV9nZXRfdGFibGUoQUNQSV9TSUdf U1BDUiwgMCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJ1Y3QgYWNwaV90YWJs ZV9oZWFkZXIgKiopJnNwY3IpOwo+ICsKPiArICAgIGlmICggQUNQSV9GQUlMVVJFKHN0YXR1cykg KQo+ICsgICAgewo+ICsgICAgICAgIHByaW50aygibnMxNjU1MDogRmFpbGVkIHRvIGdldCBTUENS IHRhYmxlXG4iKTsKPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiArICAgIH0KPiArCj4gKyAg ICB1YXJ0LT5iYXVkICAgICAgPSBCQVVEX0FVVE87Cj4gKyAgICB1YXJ0LT5kYXRhX2JpdHMgPSA4 Owo+ICsgICAgdWFydC0+cGFyaXR5ICAgID0gc3Bjci0+cGFyaXR5Owo+ICsgICAgdWFydC0+c3Rv cF9iaXRzID0gc3Bjci0+c3RvcF9iaXRzOwo+ICsgICAgdWFydC0+aW9fYmFzZSA9IHNwY3ItPnNl cmlhbF9wb3J0LmFkZHJlc3M7Cj4gKyAgICB1YXJ0LT5pcnEgPSBzcGNyLT5pbnRlcnJ1cHQ7Cj4g KyAgICB1YXJ0LT5yZWdfd2lkdGggPSBzcGNyLT5zZXJpYWxfcG9ydC5iaXRfd2lkdGggLyA4Owo+ ICsgICAgdWFydC0+cmVnX3NoaWZ0ID0gMDsKPiArICAgIHVhcnQtPmlvX3NpemUgPSBVQVJUX01B WF9SRUcgPDwgdWFydC0+cmVnX3NoaWZ0Owo+ICsKPiArICAgIGlycV9zZXRfdHlwZShzcGNyLT5p bnRlcnJ1cHQsIHNwY3ItPmludGVycnVwdF90eXBlKTsKPiArCj4gKyAgICByZXR1cm4gMDsKPiAr fQo+ICsjZWxzZQo+ICtzdGF0aWMgaW50IG5zMTY1NTBfaW5pdF9hY3BpKHN0cnVjdCBuczE2NTUw ICp1YXJ0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEp Cj4gK3sKPiArICAgIHJldHVybiAtRUlOVkFMOwo+ICt9Cj4gKyNlbmRpZgo+ICsKPiArc3RhdGlj IGludCBuczE2NTUwX3VhcnRfaW5pdChzdHJ1Y3QgbnMxNjU1MCAqKnB1YXJ0LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEsIGJvb2wgYWNwaSkKPiArewo+ ICsgICAgc3RydWN0IG5zMTY1NTAgKnVhcnQgPSAmbnMxNjU1MF9jb21bMF07Cj4gKwo+ICsgICAg KnB1YXJ0ID0gdWFydDsKPiArCj4gKyAgICBuczE2NTUwX2luaXRfY29tbW9uKHVhcnQpOwo+ICsK PiArICAgIHJldHVybiAoIGFjcGkgKSA/IG5zMTY1NTBfaW5pdF9hY3BpKHVhcnQsIGRhdGEpCj4g KyAgICAgICAgICAgICAgICAgICAgOiBuczE2NTUwX2luaXRfZHQodWFydCwgZGF0YSk7Cj4gK30K ClRoaXMgZnVuY3Rpb24gZG9lcyBub3QgbG9vayB2ZXJ5IHVzZWZ1bCBidXQgZ2V0dGluZyAmbnMx NjU1MF9jb21bMF0uCkkgZG8gYWdyZWUgdGhhdCB3ZSBuZWVkIGl0IGlzIG5pY2UgdG8gaGF2ZSBj b21tb24gY29kZSwgYnV0IEkgdGhpbmsgeW91IAp3ZW50IHRvbyBmYXIgaGVyZS4KClRoZXJlIGFy ZSBubyBuZWVkIGZvciAzIHNlcGFyYXRlIGZ1bmN0aW9ucyBhbmQgMiBmdW5jdGlvbnMgZm9yIGVh Y2ggCmZpcm13YXJlLgoKSSB0aGluayBkdXBsaWNhdGluZyB0aGUgY29kZSBvZiBuczE2NTUwX3Vh cnRfaW5pdCBmb3IgQUNQSSBhbmQgRFQgaXMgCmZpbmUuIFlvdSBjb3VsZCB0aGVuIGNyZWF0ZSBh IGZ1bmN0aW9uIHRoYXQgaXMgYSBtZXJnZSB2dWFydF9pbml0IGFuZCAKcmVnaXN0ZXJfaW5pdC4K ClRoaXMgd291bGQgYWxzbyBsaW1pdCB0aGUgbnVtYmVyIG9mICNpZmRlZiB3aXRoaW4gdGhpcyBj b2RlLgoKPiArCj4gK3N0YXRpYyB2b2lkIG5zMTY1NTBfdnVhcnRfaW5pdChzdHJ1Y3QgbnMxNjU1 MCAqdWFydCkKPiArewo+ICsjaWZkZWYgQ09ORklHX0FSTQo+ICAgICAgIHVhcnQtPnZ1YXJ0LmJh c2VfYWRkciA9IHVhcnQtPmlvX2Jhc2U7Cj4gICAgICAgdWFydC0+dnVhcnQuc2l6ZSA9IHVhcnQt PmlvX3NpemU7Cj4gLSAgICB1YXJ0LT52dWFydC5kYXRhX29mZiA9IFVBUlRfVEhSIDw8dWFydC0+ cmVnX3NoaWZ0Owo+IC0gICAgdWFydC0+dnVhcnQuc3RhdHVzX29mZiA9IFVBUlRfTFNSPDx1YXJ0 LT5yZWdfc2hpZnQ7Cj4gLSAgICB1YXJ0LT52dWFydC5zdGF0dXMgPSBVQVJUX0xTUl9USFJFfFVB UlRfTFNSX1RFTVQ7Cj4gKyAgICB1YXJ0LT52dWFydC5kYXRhX29mZiA9IFVBUlRfVEhSIDw8IHVh cnQtPnJlZ19zaGlmdDsKPiArICAgIHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSBVQVJUX0xTUiA8 PCB1YXJ0LT5yZWdfc2hpZnQ7Cj4gKyAgICB1YXJ0LT52dWFydC5zdGF0dXMgPSBVQVJUX0xTUl9U SFJFIHwgVUFSVF9MU1JfVEVNVDsKPiArI2VuZGlmCj4gK30KPiAgIAo+ICtzdGF0aWMgdm9pZCBu czE2NTUwX3JlZ2lzdGVyX3VhcnQoc3RydWN0IG5zMTY1NTAgKnVhcnQpCj4gK3sKPiAgICAgICAv KiBSZWdpc3RlciB3aXRoIGdlbmVyaWMgc2VyaWFsIGRyaXZlci4gKi8KPiAgICAgICBzZXJpYWxf cmVnaXN0ZXJfdWFydCh1YXJ0IC0gbnMxNjU1MF9jb20sICZuczE2NTUwX2RyaXZlciwgdWFydCk7 Cj4gK30KPiArCj4gKyNpZmRlZiBDT05GSUdfSEFTX0RFVklDRV9UUkVFCj4gK3N0YXRpYyBpbnQg X19pbml0IG5zMTY1NTBfdWFydF9kdF9pbml0KHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2LAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICpkYXRh KQo+ICt7Cj4gKyAgICBzdHJ1Y3QgbnMxNjU1MCAqdWFydDsKPiArICAgIGludCByZXQgPSAwOwo+ ICsKPiArICAgIHJldCA9IG5zMTY1NTBfdWFydF9pbml0KCZ1YXJ0LCBkZXYsIGZhbHNlKTsKPiAr ICAgIGlmICggcmV0ICkKPiArICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgIG5zMTY1NTBf dnVhcnRfaW5pdCh1YXJ0KTsKPiArCj4gKyAgICBuczE2NTUwX3JlZ2lzdGVyX3VhcnQodWFydCk7 Cj4gICAKPiAgICAgICBkdF9kZXZpY2Vfc2V0X3VzZWRfYnkoZGV2LCBET01JRF9YRU4pOwo+ICAg Cj4gLSAgICByZXR1cm4gMDsKPiArICAgIHJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiAgIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX21hdGNoIG5zMTY1NTBfZHRfbWF0Y2hbXSBfX2luaXRj b25zdCA9Cj4gQEAgLTE1MzgsNiArMTYxOCwzNCBAQCBEVF9ERVZJQ0VfU1RBUlQobnMxNjU1MCwg Ik5TMTY1NTAgVUFSVCIsIERFVklDRV9TRVJJQUwpCj4gICBEVF9ERVZJQ0VfRU5ECj4gICAKPiAg ICNlbmRpZiAvKiBIQVNfREVWSUNFX1RSRUUgKi8KPiArCj4gKyNpZmRlZiBDT05GSUdfQUNQSQoK VGhlIGNvZGUgYmVsb3cgaXMgZ29pbmcgdG8gYnJlYWsgeDg2IGJ1aWxkLiBZb3UgbmVlZCB0byBk byAjaWYgCmRlZmluZWQoQ09ORklHX0FDUEkpICYmIGRlZmluZWQoQ09ORklHX0FSTSkuCgo+ICtz dGF0aWMgaW50IF9faW5pdCBuczE2NTUwX2FjcGlfdWFydF9pbml0KGNvbnN0IHZvaWQgKmRhdGEp Cj4gK3sKPiArICAgIHN0cnVjdCBuczE2NTUwICp1YXJ0Owo+ICsgICAgaW50IHJldCA9IDA7Cj4g Kwo+ICsgICAgcmV0ID0gbnMxNjU1MF91YXJ0X2luaXQoJnVhcnQsIGRhdGEsIHRydWUpOwo+ICsg ICAgaWYgKCByZXQgKQo+ICsgICAgICAgIHJldHVybiByZXQ7Cj4gKwo+ICsgICAgbnMxNjU1MF92 dWFydF9pbml0KHVhcnQpOwo+ICsKPiArICAgIG5zMTY1NTBfcmVnaXN0ZXJfdWFydCh1YXJ0KTsK PiArCj4gKyAgICByZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtBQ1BJX0RFVklDRV9TVEFSVChuczE2 NTUwYywgIjE2NTUwIENPTVBBVCBVQVJUIiwgREVWSUNFX1NFUklBTCkKPiArICAgICAgICAuY2xh c3NfdHlwZSA9IEFDUElfREJHMl8xNjU1MF9DT01QQVRJQkxFLAo+ICsgICAgICAgIC5pbml0ID0g bnMxNjU1MF9hY3BpX3VhcnRfaW5pdCwKPiArQUNQSV9ERVZJQ0VfRU5ECj4gK0FDUElfREVWSUNF X1NUQVJUKG5zMTY1NTBzLCAiMTY1NTAgU1VCU0VUIFVBUlQiLCBERVZJQ0VfU0VSSUFMKQo+ICsg ICAgICAgIC5jbGFzc190eXBlID0gQUNQSV9EQkcyXzE2NTUwX1NVQlNFVCwKPiArICAgICAgICAu aW5pdCA9IG5zMTY1NTBfYWNwaV91YXJ0X2luaXQsCj4gK0FDUElfREVWSUNFX0VORAo+ICsKPiAr I2VuZGlmCj4gICAvKgo+ICAgICogTG9jYWwgdmFyaWFibGVzOgo+ICAgICogbW9kZTogQwo+IGRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vODI1MC11YXJ0LmggYi94ZW4vaW5jbHVkZS94ZW4v ODI1MC11YXJ0LmgKPiBpbmRleCA1YzNiYWMzLi4xYjNlMTM3IDEwMDY0NAo+IC0tLSBhL3hlbi9p bmNsdWRlL3hlbi84MjUwLXVhcnQuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi84MjUwLXVhcnQu aAo+IEBAIC0zNSw2ICszNSw3IEBACj4gICAjZGVmaW5lIFVBUlRfVVNSICAgICAgICAgIDB4MWYg ICAgLyogU3RhdHVzIHJlZ2lzdGVyIChEVykgKi8KPiAgICNkZWZpbmUgVUFSVF9ETEwgICAgICAg ICAgMHgwMCAgICAvKiBkaXZpc29yIGxhdGNoIChscykgKERMQUI9MSkgKi8KPiAgICNkZWZpbmUg VUFSVF9ETE0gICAgICAgICAgMHgwMSAgICAvKiBkaXZpc29yIGxhdGNoIChtcykgKERMQUI9MSkg Ki8KPiArI2RlZmluZSBVQVJUX01BWF9SRUcgICAgICAoVUFSVF9VU1IgKyAxKQo+ICAgCj4gICAv KiBJbnRlcnJ1cHQgRW5hYmxlIFJlZ2lzdGVyICovCj4gICAjZGVmaW5lIFVBUlRfSUVSX0VSREFJ ICAgIDB4MDEgICAgLyogcnggZGF0YSByZWN2J2QgICAgICAgKi8KPiAKCkNoZWVycywKCi0tIApK dWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=