From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v5 14/22] arm/acpi: Create min DT stub for Dom0 Date: Fri, 4 Mar 2016 11:17:08 +0000 Message-ID: References: <1457072152-16128-1-git-send-email-zhaoshenglong@huawei.com> <1457072152-16128-15-git-send-email-zhaoshenglong@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457072152-16128-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 Cc: hangaohuai@huawei.com, stefano.stabellini@citrix.com, shannon.zhao@linaro.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gRnJpLCA0IE1hciAyMDE2LCBTaGFubm9uIFpoYW8gd3JvdGU6Cj4gRnJvbTogU2hhbm5vbiBa aGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KPiAKPiBDcmVhdGUgYSBEVCBmb3IgRG9tMCBm b3IgQUNQSS1jYXNlIG9ubHkuIERUIGNvbnRhaW5zIG1pbmltYWwgcmVxdWlyZWQKPiBpbmZvcm1h dGlvbnMgc3VjaCBhcyBEb20wIGJvb3RhcmdzLCBpbml0cmQsIGVmaSBkZXNjcmlwdGlvbiB0YWJs ZSBhbmQKPiBhZGRyZXNzIG9mIHVlZmkgbWVtb3J5IHRhYmxlLgo+IAo+IEFsc28gcG9ydCB0aGUg ZG9jdW1lbnQgb2YgdGhpcyBkZXZpY2UgdHJlZSBiaW5kaW5ncyBmcm9tIExpbnV4Lgo+IAo+IFNp Z25lZC1vZmYtYnk6IE5hcmVzaCBCaGF0IDxuYXJlc2guYmhhdEBsaW5hcm8ub3JnPgo+IFNpZ25l ZC1vZmYtYnk6IFBhcnRoIERpeGl0IDxwYXJ0aC5kaXhpdEBsaW5hcm8ub3JnPgo+IFNpZ25lZC1v ZmYtYnk6IFNoYW5ub24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFyby5vcmc+Cj4gLS0tCj4gdjU6 IGNoYW5nZSB0aGUgZmlsZSBuYW1lCgpSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxz dGVmYW5vLnN0YWJlbGxpbmlAZXUuY2l0cml4LmNvbT4KCgo+ICBkb2NzL21pc2MvYXJtL2Rldmlj ZS10cmVlL3VlZmkudHh0IHwgIDU4ICsrKysrKysrKysrKysrKwo+ICB4ZW4vYXJjaC9hcm0vZG9t YWluX2J1aWxkLmMgICAgICAgIHwgMTQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgeGVuL2FyY2gvYXJtL2VmaS9lZmktZG9tMC5jICAgICAgICB8ICA0OCArKysrKysr KysrKysrCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaCAgICAgICAgfCAgIDIgKwo+ICA0 IGZpbGVzIGNoYW5nZWQsIDI1MSBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk b2NzL21pc2MvYXJtL2RldmljZS10cmVlL3VlZmkudHh0Cj4gCj4gZGlmZiAtLWdpdCBhL2RvY3Mv bWlzYy9hcm0vZGV2aWNlLXRyZWUvdWVmaS50eHQgYi9kb2NzL21pc2MvYXJtL2RldmljZS10cmVl L3VlZmkudHh0Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi40MWE4YmUw Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvdWVmaS50 eHQKPiBAQCAtMCwwICsxLDU4IEBACj4gKyogWGVuIGh5cGVydmlzb3IgZGV2aWNlIHRyZWUgYmlu ZGluZ3MKPiArCj4gK1hlbiBBUk0gdmlydHVhbCBwbGF0Zm9ybXMgc2hhbGwgaGF2ZSBhIHRvcC1s ZXZlbCAiaHlwZXJ2aXNvciIgbm9kZSB3aXRoCj4gK3RoZSBmb2xsb3dpbmcgcHJvcGVydGllczoK PiArCj4gKy0gY29tcGF0aWJsZToKPiArCWNvbXBhdGlibGUgPSAieGVuLHhlbi08dmVyc2lvbj4i LCAieGVuLHhlbiI7Cj4gKyAgd2hlcmUgPHZlcnNpb24+IGlzIHRoZSB2ZXJzaW9uIG9mIHRoZSBY ZW4gQUJJIG9mIHRoZSBwbGF0Zm9ybS4KPiArCj4gKy0gcmVnOiBzcGVjaWZpZXMgdGhlIGJhc2Ug cGh5c2ljYWwgYWRkcmVzcyBhbmQgc2l6ZSBvZiBhIHJlZ2lvbiBpbgo+ICsgIG1lbW9yeSB3aGVy ZSB0aGUgZ3JhbnQgdGFibGUgc2hvdWxkIGJlIG1hcHBlZCB0bywgdXNpbmcgYW4KPiArICBIWVBF UlZJU09SX21lbW9yeV9vcCBoeXBlcmNhbGwuIFRoZSBtZW1vcnkgcmVnaW9uIGlzIGxhcmdlIGVu b3VnaCB0byBtYXAKPiArICB0aGUgd2hvbGUgZ3JhbnQgdGFibGUgKGl0IGlzIGxhcmdlciBvciBl cXVhbCB0byBnbnR0YWJfbWF4X2dyYW50X2ZyYW1lcygpKS4KPiArCj4gKy0gaW50ZXJydXB0czog dGhlIGludGVycnVwdCB1c2VkIGJ5IFhlbiB0byBpbmplY3QgZXZlbnQgbm90aWZpY2F0aW9ucy4K PiArICBBIEdJQyBub2RlIGlzIGFsc28gcmVxdWlyZWQuCj4gKwo+ICtUbyBzdXBwb3J0IFVFRkkg b24gWGVuIEFSTSB2aXJ0dWFsIHBsYXRmb3JtcywgWGVuIHBvcHVsYXRlcyB0aGUgRkRUICJ1ZWZp IiBub2RlCj4gK3VuZGVyIC9oeXBlcnZpc29yIHdpdGggZm9sbG93aW5nIHBhcmFtZXRlcnM6Cj4g Kwo+ICtfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICtOYW1lICAgICAgICAgICAgICAgICAgICAg IHwgU2l6ZSAgIHwgRGVzY3JpcHRpb24KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAreGVu LHVlZmktc3lzdGVtLXRhYmxlICAgICB8IDY0LWJpdCB8IEd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mg b2YgdGhlIFVFRkkgU3lzdGVtCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg fCBUYWJsZS4KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAreGVuLHVlZmktbW1hcC1zdGFy dCAgICAgICB8IDY0LWJpdCB8IEd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIFVFRkkgbWVt b3J5Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCBtYXAuCj4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gK3hlbix1ZWZpLW1tYXAtc2l6ZSAgICAgICAgfCAzMi1iaXQg fCBTaXplIGluIGJ5dGVzIG9mIHRoZSBVRUZJIG1lbW9yeSBtYXAKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAgICB8IHBvaW50ZWQgdG8gaW4gcHJldmlvdXMgZW50cnkuCj4gKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gK3hlbix1ZWZpLW1tYXAtZGVzYy1zaXplICAgfCAzMi1i aXQgfCBTaXplIGluIGJ5dGVzIG9mIGVhY2ggZW50cnkgaW4gdGhlIFVFRkkKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICB8IG1lbW9yeSBtYXAuCj4gKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gK3hlbix1ZWZpLW1tYXAtZGVzYy12ZXIgICAgfCAzMi1iaXQgfCBWZXJzaW9u IG9mIHRoZSBtbWFwIGRlc2NyaXB0b3IgZm9ybWF0Lgo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICsKPiArRXhhbXBsZSAoYXNzdW1pbmcgI2FkZHJlc3MtY2VsbHMgPSA8Mj4gYW5kICNzaXpl LWNlbGxzID0gPDI+KToKPiArCj4gK2h5cGVydmlzb3Igewo+ICsJY29tcGF0aWJsZSA9ICJ4ZW4s eGVuLTQuMyIsICJ4ZW4seGVuIjsKPiArCXJlZyA9IDwwIDB4YjAwMDAwMDAgMCAweDIwMDAwPjsK PiArCWludGVycnVwdHMgPSA8MSAxNSAweGYwOD47Cj4gKwl1ZWZpIHsKPiArCQl4ZW4sdWVmaS1z eXN0ZW0tdGFibGUgPSA8MHhYWFhYWFhYWD47Cj4gKwkJeGVuLHVlZmktbW1hcC1zdGFydCA9IDww eFhYWFhYWFhYPjsKPiArCQl4ZW4sdWVmaS1tbWFwLXNpemUgPSA8MHhYWFhYWFhYWD47Cj4gKwkJ eGVuLHVlZmktbW1hcC1kZXNjLXNpemUgPSA8MHhYWFhYWFhYWD47Cj4gKwkJeGVuLHVlZmktbW1h cC1kZXNjLXZlciA9IDwweFhYWFhYWFhYPjsKPiArICAgICAgICB9Owo+ICt9Owo+ICsKPiArVGhl IGZvcm1hdCBhbmQgbWVhbmluZyBvZiB0aGUgInhlbix1ZWZpLSoiIHBhcmFtZXRlcnMgYXJlIHNp bWlsYXIgdG8gdGhvc2UgaW4KPiArRG9jdW1lbnRhdGlvbi9hcm0vdWVmaS50eHQgaW4gTGludXgs IHdoaWNoIGFyZSBwcm92aWRlZCBieSB0aGUgcmVndWxhciBMaW51eAo+ICtVRUZJIHN0dWIuIEhv d2V2ZXIgdGhleSBkaWZmZXIgYmVjYXVzZSB0aGV5IGFyZSBwcm92aWRlZCBieSB0aGUgWGVuIGh5 cGVydmlzb3IsCj4gK3RvZ2V0aGVyIHdpdGggYSBzZXQgb2YgVUVGSSBydW50aW1lIHNlcnZpY2Vz IGltcGxlbWVudGVkIHZpYSBoeXBlcmNhbGxzLCBzZWUKPiAreGVuL2luY2x1ZGUvcHVibGljL3Bs YXRmb3JtLmguCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hl bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+IGluZGV4IGUwMzY4ODcuLjY3MjZlNDUgMTAwNjQ0 Cj4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4gKysrIGIveGVuL2FyY2gvYXJt L2RvbWFpbl9idWlsZC5jCj4gQEAgLTEzNTcsNiArMTM1NywxNDUgQEAgc3RhdGljIGludCBwcmVw YXJlX2R0YihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICB9 Cj4gIAo+ICAjaWZkZWYgQ09ORklHX0FDUEkKPiArI2RlZmluZSBBQ1BJX0RPTTBfRkRUX01JTl9T SVpFIDQwOTYKPiArCj4gK3N0YXRpYyBpbnQgbWFrZV9jaG9zZW5fbm9kZShjb25zdCBzdHJ1Y3Qg a2VybmVsX2luZm8gKmtpbmZvLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IG1lbWJhbmsgdGJsX2FkZFtdKQo+ICt7Cj4gKyAgICBpbnQgcmVzOwo+ICsgICAgY29uc3QgY2hh ciAqYm9vdGFyZ3MgPSBOVUxMOwo+ICsgICAgY29uc3Qgc3RydWN0IGJvb3Rtb2R1bGUgKm1vZCA9 IGtpbmZvLT5rZXJuZWxfYm9vdG1vZHVsZTsKPiArICAgIHZvaWQgKmZkdCA9IGtpbmZvLT5mZHQ7 Cj4gKwo+ICsgICAgRFBSSU5UKCJDcmVhdGUgY2hvc2VuIG5vZGVcbiIpOwo+ICsgICAgcmVzID0g ZmR0X2JlZ2luX25vZGUoZmR0LCAiY2hvc2VuIik7Cj4gKyAgICBpZiAoIHJlcyApCj4gKyAgICAg ICAgcmV0dXJuIHJlczsKPiArCj4gKyAgICBpZiAoIG1vZCAmJiBtb2QtPmNtZGxpbmVbMF0gKQo+ ICsgICAgewo+ICsgICAgICAgIGJvb3RhcmdzID0gJm1vZC0+Y21kbGluZVswXTsKPiArICAgICAg ICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAiYm9vdGFyZ3MiLCBib290YXJncywgc3RybGVuKGJv b3RhcmdzKSArIDEpOwo+ICsgICAgICAgIGlmICggcmVzICkKPiArICAgICAgICAgICByZXR1cm4g cmVzOwo+ICsgICAgfQo+ICsKPiArICAgIC8qCj4gKyAgICAgKiBJZiB0aGUgYm9vdGxvYWRlciBw cm92aWRlcyBhbiBpbml0cmQsIHdlIG11c3QgY3JlYXRlIGEgcGxhY2Vob2xkZXIKPiArICAgICAq IGZvciB0aGUgaW5pdHJkIHByb3BlcnRpZXMuIFRoZSB2YWx1ZXMgd2lsbCBiZSByZXBsYWNlZCBs YXRlci4KPiArICAgICAqLwo+ICsgICAgaWYgKCBtb2QgJiYgbW9kLT5zaXplICkKPiArICAgIHsK PiArICAgICAgICB1NjQgYSA9IDA7Cj4gKyAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5KGtpbmZv LT5mZHQsICJsaW51eCxpbml0cmQtc3RhcnQiLCAmYSwgc2l6ZW9mKGEpKTsKPiArICAgICAgICBp ZiAoIHJlcyApCj4gKyAgICAgICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgICAgIHJlcyA9 IGZkdF9wcm9wZXJ0eShraW5mby0+ZmR0LCAibGludXgsaW5pdHJkLWVuZCIsICZhLCBzaXplb2Yo YSkpOwo+ICsgICAgICAgIGlmICggcmVzICkKPiArICAgICAgICAgICAgcmV0dXJuIHJlczsKPiAr ICAgIH0KPiArCj4gKyAgICByZXMgPSBmZHRfZW5kX25vZGUoZmR0KTsKPiArCj4gKyAgICByZXR1 cm4gcmVzOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGFjcGlfbWFrZV9oeXBlcnZpc29yX25vZGUo Y29uc3Qgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbywKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKPiArewo+ICsgICAgY29u c3QgY2hhciBjb21wYXRbXSA9Cj4gKyAgICAgICAgInhlbix4ZW4tIl9fc3RyaW5naWZ5KFhFTl9W RVJTSU9OKSIuIl9fc3RyaW5naWZ5KFhFTl9TVUJWRVJTSU9OKSJcMCIKPiArICAgICAgICAieGVu LHhlbiI7Cj4gKyAgICBpbnQgcmVzOwo+ICsgICAgLyogQ29udmVuaWVuY2UgYWxpYXMgKi8KPiAr ICAgIHZvaWQgKmZkdCA9IGtpbmZvLT5mZHQ7Cj4gKwo+ICsgICAgRFBSSU5UKCJDcmVhdGUgaHlw ZXJ2aXNvciBub2RlXG4iKTsKPiArCj4gKyAgICAvKiBTZWUgbGludXggRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL2FybS94ZW4udHh0ICovCj4gKyAgICByZXMgPSBmZHRfYmVnaW5f bm9kZShmZHQsICJoeXBlcnZpc29yIik7Cj4gKyAgICBpZiAoIHJlcyApCj4gKyAgICAgICAgcmV0 dXJuIHJlczsKPiArCj4gKyAgICAvKiBDYW5ub3QgdXNlIGZkdF9wcm9wZXJ0eV9zdHJpbmcgZHVl IHRvIGVtYmVkZGVkIG51bGxzICovCj4gKyAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAiY29t cGF0aWJsZSIsIGNvbXBhdCwgc2l6ZW9mKGNvbXBhdCkpOwo+ICsgICAgaWYgKCByZXMgKQo+ICsg ICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgcmVzID0gYXJtX2FjcGlfbWFrZV9lZmlfbm9k ZXMoZmR0LCB0YmxfYWRkKTsKPiArICAgIGlmICggcmVzICkKPiArICAgICAgICByZXR1cm4gcmVz Owo+ICsKPiArICAgIHJlcyA9IGZkdF9lbmRfbm9kZShmZHQpOwo+ICsKPiArICAgIHJldHVybiBy ZXM7Cj4gK30KPiArCj4gKy8qCj4gKyAqIFByZXBhcmUgYSBtaW5pbWFsIERUQiBmb3IgRG9tMCB3 aGljaCBjb250YWlucyBib290YXJncywgaW5pdHJkLCBtZW1vcnkKPiArICogaW5mb3JtYXRpb24s IEVGSSB0YWJsZS4KPiArICovCj4gK3N0YXRpYyBpbnQgY3JlYXRlX2FjcGlfZHRiKHN0cnVjdCBr ZXJuZWxfaW5mbyAqa2luZm8sIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKPiArewo+ICsgICAg aW50IG5ld19zaXplOwo+ICsgICAgaW50IHJldDsKPiArCj4gKyAgICBEUFJJTlQoIlByZXBhcmUg YSBtaW4gRFRCIGZvciBET00wXG4iKTsKPiArCj4gKyAgICAvKiBBbGxvY2F0ZSBtaW4gc2l6ZSBm b3IgRFQgKi8KPiArICAgIG5ld19zaXplID0gQUNQSV9ET00wX0ZEVF9NSU5fU0laRTsKPiArICAg IGtpbmZvLT5mZHQgPSB4bWFsbG9jX2J5dGVzKG5ld19zaXplKTsKPiArCj4gKyAgICBpZiAoIGtp bmZvLT5mZHQgPT0gTlVMTCApCj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsgICAg LyogQ3JlYXRlIGEgbmV3IGVtcHR5IERUIGZvciBET00wICovCj4gKyAgICByZXQgPSBmZHRfY3Jl YXRlKGtpbmZvLT5mZHQsIG5ld19zaXplKTsKPiArICAgIGlmICggcmV0IDwgMCApCj4gKyAgICAg ICAgZ290byBlcnI7Cj4gKwo+ICsgICAgcmV0ID0gZmR0X2ZpbmlzaF9yZXNlcnZlbWFwKGtpbmZv LT5mZHQpOwo+ICsgICAgaWYgKCByZXQgPCAwICkKPiArICAgICAgICBnb3RvIGVycjsKPiArCj4g KyAgICByZXQgPSBmZHRfYmVnaW5fbm9kZShraW5mby0+ZmR0LCAiLyIpOwo+ICsgICAgaWYgKCBy ZXQgPCAwICkKPiArICAgICAgICBnb3RvIGVycjsKPiArCj4gKyAgICByZXQgPSBmZHRfcHJvcGVy dHlfY2VsbChraW5mby0+ZmR0LCAiI2FkZHJlc3MtY2VsbHMiLCAyKTsKPiArICAgIGlmICggcmV0 ICkKPiArICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgIHJldCA9IGZkdF9wcm9wZXJ0eV9j ZWxsKGtpbmZvLT5mZHQsICIjc2l6ZS1jZWxscyIsIDEpOwo+ICsgICAgaWYgKCByZXQgKQo+ICsg ICAgICAgIHJldHVybiByZXQ7Cj4gKwo+ICsgICAgLyogQ3JlYXRlIGEgY2hvc2VuIG5vZGUgZm9y IERPTTAgKi8KPiArICAgIHJldCA9IG1ha2VfY2hvc2VuX25vZGUoa2luZm8sIHRibF9hZGQpOwo+ ICsgICAgaWYgKCByZXQgKQo+ICsgICAgICAgIGdvdG8gZXJyOwo+ICsKPiArICAgIHJldCA9IGFj cGlfbWFrZV9oeXBlcnZpc29yX25vZGUoa2luZm8sIHRibF9hZGQpOwo+ICsgICAgaWYgKCByZXQg KQo+ICsgICAgICAgIGdvdG8gZXJyOwo+ICsKPiArICAgIHJldCA9IGZkdF9lbmRfbm9kZShraW5m by0+ZmR0KTsKPiArICAgIGlmICggcmV0IDwgMCApCj4gKyAgICAgICAgZ290byBlcnI7Cj4gKwo+ ICsgICAgcmV0ID0gZmR0X2ZpbmlzaChraW5mby0+ZmR0KTsKPiArICAgIGlmICggcmV0IDwgMCAp Cj4gKyAgICAgICAgZ290byBlcnI7Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gKwo+ICsgIGVycjoK PiArICAgIHByaW50aygiRGV2aWNlIHRyZWUgZ2VuZXJhdGlvbiBmYWlsZWQgKCVkKS5cbiIsIHJl dCk7Cj4gKyAgICB4ZnJlZShraW5mby0+ZmR0KTsKPiArICAgIHJldHVybiAtRUlOVkFMOwo+ICt9 Cj4gKwo+ICBzdGF0aWMgdm9pZCBhY3BpX21hcF9vdGhlcl90YWJsZXMoc3RydWN0IGRvbWFpbiAq ZCkKPiAgewo+ICAgICAgaW50IGk7Cj4gQEAgLTE3MDYsNiArMTg0NSwxMCBAQCBzdGF0aWMgaW50 IHByZXBhcmVfYWNwaShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZv KQo+ICAgICAgICAgIHJldHVybiByYzsKPiAgICAgIH0KPiAgCj4gKyAgICByYyA9IGNyZWF0ZV9h Y3BpX2R0YihraW5mbywgdGJsX2FkZCk7Cj4gKyAgICBpZiAoIHJjICE9IDAgKQo+ICsgICAgICAg IHJldHVybiByYzsKPiArCj4gICAgICByZXR1cm4gMDsKPiAgfQo+ICAjZWxzZQo+IGRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1kb20wLmMgYi94ZW4vYXJjaC9hcm0vZWZpL2VmaS1k b20wLmMKPiBpbmRleCAwZmY2MzA5Li4zYTdiNjAxIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2Fy bS9lZmkvZWZpLWRvbTAuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS9lZmkvZWZpLWRvbTAuYwo+IEBA IC0yMyw2ICsyMyw3IEBACj4gIAo+ICAjaW5jbHVkZSAiZWZpLmgiCj4gICNpbmNsdWRlIDx4ZW4v cGZuLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vbGliZmR0L2xpYmZkdC5oPgo+ICAjaW5jbHVkZSA8YXNt L3NldHVwLmg+Cj4gICNpbmNsdWRlIDxhc20vYWNwaS5oPgo+ICAKPiBAQCAtMTM3LDMgKzEzOCw1 MCBAQCB2b2lkIF9faW5pdCBhY3BpX2NyZWF0ZV9lZmlfbW1hcF90YWJsZShwYWRkcl90IHBhZGRy LCBwYWRkcl90IHNpemUsCj4gICAgICB0YmxfYWRkW1RCTF9NTUFQXS5zaXplID0gc2l6ZW9mKEVG SV9NRU1PUllfREVTQ1JJUFRPUikKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICht ZW0tPm5yX2JhbmtzICsgYWNwaV9tZW1fbnJfYmFua3MgKyAxKTsKPiAgfQo+ICsKPiArLyogQ3Jl YXRlIHBsYWNlIGhvbGRlciBmb3IgZWZpIHZhbHVlcy4gKi8KPiAraW50IF9faW5pdCBhcm1fYWNw aV9tYWtlX2VmaV9ub2Rlcyh2b2lkICpmZHQsIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKPiAr ewo+ICsgICAgdTY0IGZkdF92YWw2NDsKPiArICAgIHUzMiBmZHRfdmFsMzI7Cj4gKyAgICBpbnQg ZGVzY192ZXIgPSAxOwo+ICsgICAgaW50IHJlczsKPiArCj4gKyAgICByZXMgPSBmZHRfYmVnaW5f bm9kZShmZHQsICJ1ZWZpIik7Cj4gKyAgICBpZiAoIHJlcyApCj4gKyAgICAgICAgcmV0dXJuIHJl czsKPiArCj4gKyAgICBmZHRfdmFsNjQgPSBjcHVfdG9fZmR0NjQodGJsX2FkZFtUQkxfRUZJVF0u c3RhcnQpOwo+ICsgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwgInhlbix1ZWZpLXN5c3RlbS10 YWJsZSIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJmZkdF92YWw2NCwgc2l6ZW9mKGZkdF92 YWw2NCkpOwo+ICsgICAgaWYgKCByZXMgKQo+ICsgICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsg ICAgZmR0X3ZhbDY0ID0gY3B1X3RvX2ZkdDY0KHRibF9hZGRbVEJMX01NQVBdLnN0YXJ0KTsKPiAr ICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJ4ZW4sdWVmaS1tbWFwLXN0YXJ0IiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAmZmR0X3ZhbDY0LCAgc2l6ZW9mKGZkdF92YWw2NCkpOwo+ICsg ICAgaWYgKCByZXMgKQo+ICsgICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgZmR0X3ZhbDMy ID0gY3B1X3RvX2ZkdDMyKHRibF9hZGRbVEJMX01NQVBdLnNpemUpOwo+ICsgICAgcmVzID0gZmR0 X3Byb3BlcnR5KGZkdCwgInhlbix1ZWZpLW1tYXAtc2l6ZSIsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgJmZkdF92YWwzMiwgIHNpemVvZihmZHRfdmFsMzIpKTsKPiArICAgIGlmICggcmVzICkK PiArICAgICAgICByZXR1cm4gcmVzOwo+ICsKPiArICAgIGZkdF92YWwzMiA9IGNwdV90b19mZHQz MihzaXplb2YoRUZJX01FTU9SWV9ERVNDUklQVE9SKSk7Cj4gKyAgICByZXMgPSBmZHRfcHJvcGVy dHkoZmR0LCAieGVuLHVlZmktbW1hcC1kZXNjLXNpemUiLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgJmZkdF92YWwzMiwgc2l6ZW9mKGZkdF92YWwzMikpOwo+ICsgICAgaWYgKCByZXMgKQo+ ICsgICAgICAgIHJldHVybiByZXM7Cj4gKwo+ICsgICAgZmR0X3ZhbDMyID0gY3B1X3RvX2ZkdDMy KGRlc2NfdmVyKTsKPiArICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJ4ZW4sdWVmaS1tbWFw LWRlc2MtdmVyIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICZmZHRfdmFsMzIsIHNpemVv ZihmZHRfdmFsMzIpKTsKPiArICAgIGlmICggcmVzICkKPiArICAgICAgICByZXR1cm4gcmVzOwo+ ICsKPiArICAgIHJlcyA9IGZkdF9lbmRfbm9kZShmZHQpOwo+ICsKPiArICAgIHJldHVybiByZXM7 Cj4gK30KPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIGIveGVuL2lu Y2x1ZGUvYXNtLWFybS9zZXR1cC5oCj4gaW5kZXggYjI4OTlmMi4uMDVmMDIxMCAxMDA2NDQKPiAt LS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20t YXJtL3NldHVwLmgKPiBAQCAtNjEsNiArNjEsOCBAQCB2b2lkIGFjcGlfY3JlYXRlX2VmaV9tbWFw X3RhYmxlKHBhZGRyX3QgcGFkZHIsIHBhZGRyX3Qgc2l6ZSwKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWVtaW5mbyAqbWVtLAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSk7Cj4gIAo+ICtpbnQg YXJtX2FjcGlfbWFrZV9lZmlfbm9kZXModm9pZCAqZmR0LCBzdHJ1Y3QgbWVtYmFuayB0YmxfYWRk W10pOwo+ICsKPiAgaW50IGNvbnN0cnVjdF9kb20wKHN0cnVjdCBkb21haW4gKmQpOwo+ICAKPiAg dm9pZCBkaXNjYXJkX2luaXRpYWxfbW9kdWxlcyh2b2lkKTsKPiAtLSAKPiAyLjAuNAo+IAo+IAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK