From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v6 14/22] arm/acpi: Create min DT stub for Dom0 Date: Tue, 22 Mar 2016 01:07:41 +0000 Message-ID: <56F09ADD.3040203@arm.com> References: <1458207668-12012-1-git-send-email-zhaoshenglong@huawei.com> <1458207668-12012-15-git-send-email-zhaoshenglong@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458207668-12012-15-git-send-email-zhaoshenglong@huawei.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Shannon Zhao , xen-devel@lists.xen.org Cc: stefano.stabellini@citrix.com, shannon.zhao@linaro.org, peter.huangpeng@huawei.com List-Id: xen-devel@lists.xenproject.org CgpPbiAxNy8wMy8yMDE2IDA5OjQxLCBTaGFubm9uIFpoYW8gd3JvdGU6Cj4gRnJvbTogU2hhbm5v biBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KPgo+IENyZWF0ZSBhIERUIGZvciBEb20w IGZvciBBQ1BJLWNhc2Ugb25seS4gRFQgY29udGFpbnMgbWluaW1hbCByZXF1aXJlZAo+IGluZm9y bWF0aW9ucyBzdWNoIGFzIERvbTAgYm9vdGFyZ3MsIGluaXRyZCwgZWZpIGRlc2NyaXB0aW9uIHRh YmxlIGFuZAo+IGFkZHJlc3Mgb2YgdWVmaSBtZW1vcnkgdGFibGUuCj4KPiBBbHNvIHBvcnQgdGhl IGRvY3VtZW50IG9mIHRoaXMgZGV2aWNlIHRyZWUgYmluZGluZ3MgZnJvbSBMaW51eC4KClBvcnRp bmcgbWVhbnMgdGhlIGRvY3VtZW50IGFscmVhZHkgZXhpc3QgaW4gTGludXggYW5kIHRoZXJlZm9y ZSB0aGVyZSBpcyAKYSBjb21taXQgYXNzb2NpYXRlZC4KCkluIHRoaXMgY2FzZSwgdGhlIGRvY3Vt ZW50IGRpZG4ndCByZWFjaCBMaW51eCBhbmQgdGhpcyBzZXJpZXMgd2lsbCAKbGlrZWx5IHJlYWNo IHVwc3RyZWFtIGFuZCB0aGUgTGludXggb25lLgoKU28gSSB0aGluayB0aGlzIHNob3VsZCBiZSB0 aGUgb3RoZXIgd2F5IGFyb3VuZC4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBOYXJlc2ggQmhhdCA8bmFy ZXNoLmJoYXRAbGluYXJvLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBQYXJ0aCBEaXhpdCA8cGFydGgu ZGl4aXRAbGluYXJvLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8gPHNoYW5ub24u emhhb0BsaW5hcm8ub3JnPgo+IFJldmlld2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZh bm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgo+IC0tLQo+ICAgZG9jcy9taXNjL2FybS9kZXZp Y2UtdHJlZS91ZWZpLnR4dCB8ICA1OCArKysrKysrKysrKysrKysKPiAgIHhlbi9hcmNoL2FybS9k b21haW5fYnVpbGQuYyAgICAgICAgfCAxNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ICAgeGVuL2FyY2gvYXJtL2VmaS9lZmktZG9tMC5jICAgICAgICB8ICA0OCArKysr KysrKysrKysrCj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggICAgICAgIHwgICAyICsK PiAgIDQgZmlsZXMgY2hhbmdlZCwgMjUxIGluc2VydGlvbnMoKykKPiAgIGNyZWF0ZSBtb2RlIDEw MDY0NCBkb2NzL21pc2MvYXJtL2RldmljZS10cmVlL3VlZmkudHh0Cj4KPiBkaWZmIC0tZ2l0IGEv ZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS91ZWZpLnR4dCBiL2RvY3MvbWlzYy9hcm0vZGV2aWNl LXRyZWUvdWVmaS50eHQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjQx YThiZTAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS91 ZWZpLnR4dAoKTG9va2luZyBhdCB0aGUgY29udGVudCwgdGhpcyBmaWxlIGRlc2NyaWJlIHRoZSBi aW5kaW5ncyB0byBub3RpZnkgdGhlIAprZXJuZWwgdGhhdCBpdCBydW5zIG9uIFhlbi4gVGhpcyBp cyBub3QgVUVGSSBzcGVjaWZpYy4KClNvIGd1ZXN0LnR4dCB3b3VsZCBiZSBhIGJldHRlciBuYW1l LgoKPiBAQCAtMCwwICsxLDU4IEBACj4gKyogWGVuIGh5cGVydmlzb3IgZGV2aWNlIHRyZWUgYmlu ZGluZ3MKPiArCj4gK1hlbiBBUk0gdmlydHVhbCBwbGF0Zm9ybXMgc2hhbGwgaGF2ZSBhIHRvcC1s ZXZlbCAiaHlwZXJ2aXNvciIgbm9kZSB3aXRoCj4gK3RoZSBmb2xsb3dpbmcgcHJvcGVydGllczoK PiArCj4gKy0gY29tcGF0aWJsZToKPiArCWNvbXBhdGlibGUgPSAieGVuLHhlbi08dmVyc2lvbj4i LCAieGVuLHhlbiI7Cj4gKyAgd2hlcmUgPHZlcnNpb24+IGlzIHRoZSB2ZXJzaW9uIG9mIHRoZSBY ZW4gQUJJIG9mIHRoZSBwbGF0Zm9ybS4KPiArCj4gKy0gcmVnOiBzcGVjaWZpZXMgdGhlIGJhc2Ug cGh5c2ljYWwgYWRkcmVzcyBhbmQgc2l6ZSBvZiBhIHJlZ2lvbiBpbgo+ICsgIG1lbW9yeSB3aGVy ZSB0aGUgZ3JhbnQgdGFibGUgc2hvdWxkIGJlIG1hcHBlZCB0bywgdXNpbmcgYW4KPiArICBIWVBF UlZJU09SX21lbW9yeV9vcCBoeXBlcmNhbGwuIFRoZSBtZW1vcnkgcmVnaW9uIGlzIGxhcmdlIGVu b3VnaCB0byBtYXAKPiArICB0aGUgd2hvbGUgZ3JhbnQgdGFibGUgKGl0IGlzIGxhcmdlciBvciBl cXVhbCB0byBnbnR0YWJfbWF4X2dyYW50X2ZyYW1lcygpKS4KPiArCj4gKy0gaW50ZXJydXB0czog dGhlIGludGVycnVwdCB1c2VkIGJ5IFhlbiB0byBpbmplY3QgZXZlbnQgbm90aWZpY2F0aW9ucy4K PiArICBBIEdJQyBub2RlIGlzIGFsc28gcmVxdWlyZWQuCgpUaGUgcHJvcGVydGllcyAicmVnIiBh bmQgImludGVycnVwdHMiIGFyZSBub3QgY3JlYXRlZCBieSBYZW4gd2hlbiB1c2luZyAKQUNQSS4g SG93ZXZlciwgYmFzZWQgb24gdGhlIGJpbmRpbmdzIGRlc2NyaXB0aW9uIHRoZXkgYXJlIG1hbmRh dG9yeS4KClBsZWFzZSB1cGRhdGUgdGhlIGRlc2NyaXB0aW9uIHRvIHJlZmxlY3QgdGhhdCB0aGUg cHJvcGVydGllcyBkb2Vzbid0IApleGlzdCB3aGVuIGJvb3RpbmcgdXNpbmcgQUNQSS4KCj4gKwo+ ICtUbyBzdXBwb3J0IFVFRkkgb24gWGVuIEFSTSB2aXJ0dWFsIHBsYXRmb3JtcywgWGVuIHBvcHVs YXRlcyB0aGUgRkRUICJ1ZWZpIiBub2RlCj4gK3VuZGVyIC9oeXBlcnZpc29yIHdpdGggZm9sbG93 aW5nIHBhcmFtZXRlcnM6Cj4gKwo+ICtfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICtOYW1lICAg ICAgICAgICAgICAgICAgICAgIHwgU2l6ZSAgIHwgRGVzY3JpcHRpb24KPiArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KPiAreGVuLHVlZmktc3lzdGVtLXRhYmxlICAgICB8IDY0LWJpdCB8IEd1ZXN0 IHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIFVFRkkgU3lzdGVtCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgfCBUYWJsZS4KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAr eGVuLHVlZmktbW1hcC1zdGFydCAgICAgICB8IDY0LWJpdCB8IEd1ZXN0IHBoeXNpY2FsIGFkZHJl c3Mgb2YgdGhlIFVFRkkgbWVtb3J5Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgfCBtYXAuCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gK3hlbix1ZWZpLW1tYXAtc2l6 ZSAgICAgICAgfCAzMi1iaXQgfCBTaXplIGluIGJ5dGVzIG9mIHRoZSBVRUZJIG1lbW9yeSBtYXAK PiArICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IHBvaW50ZWQgdG8gaW4gcHJl dmlvdXMgZW50cnkuCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gK3hlbix1ZWZpLW1tYXAt ZGVzYy1zaXplICAgfCAzMi1iaXQgfCBTaXplIGluIGJ5dGVzIG9mIGVhY2ggZW50cnkgaW4gdGhl IFVFRkkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IG1lbW9yeSBtYXAu Cj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gK3hlbix1ZWZpLW1tYXAtZGVzYy12ZXIgICAg fCAzMi1iaXQgfCBWZXJzaW9uIG9mIHRoZSBtbWFwIGRlc2NyaXB0b3IgZm9ybWF0Lgo+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArRXhhbXBsZSAoYXNzdW1pbmcgI2FkZHJlc3MtY2Vs bHMgPSA8Mj4gYW5kICNzaXplLWNlbGxzID0gPDI+KToKPiArCj4gK2h5cGVydmlzb3Igewo+ICsJ Y29tcGF0aWJsZSA9ICJ4ZW4seGVuLTQuMyIsICJ4ZW4seGVuIjsKPiArCXJlZyA9IDwwIDB4YjAw MDAwMDAgMCAweDIwMDAwPjsKPiArCWludGVycnVwdHMgPSA8MSAxNSAweGYwOD47Cj4gKwl1ZWZp IHsKPiArCQl4ZW4sdWVmaS1zeXN0ZW0tdGFibGUgPSA8MHhYWFhYWFhYWD47Cj4gKwkJeGVuLHVl ZmktbW1hcC1zdGFydCA9IDwweFhYWFhYWFhYPjsKPiArCQl4ZW4sdWVmaS1tbWFwLXNpemUgPSA8 MHhYWFhYWFhYWD47Cj4gKwkJeGVuLHVlZmktbW1hcC1kZXNjLXNpemUgPSA8MHhYWFhYWFhYWD47 Cj4gKwkJeGVuLHVlZmktbW1hcC1kZXNjLXZlciA9IDwweFhYWFhYWFhYPjsKPiArICAgICAgICB9 Owo+ICt9Owo+ICsKPiArVGhlIGZvcm1hdCBhbmQgbWVhbmluZyBvZiB0aGUgInhlbix1ZWZpLSoi IHBhcmFtZXRlcnMgYXJlIHNpbWlsYXIgdG8gdGhvc2UgaW4KPiArRG9jdW1lbnRhdGlvbi9hcm0v dWVmaS50eHQgaW4gTGludXgsIHdoaWNoIGFyZSBwcm92aWRlZCBieSB0aGUgcmVndWxhciBMaW51 eAo+ICtVRUZJIHN0dWIuIEhvd2V2ZXIgdGhleSBkaWZmZXIgYmVjYXVzZSB0aGV5IGFyZSBwcm92 aWRlZCBieSB0aGUgWGVuIGh5cGVydmlzb3IsCj4gK3RvZ2V0aGVyIHdpdGggYSBzZXQgb2YgVUVG SSBydW50aW1lIHNlcnZpY2VzIGltcGxlbWVudGVkIHZpYSBoeXBlcmNhbGxzLCBzZWUKPiAreGVu L2luY2x1ZGUvcHVibGljL3BsYXRmb3JtLmguCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9k b21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+IGluZGV4IGUwMzY4 ODcuLjY3MjZlNDUgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4g KysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4gQEAgLTEzNTcsNiArMTM1NywxNDUg QEAgc3RhdGljIGludCBwcmVwYXJlX2R0YihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVs X2luZm8gKmtpbmZvKQo+ICAgfQo+Cj4gICAjaWZkZWYgQ09ORklHX0FDUEkKPiArI2RlZmluZSBB Q1BJX0RPTTBfRkRUX01JTl9TSVpFIDQwOTYKPiArCj4gK3N0YXRpYyBpbnQgbWFrZV9jaG9zZW5f bm9kZShjb25zdCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAoKUGxlYXNlIHByZWZpeCBpdCB3 aXRoIGFjcGlfIHRvIG1ha2UgY2xlYXIgaXQncyBBQ1BJIHNwZWNpZmljLgoKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKCldoeSBkbyB5b3Ug cGFzcyB0YmxfYWRkIGhlcmU/IFlvdSBkb24ndCB1c2UgaXQgd2l0aGluIHRoZSBmdW5jdGlvbi4K Cj4gK3sKPiArICAgIGludCByZXM7Cj4gKyAgICBjb25zdCBjaGFyICpib290YXJncyA9IE5VTEw7 Cj4gKyAgICBjb25zdCBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9kID0ga2luZm8tPmtlcm5lbF9ib290 bW9kdWxlOwo+ICsgICAgdm9pZCAqZmR0ID0ga2luZm8tPmZkdDsKPiArCj4gKyAgICBEUFJJTlQo IkNyZWF0ZSBjaG9zZW4gbm9kZVxuIik7Cj4gKyAgICByZXMgPSBmZHRfYmVnaW5fbm9kZShmZHQs ICJjaG9zZW4iKTsKPiArICAgIGlmICggcmVzICkKPiArICAgICAgICByZXR1cm4gcmVzOwo+ICsK PiArICAgIGlmICggbW9kICYmIG1vZC0+Y21kbGluZVswXSApCj4gKyAgICB7Cj4gKyAgICAgICAg Ym9vdGFyZ3MgPSAmbW9kLT5jbWRsaW5lWzBdOwo+ICsgICAgICAgIHJlcyA9IGZkdF9wcm9wZXJ0 eShmZHQsICJib290YXJncyIsIGJvb3RhcmdzLCBzdHJsZW4oYm9vdGFyZ3MpICsgMSk7Cj4gKyAg ICAgICAgaWYgKCByZXMgKQo+ICsgICAgICAgICAgIHJldHVybiByZXM7Cj4gKyAgICB9Cj4gKwo+ ICsgICAgLyoKPiArICAgICAqIElmIHRoZSBib290bG9hZGVyIHByb3ZpZGVzIGFuIGluaXRyZCwg d2UgbXVzdCBjcmVhdGUgYSBwbGFjZWhvbGRlcgo+ICsgICAgICogZm9yIHRoZSBpbml0cmQgcHJv cGVydGllcy4gVGhlIHZhbHVlcyB3aWxsIGJlIHJlcGxhY2VkIGxhdGVyLgo+ICsgICAgICovCj4g KyAgICBpZiAoIG1vZCAmJiBtb2QtPnNpemUgKQo+ICsgICAgewo+ICsgICAgICAgIHU2NCBhID0g MDsKPiArICAgICAgICByZXMgPSBmZHRfcHJvcGVydHkoa2luZm8tPmZkdCwgImxpbnV4LGluaXRy ZC1zdGFydCIsICZhLCBzaXplb2YoYSkpOwo+ICsgICAgICAgIGlmICggcmVzICkKPiArICAgICAg ICAgICAgcmV0dXJuIHJlczsKPiArCj4gKyAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5KGtpbmZv LT5mZHQsICJsaW51eCxpbml0cmQtZW5kIiwgJmEsIHNpemVvZihhKSk7Cj4gKyAgICAgICAgaWYg KCByZXMgKQo+ICsgICAgICAgICAgICByZXR1cm4gcmVzOwo+ICsgICAgfQo+ICsKPiArICAgIHJl cyA9IGZkdF9lbmRfbm9kZShmZHQpOwo+ICsKPiArICAgIHJldHVybiByZXM7Cj4gK30KClsuLi5d Cgo+IEBAIC0xNzA2LDYgKzE4NDUsMTAgQEAgc3RhdGljIGludCBwcmVwYXJlX2FjcGkoc3RydWN0 IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbykKPiAgICAgICAgICAgcmV0dXJu IHJjOwo+ICAgICAgIH0KPgo+ICsgICAgcmMgPSBjcmVhdGVfYWNwaV9kdGIoa2luZm8sIHRibF9h ZGQpOwo+ICsgICAgaWYgKCByYyAhPSAwICkKPiArICAgICAgICByZXR1cm4gcmM7Cj4gKwo+ICAg ICAgIHJldHVybiAwOwo+ICAgfQo+ICAgI2Vsc2UKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt L2VmaS9lZmktZG9tMC5jIGIveGVuL2FyY2gvYXJtL2VmaS9lZmktZG9tMC5jCj4gaW5kZXggM2Zm ZGU5NC4uNjg4ZmE4YiAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1kb20wLmMK PiArKysgYi94ZW4vYXJjaC9hcm0vZWZpL2VmaS1kb20wLmMKPiBAQCAtMjQsNiArMjQsNyBAQAo+ ICAgI2luY2x1ZGUgImVmaS5oIgo+ICAgI2luY2x1ZGUgImVmaS1kb20wLmgiCj4gICAjaW5jbHVk ZSA8eGVuL3Bmbi5oPgo+ICsjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4KPiAgICNpbmNs dWRlIDxhc20vc2V0dXAuaD4KPiAgICNpbmNsdWRlIDxhc20vYWNwaS5oPgo+Cj4gQEAgLTEzMiwz ICsxMzMsNTAgQEAgdm9pZCBfX2luaXQgYWNwaV9jcmVhdGVfZWZpX21tYXBfdGFibGUocGFkZHJf dCBwYWRkciwgcGFkZHJfdCBzaXplLAo+ICAgICAgIHRibF9hZGRbVEJMX01NQVBdLnNpemUgPSBz aXplb2YoRUZJX01FTU9SWV9ERVNDUklQVE9SKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqIChtZW0tPm5yX2JhbmtzICsgYWNwaV9tZW0ubnJfYmFua3MgKyAxKTsKPiAgIH0KPiAr Cj4gKy8qIENyZWF0ZSBwbGFjZSBob2xkZXIgZm9yIGVmaSB2YWx1ZXMuICovCgpQbGFjZWhvbGRl ciBtZWFucyB3ZSB3aWxsIGNyZWF0ZSBhbiBlbXB0eSBzcGFjZSBhbmQgcmVwbGFjZSBieSBwcm9w ZXIgCnZhbHVlcyBsYXRlci4KCkhvd2V2ZXIsIHlvdSBkaXJlY3RseSBjcmVhdGUgdGhlIHByb3Bl cnRpZXMgd2l0aCBwcm9wZXIgdmFsdWVzLgoKPiAraW50IF9faW5pdCBhcm1fYWNwaV9tYWtlX2Vm aV9ub2Rlcyh2b2lkICpmZHQsIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKCkl0J3Mgb2RkIHRv IGhhdmUgdGhpcyBmdW5jdGlvbiBpbiBlZmktZG9tMC5jLiBXZSB3YW50IHRvIGtlZXAgYWxsIHRo ZSAKZGV2aWNlIHRyZWUgY3JlYXRpb24gdG9nZXRoZXIuCgpBbHNvLCB0byBzdGF5IGNvbnNpc3Rl bnQgd2l0aCB0aGUgb3RoZXIgbmFtZS4gUGxlYXNlIHJlbmFtZSB0aGUgZnVuY3Rpb24gCmludG8g YWNwaV9tYWtlX2VmaV9ub2Rlcy4KCj4gK3sKPiArICAgIHU2NCBmZHRfdmFsNjQ7Cj4gKyAgICB1 MzIgZmR0X3ZhbDMyOwo+ICsgICAgaW50IGRlc2NfdmVyID0gMTsKPiArICAgIGludCByZXM7Cj4g Kwo+ICsgICAgcmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCAidWVmaSIpOwo+ICsgICAgaWYgKCBy ZXMgKQo+ICsgICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgZmR0X3ZhbDY0ID0gY3B1X3Rv X2ZkdDY0KHRibF9hZGRbVEJMX0VGSVRdLnN0YXJ0KTsKPiArICAgIHJlcyA9IGZkdF9wcm9wZXJ0 eShmZHQsICJ4ZW4sdWVmaS1zeXN0ZW0tdGFibGUiLAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICZmZHRfdmFsNjQsIHNpemVvZihmZHRfdmFsNjQpKTsKClRob3NlIHR3byBsaW5lcyBjb3VsZCBi ZSByZXBsYWNlZCBieSBmZHRfcHJvcGVydHlfdTY0LgoKPiArICAgIGlmICggcmVzICkKPiArICAg ICAgICByZXR1cm4gcmVzOwo+ICsKPiArICAgIGZkdF92YWw2NCA9IGNwdV90b19mZHQ2NCh0Ymxf YWRkW1RCTF9NTUFQXS5zdGFydCk7Cj4gKyAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAieGVu LHVlZmktbW1hcC1zdGFydCIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJmZkdF92YWw2NCwg IHNpemVvZihmZHRfdmFsNjQpKTsKCkRpdHRvCgo+ICsgICAgaWYgKCByZXMgKQo+ICsgICAgICAg IHJldHVybiByZXM7Cj4gKwo+ICsgICAgZmR0X3ZhbDMyID0gY3B1X3RvX2ZkdDMyKHRibF9hZGRb VEJMX01NQVBdLnNpemUpOwo+ICsgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwgInhlbix1ZWZp LW1tYXAtc2l6ZSIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJmZkdF92YWwzMiwgIHNpemVv ZihmZHRfdmFsMzIpKTsKCkhlcmUgYnkgZmR0X3Byb3BlcnR5X3UzMi4KCj4gKyAgICBpZiAoIHJl cyApCj4gKyAgICAgICAgcmV0dXJuIHJlczsKPiArCj4gKyAgICBmZHRfdmFsMzIgPSBjcHVfdG9f ZmR0MzIoc2l6ZW9mKEVGSV9NRU1PUllfREVTQ1JJUFRPUikpOwo+ICsgICAgcmVzID0gZmR0X3By b3BlcnR5KGZkdCwgInhlbix1ZWZpLW1tYXAtZGVzYy1zaXplIiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICZmZHRfdmFsMzIsIHNpemVvZihmZHRfdmFsMzIpKTsKCkRpdHRvCgo+ICsgICAg aWYgKCByZXMgKQo+ICsgICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgZmR0X3ZhbDMyID0g Y3B1X3RvX2ZkdDMyKGRlc2NfdmVyKTsKPiArICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJ4 ZW4sdWVmaS1tbWFwLWRlc2MtdmVyIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICZmZHRf dmFsMzIsIHNpemVvZihmZHRfdmFsMzIpKTsKCkRpdHRvCgo+ICsgICAgaWYgKCByZXMgKQo+ICsg ICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgcmVzID0gZmR0X2VuZF9ub2RlKGZkdCk7Cj4g Kwo+ICsgICAgcmV0dXJuIHJlczsKPiArfQo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20t YXJtL3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKPiBpbmRleCBiMjg5OWYy Li4wNWYwMjEwIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAo+ICsr KyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAo+IEBAIC02MSw2ICs2MSw4IEBAIHZvaWQg YWNwaV9jcmVhdGVfZWZpX21tYXBfdGFibGUocGFkZHJfdCBwYWRkciwgcGFkZHJfdCBzaXplLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWVtaW5mbyAq bWVtLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWVtYmFuayB0 YmxfYWRkW10pOwo+Cj4gK2ludCBhcm1fYWNwaV9tYWtlX2VmaV9ub2Rlcyh2b2lkICpmZHQsIHN0 cnVjdCBtZW1iYW5rIHRibF9hZGRbXSk7Cj4gKwo+ICAgaW50IGNvbnN0cnVjdF9kb20wKHN0cnVj dCBkb21haW4gKmQpOwo+Cj4gICB2b2lkIGRpc2NhcmRfaW5pdGlhbF9tb2R1bGVzKHZvaWQpOwo+ CgpSZWdhcmRzLAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK