From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= Subject: Re: [PATCH 1/2 v2] xen: Add support for initializing 16550 UART using ACPI Date: Thu, 9 Nov 2017 11:31:28 +0000 Message-ID: <20171109113128.flmityeptrhameww@dhcp-3-128.uk.xensource.com> 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" 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 1eCl3h-0007VG-Jv for xen-devel@lists.xenproject.org; Thu, 09 Nov 2017 11:31:45 +0000 Content-Disposition: inline In-Reply-To: <1510222764-11746-2-git-send-email-bhupinder.thakur@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Bhupinder Thakur Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBOb3YgMDksIDIwMTcgYXQgMDM6NDk6MjNQTSArMDUzMCwgQmh1cGluZGVyIFRoYWt1 ciB3cm90ZToKPiBDdXJyZW50bHksIFhlbiBzdXBwb3J0cyBvbmx5IERUIGJhc2VkIGluaXRpYWxp emF0aW9uIG9mIDE2NTUwIFVBUlQuCj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGluaXRp YWxpemluZyAxNjU1MCBVQVJUIHVzaW5nIEFDUEkgU1BDUiB0YWJsZS4KPiAKPiBUaGlzIHBhdGNo IGFsc28gbWFrZXMgdGhlIHVhcnQgaW5pdGlhbGl6YXRpb24gY29kZSBjb21tb24gYmV0d2VlbiBE VCBhbmQKPiBBQ1BJIGJhc2VkIGluaXRpYWxpemF0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEJo dXBpbmRlciBUaGFrdXIgPGJodXBpbmRlci50aGFrdXJAbGluYXJvLm9yZz4KPiAtLS0KPiBUQkQ6 Cj4gVGhlcmUgd2FzIG9uZSByZXZpZXcgY29tbWVudCBmcm9tIEp1bGllbiBhYm91dCBob3cgdGhl IHVhcnQtPmlvX3NpemUgaXMgYmVpbmcgCj4gY2FsY3VsYXRlZC4gQ3VycmVudGx5LCBJIGFtIGNh bHVsYXRpbmcgdGhlIGlvX3NpemUgYmFzZWQgb24gYWRkcmVzcyBvZiB0aGUgbGFzdAo+IFVBUlQg cmVnaXN0ZXIuIAo+IAo+IHBjaV91YXJ0X2NvbmZpZyBhbHNvIGNhbGN1YWxhdGVzIHRoZSB1YXJ0 LT5pb19zaXplIGxpa2UgdGhpczoKPiAKPiB1YXJ0LT5pb19zaXplID0gbWF4KDhVIDw8IHBhcmFt LT5yZWdfc2hpZnQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0tPnVh cnRfb2Zmc2V0KTsKPiAKPiBJIGFtIG5vdCBzdXJlIHdoZXRoZXIgd2UgY2FuIHVzZSBzaW1pbGFy IGxvZ2ljIGZvciBjYWxjdWxhdGluZyB1YXJ0LT5pb19zaXplLgo+IAo+IENoYW5nZXMgc2luY2Ug djE6Cj4gLSBSZXVzZWQgY29tbW9uIGNvZGUgYmV0d2VlbiBEVCBhbmQgQUNQSSBiYXNlZCBpbml0 aWFsaXphdGlvbnMKPiAKPiBDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4 LmNvbT4KPiBDQzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgo+ IENDOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KPiBDQzogSmFuIEJl dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgo+IENDOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv bnJhZC53aWxrQG9yYWNsZS5jb20+Cj4gQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxp bmlAa2VybmVsLm9yZz4KPiBDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Cj4gQ0M6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Cj4gQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxs QGFybS5jb20+Cj4gCj4gIHhlbi9kcml2ZXJzL2NoYXIvbnMxNjU1MC5jICB8IDEzMiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ICB4ZW4vaW5jbHVkZS94ZW4v ODI1MC11YXJ0LmggfCAgIDEgKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCsp LCAxMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvY2hhci9uczE2 NTUwLmMgYi94ZW4vZHJpdmVycy9jaGFyL25zMTY1NTAuYwo+IGluZGV4IGUwZjgxOTkuLmNmNDJm Y2UgMTAwNjQ0Cj4gLS0tIGEveGVuL2RyaXZlcnMvY2hhci9uczE2NTUwLmMKPiArKysgYi94ZW4v ZHJpdmVycy9jaGFyL25zMTY1NTAuYwo+IEBAIC0xNDYzLDE4ICsxNDYzLDEzIEBAIHZvaWQgX19p bml0IG5zMTY1NTBfaW5pdChpbnQgaW5kZXgsIHN0cnVjdCBuczE2NTUwX2RlZmF1bHRzICpkZWZh dWx0cykKPiAgfQo+ICAKPiAgI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKPiAtc3RhdGlj IGludCBfX2luaXQgbnMxNjU1MF91YXJ0X2R0X2luaXQoc3RydWN0IGR0X2RldmljZV9ub2RlICpk ZXYsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQg KmRhdGEpCj4gK3N0YXRpYyBpbnQgbnMxNjU1MF9pbml0X2R0KHN0cnVjdCBuczE2NTUwICp1YXJ0 LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25v ZGUgKmRldikKCldoeSBhcmUgeW91IGRyb3BwaW5nIHRoZSBfX2luaXQgYXR0cmlidXRlPwoKPiAg ewo+IC0gICAgc3RydWN0IG5zMTY1NTAgKnVhcnQ7Cj4gLSAgICBpbnQgcmVzOwo+ICsgICAgaW50 IHJlcyA9IDA7Cj4gICAgICB1MzIgcmVnX3NoaWZ0LCByZWdfd2lkdGg7Cj4gICAgICB1NjQgaW9f c2l6ZTsKPiAgCj4gLSAgICB1YXJ0ID0gJm5zMTY1NTBfY29tWzBdOwo+IC0KPiAtICAgIG5zMTY1 NTBfaW5pdF9jb21tb24odWFydCk7Cj4gLQo+ICAgICAgdWFydC0+YmF1ZCAgICAgID0gQkFVRF9B VVRPOwo+ICAgICAgdWFydC0+ZGF0YV9iaXRzID0gODsKPiAgICAgIHVhcnQtPnBhcml0eSAgICA9 IFVBUlRfUEFSSVRZX05PTkU7Cj4gQEAgLTE1MTAsMTggKzE1MDUsMTAzIEBAIHN0YXRpYyBpbnQg X19pbml0IG5zMTY1NTBfdWFydF9kdF9pbml0KHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2LAo+ ICAKPiAgICAgIHVhcnQtPmR3X3Vzcl9ic3kgPSBkdF9kZXZpY2VfaXNfY29tcGF0aWJsZShkZXYs ICJzbnBzLGR3LWFwYi11YXJ0Iik7Cj4gIAo+ICsgICAgcmV0dXJuIHJlczsKPiArfQo+ICsjZWxz ZQo+ICtzdGF0aWMgaW50IG5zMTY1NTBfaW5pdF9kdChzdHJ1Y3QgbnMxNjU1MCAqdWFydCwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpk ZXYpCj4gK3sKPiArICAgIHJldHVybiAtRUlOVkFMOwo+ICt9Cj4gKyNlbmRpZgo+ICsKPiArI2lm ZGVmIENPTkZJR19BQ1BJCj4gKyNpbmNsdWRlIDx4ZW4vYWNwaS5oPgoKUGxlYXNlIHBsYWNlIHRo ZSBpbmNsdWRlIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUsIHRvZ2V0aGVyIHdpdGggdGhlCm90aGVy IG9uZXMuCgo+ICtzdGF0aWMgaW50IG5zMTY1NTBfaW5pdF9hY3BpKHN0cnVjdCBuczE2NTUwICp1 YXJ0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCj4g K3sKPiArICAgIHN0cnVjdCBhY3BpX3RhYmxlX3NwY3IgKnNwY3IgPSBOVUxMOwo+ICsgICAgaW50 IHN0YXR1cyA9IDA7CgpJIGRvbid0IHRoaW5rIHlvdSBuZWVkIHRvIGluaXRpYWxpemUgYW55IG9m IHRob3NlIHR3byB2YXJpYWJsZXMuIE9yCmRvOgoKaW50IHN0YXR1cyA9IGFjcGlfZ2V0X3RhYmxl KEFDUElfU0lHX1NQQ1IsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0IGFj cGlfdGFibGVfaGVhZGVyICoqKSZzcGNyKTsKCmlmICggLi4uICkKCgo+ICsgICAgc3RhdHVzID0g YWNwaV9nZXRfdGFibGUoQUNQSV9TSUdfU1BDUiwgMCwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKiopJnNwY3IpOwo+ICsKPiArICAgIGlm ICggQUNQSV9GQUlMVVJFKHN0YXR1cykgKQo+ICsgICAgewo+ICsgICAgICAgIHByaW50aygibnMx NjU1MDogRmFpbGVkIHRvIGdldCBTUENSIHRhYmxlXG4iKTsKPiArICAgICAgICByZXR1cm4gLUVJ TlZBTDsKPiArICAgIH0KPiArCj4gKyAgICB1YXJ0LT5iYXVkICAgICAgPSBCQVVEX0FVVE87Cj4g KyAgICB1YXJ0LT5kYXRhX2JpdHMgPSA4Owo+ICsgICAgdWFydC0+cGFyaXR5ICAgID0gc3Bjci0+ cGFyaXR5Owo+ICsgICAgdWFydC0+c3RvcF9iaXRzID0gc3Bjci0+c3RvcF9iaXRzOwo+ICsgICAg dWFydC0+aW9fYmFzZSA9IHNwY3ItPnNlcmlhbF9wb3J0LmFkZHJlc3M7Cj4gKyAgICB1YXJ0LT5p cnEgPSBzcGNyLT5pbnRlcnJ1cHQ7Cj4gKyAgICB1YXJ0LT5yZWdfd2lkdGggPSBzcGNyLT5zZXJp YWxfcG9ydC5iaXRfd2lkdGggLyA4Owo+ICsgICAgdWFydC0+cmVnX3NoaWZ0ID0gMDsKPiArICAg IHVhcnQtPmlvX3NpemUgPSBVQVJUX01BWF9SRUcgPDwgdWFydC0+cmVnX3NoaWZ0OwoKWW91IHNl ZW0gdG8gYWxpZ24gc29tZSBvZiB0aGUgJz0nIGFib3ZlIGJ1dCBub3QgYWxsLCBwbGVhc2UgZG8g ZWl0aGVyCm9uZSwgYnV0IGNvbnNpc3RlbnRseS4KCj4gKwo+ICsgICAgaXJxX3NldF90eXBlKHNw Y3ItPmludGVycnVwdCwgc3Bjci0+aW50ZXJydXB0X3R5cGUpOwo+ICsKPiArICAgIHJldHVybiAw Owo+ICt9Cj4gKyNlbHNlCj4gK3N0YXRpYyBpbnQgbnMxNjU1MF9pbml0X2FjcGkoc3RydWN0IG5z MTY1NTAgKnVhcnQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAq ZGF0YSkKPiArewo+ICsgICAgcmV0dXJuIC1FSU5WQUw7Cj4gK30KPiArI2VuZGlmCj4gKwo+ICtz dGF0aWMgaW50IG5zMTY1NTBfdWFydF9pbml0KHN0cnVjdCBuczE2NTUwICoqcHVhcnQsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqZGF0YSwgYm9vbCBhY3BpKQo+ ICt7Cj4gKyAgICBzdHJ1Y3QgbnMxNjU1MCAqdWFydCA9ICZuczE2NTUwX2NvbVswXTsKPiArCj4g KyAgICAqcHVhcnQgPSB1YXJ0Owo+ICsKPiArICAgIG5zMTY1NTBfaW5pdF9jb21tb24odWFydCk7 Cj4gKwo+ICsgICAgcmV0dXJuICggYWNwaSApID8gbnMxNjU1MF9pbml0X2FjcGkodWFydCwgZGF0 YSkKICAgICAgICAgICAgICBeIHVubmVlZGVkIHBhcmVudGhlc2VzLgoKPiArICAgICAgICAgICAg ICAgICAgICA6IG5zMTY1NTBfaW5pdF9kdCh1YXJ0LCBkYXRhKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgbnMxNjU1MF92dWFydF9pbml0KHN0cnVjdCBuczE2NTUwICp1YXJ0KQo+ICt7Cj4gKyNp ZmRlZiBDT05GSUdfQVJNCj4gICAgICB1YXJ0LT52dWFydC5iYXNlX2FkZHIgPSB1YXJ0LT5pb19i YXNlOwo+ICAgICAgdWFydC0+dnVhcnQuc2l6ZSA9IHVhcnQtPmlvX3NpemU7Cj4gLSAgICB1YXJ0 LT52dWFydC5kYXRhX29mZiA9IFVBUlRfVEhSIDw8dWFydC0+cmVnX3NoaWZ0Owo+IC0gICAgdWFy dC0+dnVhcnQuc3RhdHVzX29mZiA9IFVBUlRfTFNSPDx1YXJ0LT5yZWdfc2hpZnQ7Cj4gLSAgICB1 YXJ0LT52dWFydC5zdGF0dXMgPSBVQVJUX0xTUl9USFJFfFVBUlRfTFNSX1RFTVQ7Cj4gKyAgICB1 YXJ0LT52dWFydC5kYXRhX29mZiA9IFVBUlRfVEhSIDw8IHVhcnQtPnJlZ19zaGlmdDsKPiArICAg IHVhcnQtPnZ1YXJ0LnN0YXR1c19vZmYgPSBVQVJUX0xTUiA8PCB1YXJ0LT5yZWdfc2hpZnQ7Cj4g KyAgICB1YXJ0LT52dWFydC5zdGF0dXMgPSBVQVJUX0xTUl9USFJFIHwgVUFSVF9MU1JfVEVNVDsK CllvdSBzaG91bGQgdHJ5IHRvIGF2b2lkIG1peGluZyBmdW5jdGlvbmFsIGNoYW5nZXMgd2l0aCBz dHlsZSBvbmVzLgpQbGVhc2Ugc3BsaXQgdGhpcyBpbnRvIGEgcHJlLXBhdGNoLgoKPiArI2VuZGlm Cj4gK30KPiAgCj4gK3N0YXRpYyB2b2lkIG5zMTY1NTBfcmVnaXN0ZXJfdWFydChzdHJ1Y3QgbnMx NjU1MCAqdWFydCkKPiArewo+ICAgICAgLyogUmVnaXN0ZXIgd2l0aCBnZW5lcmljIHNlcmlhbCBk cml2ZXIuICovCj4gICAgICBzZXJpYWxfcmVnaXN0ZXJfdWFydCh1YXJ0IC0gbnMxNjU1MF9jb20s ICZuczE2NTUwX2RyaXZlciwgdWFydCk7Cj4gK30KPiArCj4gKyNpZmRlZiBDT05GSUdfSEFTX0RF VklDRV9UUkVFCj4gK3N0YXRpYyBpbnQgX19pbml0IG5zMTY1NTBfdWFydF9kdF9pbml0KHN0cnVj dCBkdF9kZXZpY2Vfbm9kZSAqZGV2LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB2b2lkICpkYXRhKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgbnMxNjU1MCAqdWFy dDsKPiArICAgIGludCByZXQgPSAwOwoKTm8gbmVlZCB0byBpbml0aWFsaXplIHJldCwgb3IgYWx0 ZXJuYXRpdmVseSB5b3UgY2FuIGRvOgoKaW50IHJldCA9IG5zMTY1NTBfdWFydF9pbml0KCZ1YXJ0 LCBkZXYsIGZhbHNlKTsKCmlmICggcmV0ICkKLi4uCgo+ICsKPiArICAgIHJldCA9IG5zMTY1NTBf dWFydF9pbml0KCZ1YXJ0LCBkZXYsIGZhbHNlKTsKPiArICAgIGlmICggcmV0ICkKPiArICAgICAg ICByZXR1cm4gcmV0Owo+ICsKPiArICAgIG5zMTY1NTBfdnVhcnRfaW5pdCh1YXJ0KTsKPiArCj4g KyAgICBuczE2NTUwX3JlZ2lzdGVyX3VhcnQodWFydCk7Cj4gIAo+ICAgICAgZHRfZGV2aWNlX3Nl dF91c2VkX2J5KGRldiwgRE9NSURfWEVOKTsKPiAgCj4gLSAgICByZXR1cm4gMDsKPiArICAgIHJl dHVybiByZXQ7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX21hdGNo IG5zMTY1NTBfZHRfbWF0Y2hbXSBfX2luaXRjb25zdCA9Cj4gQEAgLTE1MzgsNiArMTYxOCwzNCBA QCBEVF9ERVZJQ0VfU1RBUlQobnMxNjU1MCwgIk5TMTY1NTAgVUFSVCIsIERFVklDRV9TRVJJQUwp Cj4gIERUX0RFVklDRV9FTkQKPiAgCj4gICNlbmRpZiAvKiBIQVNfREVWSUNFX1RSRUUgKi8KPiAr Cj4gKyNpZmRlZiBDT05GSUdfQUNQSQo+ICtzdGF0aWMgaW50IF9faW5pdCBuczE2NTUwX2FjcGlf dWFydF9pbml0KGNvbnN0IHZvaWQgKmRhdGEpCj4gK3sKPiArICAgIHN0cnVjdCBuczE2NTUwICp1 YXJ0Owo+ICsgICAgaW50IHJldCA9IDA7CgpTYW1lIGNvbW1lbnQgYXMgYWJvdmUuCgo+ICsgICAg cmV0ID0gbnMxNjU1MF91YXJ0X2luaXQoJnVhcnQsIGRhdGEsIHRydWUpOwo+ICsgICAgaWYgKCBy ZXQgKQo+ICsgICAgICAgIHJldHVybiByZXQ7Cj4gKwo+ICsgICAgbnMxNjU1MF92dWFydF9pbml0 KHVhcnQpOwo+ICsKPiArICAgIG5zMTY1NTBfcmVnaXN0ZXJfdWFydCh1YXJ0KTsKPiArCj4gKyAg ICByZXR1cm4gcmV0OwoKVGhpcyBpcyBhbHdheXMgcmV0dXJuIDAgYXQgdGhpcyBwb2ludC4KCj4g K30KPiArCj4gK0FDUElfREVWSUNFX1NUQVJUKG5zMTY1NTBjLCAiMTY1NTAgQ09NUEFUIFVBUlQi LCBERVZJQ0VfU0VSSUFMKQo+ICsgICAgICAgIC5jbGFzc190eXBlID0gQUNQSV9EQkcyXzE2NTUw X0NPTVBBVElCTEUsCj4gKyAgICAgICAgLmluaXQgPSBuczE2NTUwX2FjcGlfdWFydF9pbml0LAo+ ICtBQ1BJX0RFVklDRV9FTkQKPiArQUNQSV9ERVZJQ0VfU1RBUlQobnMxNjU1MHMsICIxNjU1MCBT VUJTRVQgVUFSVCIsIERFVklDRV9TRVJJQUwpCj4gKyAgICAgICAgLmNsYXNzX3R5cGUgPSBBQ1BJ X0RCRzJfMTY1NTBfU1VCU0VULAo+ICsgICAgICAgIC5pbml0ID0gbnMxNjU1MF9hY3BpX3VhcnRf aW5pdCwKPiArQUNQSV9ERVZJQ0VfRU5ECj4gKwo+ICsjZW5kaWYKPiAgLyoKPiAgICogTG9jYWwg dmFyaWFibGVzOgo+ICAgKiBtb2RlOiBDCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi84 MjUwLXVhcnQuaCBiL3hlbi9pbmNsdWRlL3hlbi84MjUwLXVhcnQuaAo+IGluZGV4IDVjM2JhYzMu LjFiM2UxMzcgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUveGVuLzgyNTAtdWFydC5oCj4gKysr IGIveGVuL2luY2x1ZGUveGVuLzgyNTAtdWFydC5oCj4gQEAgLTM1LDYgKzM1LDcgQEAKPiAgI2Rl ZmluZSBVQVJUX1VTUiAgICAgICAgICAweDFmICAgIC8qIFN0YXR1cyByZWdpc3RlciAoRFcpICov Cj4gICNkZWZpbmUgVUFSVF9ETEwgICAgICAgICAgMHgwMCAgICAvKiBkaXZpc29yIGxhdGNoIChs cykgKERMQUI9MSkgKi8KPiAgI2RlZmluZSBVQVJUX0RMTSAgICAgICAgICAweDAxICAgIC8qIGRp dmlzb3IgbGF0Y2ggKG1zKSAoRExBQj0xKSAqLwo+ICsjZGVmaW5lIFVBUlRfTUFYX1JFRyAgICAg IChVQVJUX1VTUiArIDEpCgpJdCBzZWVtcyB0byBtZSB0aGF0IHRoaXMgaXMgcmF0aGVyIFVBUlRf TlVNX1JFR1MsIFVBUlRfTUFYX1JFRyB3b3VsZApiZSBVQVJUX1VTUiBBRkFJQ1QuCgpUaGFua3Ms IFJvZ2VyLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==