From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v7 14/22] arm/acpi: Create min DT stub for Dom0 Date: Fri, 25 Mar 2016 21:48:47 +0800 Message-ID: <1458913735-2678-15-git-send-email-shannon.zhao@linaro.org> References: <1458913735-2678-1-git-send-email-shannon.zhao@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458913735-2678-1-git-send-email-shannon.zhao@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: julien.grall@arm.com, shannon.zhao@linaro.org, stefano.stabellini@citrix.com, peter.huangpeng@huawei.com, zhaoshenglong@huawei.com List-Id: xen-devel@lists.xenproject.org Q3JlYXRlIGEgRFQgZm9yIERvbTAgZm9yIEFDUEktY2FzZSBvbmx5LiBEVCBjb250YWlucyBtaW5p bWFsIHJlcXVpcmVkCmluZm9ybWF0aW9ucyBzdWNoIGFzIERvbTAgYm9vdGFyZ3MsIGluaXRyZCwg ZWZpIGRlc2NyaXB0aW9uIHRhYmxlIGFuZAphZGRyZXNzIG9mIHVlZmkgbWVtb3J5IHRhYmxlLgoK QWxzbyBkb2N1bWVudCB0aGlzIGRldmljZSB0cmVlIGJpbmRpbmdzIG9mICJoeXBlcnZpc29yIiBh bmQKImh5cGVydmlzb3IvdWVmaSIgbm9kZS4KClNpZ25lZC1vZmYtYnk6IE5hcmVzaCBCaGF0IDxu YXJlc2guYmhhdEBsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5OiBQYXJ0aCBEaXhpdCA8cGFydGgu ZGl4aXRAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpo YW9AbGluYXJvLm9yZz4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5z dGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+Ci0tLQp2NzogY2hhbmdlIHRoZSBmdW5jdGlvbiBuYW1l IGFuZCBhZGRyZXNzIGNvbW1lbnRzCi0tLQogZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ndWVz dC50eHQgfCAgNjAgKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMg ICAgICAgICB8IDE0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9h cmNoL2FybS9lZmkvZWZpLWRvbTAuYyAgICAgICAgIHwgIDM5ICsrKysrKysrKysKIHhlbi9pbmNs dWRlL2FzbS1hcm0vc2V0dXAuaCAgICAgICAgIHwgICAyICsKIDQgZmlsZXMgY2hhbmdlZCwgMjQz IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL21pc2MvYXJtL2RldmljZS10 cmVlL2d1ZXN0LnR4dAoKZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvZ3Vl c3QudHh0IGIvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ndWVzdC50eHQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE4ZjFlOQotLS0gL2Rldi9udWxsCisrKyBiL2RvY3Mv bWlzYy9hcm0vZGV2aWNlLXRyZWUvZ3Vlc3QudHh0CkBAIC0wLDAgKzEsNjAgQEAKKyogWGVuIGh5 cGVydmlzb3IgZGV2aWNlIHRyZWUgYmluZGluZ3MKKworWGVuIEFSTSB2aXJ0dWFsIHBsYXRmb3Jt cyBzaGFsbCBoYXZlIGEgdG9wLWxldmVsICJoeXBlcnZpc29yIiBub2RlIHdpdGgKK3RoZSBmb2xs b3dpbmcgcHJvcGVydGllczoKKworLSBjb21wYXRpYmxlOgorCWNvbXBhdGlibGUgPSAieGVuLHhl bi08dmVyc2lvbj4iLCAieGVuLHhlbiI7CisgIHdoZXJlIDx2ZXJzaW9uPiBpcyB0aGUgdmVyc2lv biBvZiB0aGUgWGVuIEFCSSBvZiB0aGUgcGxhdGZvcm0uCisKKy0gcmVnOiBzcGVjaWZpZXMgdGhl IGJhc2UgcGh5c2ljYWwgYWRkcmVzcyBhbmQgc2l6ZSBvZiBhIHJlZ2lvbiBpbgorICBtZW1vcnkg d2hlcmUgdGhlIGdyYW50IHRhYmxlIHNob3VsZCBiZSBtYXBwZWQgdG8sIHVzaW5nIGFuCisgIEhZ UEVSVklTT1JfbWVtb3J5X29wIGh5cGVyY2FsbC4gVGhlIG1lbW9yeSByZWdpb24gaXMgbGFyZ2Ug ZW5vdWdoIHRvIG1hcAorICB0aGUgd2hvbGUgZ3JhbnQgdGFibGUgKGl0IGlzIGxhcmdlciBvciBl cXVhbCB0byBnbnR0YWJfbWF4X2dyYW50X2ZyYW1lcygpKS4KKyAgVGhpcyBwcm9wZXJ0eSBpcyB1 bm5lY2Vzc2FyeSB3aGVuIGJvb3RpbmcgRG9tMCB1c2luZyBBQ1BJLgorCistIGludGVycnVwdHM6 IHRoZSBpbnRlcnJ1cHQgdXNlZCBieSBYZW4gdG8gaW5qZWN0IGV2ZW50IG5vdGlmaWNhdGlvbnMu CisgIEEgR0lDIG5vZGUgaXMgYWxzbyByZXF1aXJlZC4KKyAgVGhpcyBwcm9wZXJ0eSBpcyB1bm5l Y2Vzc2FyeSB3aGVuIGJvb3RpbmcgRG9tMCB1c2luZyBBQ1BJLgorCitUbyBzdXBwb3J0IFVFRkkg b24gWGVuIEFSTSB2aXJ0dWFsIHBsYXRmb3JtcywgWGVuIHBvcHVsYXRlcyB0aGUgRkRUICJ1ZWZp IiBub2RlCit1bmRlciAvaHlwZXJ2aXNvciB3aXRoIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgorCitf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXworTmFtZSAgICAgICAgICAgICAgICAgICAgICB8IFNpemUg ICB8IERlc2NyaXB0aW9uCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoreGVuLHVlZmktc3lzdGVt LXRhYmxlICAgICB8IDY0LWJpdCB8IEd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIFVFRkkg U3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgVGFibGUuCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQoreGVuLHVlZmktbW1hcC1zdGFydCAgICAgICB8IDY0LWJpdCB8 IEd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIFVFRkkgbWVtb3J5CisgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgIHwgbWFwLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3hl bix1ZWZpLW1tYXAtc2l6ZSAgICAgICAgfCAzMi1iaXQgfCBTaXplIGluIGJ5dGVzIG9mIHRoZSBV RUZJIG1lbW9yeSBtYXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCBwb2lu dGVkIHRvIGluIHByZXZpb3VzIGVudHJ5LgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3hlbix1 ZWZpLW1tYXAtZGVzYy1zaXplICAgfCAzMi1iaXQgfCBTaXplIGluIGJ5dGVzIG9mIGVhY2ggZW50 cnkgaW4gdGhlIFVFRkkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCBtZW1v cnkgbWFwLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3hlbix1ZWZpLW1tYXAtZGVzYy12ZXIg ICAgfCAzMi1iaXQgfCBWZXJzaW9uIG9mIHRoZSBtbWFwIGRlc2NyaXB0b3IgZm9ybWF0LgorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRXhhbXBsZSAoYXNzdW1pbmcgI2FkZHJlc3MtY2VsbHMg PSA8Mj4gYW5kICNzaXplLWNlbGxzID0gPDI+KToKKworaHlwZXJ2aXNvciB7CisJY29tcGF0aWJs ZSA9ICJ4ZW4seGVuLTQuMyIsICJ4ZW4seGVuIjsKKwlyZWcgPSA8MCAweGIwMDAwMDAwIDAgMHgy MDAwMD47CisJaW50ZXJydXB0cyA9IDwxIDE1IDB4ZjA4PjsKKwl1ZWZpIHsKKwkJeGVuLHVlZmkt c3lzdGVtLXRhYmxlID0gPDB4WFhYWFhYWFg+OworCQl4ZW4sdWVmaS1tbWFwLXN0YXJ0ID0gPDB4 WFhYWFhYWFg+OworCQl4ZW4sdWVmaS1tbWFwLXNpemUgPSA8MHhYWFhYWFhYWD47CisJCXhlbix1 ZWZpLW1tYXAtZGVzYy1zaXplID0gPDB4WFhYWFhYWFg+OworCQl4ZW4sdWVmaS1tbWFwLWRlc2Mt dmVyID0gPDB4WFhYWFhYWFg+OworICAgICAgICB9OworfTsKKworVGhlIGZvcm1hdCBhbmQgbWVh bmluZyBvZiB0aGUgInhlbix1ZWZpLSoiIHBhcmFtZXRlcnMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ug aW4KK0RvY3VtZW50YXRpb24vYXJtL3VlZmkudHh0IGluIExpbnV4LCB3aGljaCBhcmUgcHJvdmlk ZWQgYnkgdGhlIHJlZ3VsYXIgTGludXgKK1VFRkkgc3R1Yi4gSG93ZXZlciB0aGV5IGRpZmZlciBi ZWNhdXNlIHRoZXkgYXJlIHByb3ZpZGVkIGJ5IHRoZSBYZW4gaHlwZXJ2aXNvciwKK3RvZ2V0aGVy IHdpdGggYSBzZXQgb2YgVUVGSSBydW50aW1lIHNlcnZpY2VzIGltcGxlbWVudGVkIHZpYSBoeXBl cmNhbGxzLCBzZWUKK3hlbi9pbmNsdWRlL3B1YmxpYy9wbGF0Zm9ybS5oLgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5j CmluZGV4IDcwYzg0MjEuLjU4YTQ0ZmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW5f YnVpbGQuYworKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKQEAgLTEzNTcsNiArMTM1 NywxNDQgQEAgc3RhdGljIGludCBwcmVwYXJlX2R0YihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qg a2VybmVsX2luZm8gKmtpbmZvKQogfQogCiAjaWZkZWYgQ09ORklHX0FDUEkKKyNkZWZpbmUgQUNQ SV9ET00wX0ZEVF9NSU5fU0laRSA0MDk2CisKK3N0YXRpYyBpbnQgYWNwaV9tYWtlX2Nob3Nlbl9u b2RlKGNvbnN0IHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8pCit7CisgICAgaW50IHJlczsKKyAg ICBjb25zdCBjaGFyICpib290YXJncyA9IE5VTEw7CisgICAgY29uc3Qgc3RydWN0IGJvb3Rtb2R1 bGUgKm1vZCA9IGtpbmZvLT5rZXJuZWxfYm9vdG1vZHVsZTsKKyAgICB2b2lkICpmZHQgPSBraW5m by0+ZmR0OworCisgICAgRFBSSU5UKCJDcmVhdGUgY2hvc2VuIG5vZGVcbiIpOworICAgIHJlcyA9 IGZkdF9iZWdpbl9ub2RlKGZkdCwgImNob3NlbiIpOworICAgIGlmICggcmVzICkKKyAgICAgICAg cmV0dXJuIHJlczsKKworICAgIGlmICggbW9kICYmIG1vZC0+Y21kbGluZVswXSApCisgICAgewor ICAgICAgICBib290YXJncyA9ICZtb2QtPmNtZGxpbmVbMF07CisgICAgICAgIHJlcyA9IGZkdF9w cm9wZXJ0eShmZHQsICJib290YXJncyIsIGJvb3RhcmdzLCBzdHJsZW4oYm9vdGFyZ3MpICsgMSk7 CisgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAgcmV0dXJuIHJlczsKKyAgICB9CisKKyAg ICAvKgorICAgICAqIElmIHRoZSBib290bG9hZGVyIHByb3ZpZGVzIGFuIGluaXRyZCwgd2UgbXVz dCBjcmVhdGUgYSBwbGFjZWhvbGRlcgorICAgICAqIGZvciB0aGUgaW5pdHJkIHByb3BlcnRpZXMu IFRoZSB2YWx1ZXMgd2lsbCBiZSByZXBsYWNlZCBsYXRlci4KKyAgICAgKi8KKyAgICBpZiAoIG1v ZCAmJiBtb2QtPnNpemUgKQorICAgIHsKKyAgICAgICAgdTY0IGEgPSAwOworICAgICAgICByZXMg PSBmZHRfcHJvcGVydHkoa2luZm8tPmZkdCwgImxpbnV4LGluaXRyZC1zdGFydCIsICZhLCBzaXpl b2YoYSkpOworICAgICAgICBpZiAoIHJlcyApCisgICAgICAgICAgICByZXR1cm4gcmVzOworCisg ICAgICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShraW5mby0+ZmR0LCAibGludXgsaW5pdHJkLWVuZCIs ICZhLCBzaXplb2YoYSkpOworICAgICAgICBpZiAoIHJlcyApCisgICAgICAgICAgICByZXR1cm4g cmVzOworICAgIH0KKworICAgIHJlcyA9IGZkdF9lbmRfbm9kZShmZHQpOworCisgICAgcmV0dXJu IHJlczsKK30KKworc3RhdGljIGludCBhY3BpX21ha2VfaHlwZXJ2aXNvcl9ub2RlKGNvbnN0IHN0 cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtdKQoreworICAgIGNvbnN0IGNoYXIgY29tcGF0 W10gPQorICAgICAgICAieGVuLHhlbi0iX19zdHJpbmdpZnkoWEVOX1ZFUlNJT04pIi4iX19zdHJp bmdpZnkoWEVOX1NVQlZFUlNJT04pIlwwIgorICAgICAgICAieGVuLHhlbiI7CisgICAgaW50IHJl czsKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhcyAqLworICAgIHZvaWQgKmZkdCA9IGtpbmZvLT5m ZHQ7CisKKyAgICBEUFJJTlQoIkNyZWF0ZSBoeXBlcnZpc29yIG5vZGVcbiIpOworCisgICAgLyog U2VlIGxpbnV4IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0veGVuLnR4dCAq LworICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwgImh5cGVydmlzb3IiKTsKKyAgICBpZiAo IHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICAvKiBDYW5ub3QgdXNlIGZkdF9wcm9w ZXJ0eV9zdHJpbmcgZHVlIHRvIGVtYmVkZGVkIG51bGxzICovCisgICAgcmVzID0gZmR0X3Byb3Bl cnR5KGZkdCwgImNvbXBhdGlibGUiLCBjb21wYXQsIHNpemVvZihjb21wYXQpKTsKKyAgICBpZiAo IHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICByZXMgPSBhY3BpX21ha2VfZWZpX25v ZGVzKGZkdCwgdGJsX2FkZCk7CisgICAgaWYgKCByZXMgKQorICAgICAgICByZXR1cm4gcmVzOwor CisgICAgcmVzID0gZmR0X2VuZF9ub2RlKGZkdCk7CisKKyAgICByZXR1cm4gcmVzOworfQorCisv KgorICogUHJlcGFyZSBhIG1pbmltYWwgRFRCIGZvciBEb20wIHdoaWNoIGNvbnRhaW5zIGJvb3Rh cmdzLCBpbml0cmQsIG1lbW9yeQorICogaW5mb3JtYXRpb24sIEVGSSB0YWJsZS4KKyAqLworc3Rh dGljIGludCBjcmVhdGVfYWNwaV9kdGIoc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbywgc3RydWN0 IG1lbWJhbmsgdGJsX2FkZFtdKQoreworICAgIGludCBuZXdfc2l6ZTsKKyAgICBpbnQgcmV0Owor CisgICAgRFBSSU5UKCJQcmVwYXJlIGEgbWluIERUQiBmb3IgRE9NMFxuIik7CisKKyAgICAvKiBB bGxvY2F0ZSBtaW4gc2l6ZSBmb3IgRFQgKi8KKyAgICBuZXdfc2l6ZSA9IEFDUElfRE9NMF9GRFRf TUlOX1NJWkU7CisgICAga2luZm8tPmZkdCA9IHhtYWxsb2NfYnl0ZXMobmV3X3NpemUpOworCisg ICAgaWYgKCBraW5mby0+ZmR0ID09IE5VTEwgKQorICAgICAgICByZXR1cm4gLUVOT01FTTsKKwor ICAgIC8qIENyZWF0ZSBhIG5ldyBlbXB0eSBEVCBmb3IgRE9NMCAqLworICAgIHJldCA9IGZkdF9j cmVhdGUoa2luZm8tPmZkdCwgbmV3X3NpemUpOworICAgIGlmICggcmV0IDwgMCApCisgICAgICAg IGdvdG8gZXJyOworCisgICAgcmV0ID0gZmR0X2ZpbmlzaF9yZXNlcnZlbWFwKGtpbmZvLT5mZHQp OworICAgIGlmICggcmV0IDwgMCApCisgICAgICAgIGdvdG8gZXJyOworCisgICAgcmV0ID0gZmR0 X2JlZ2luX25vZGUoa2luZm8tPmZkdCwgIi8iKTsKKyAgICBpZiAoIHJldCA8IDAgKQorICAgICAg ICBnb3RvIGVycjsKKworICAgIHJldCA9IGZkdF9wcm9wZXJ0eV9jZWxsKGtpbmZvLT5mZHQsICIj YWRkcmVzcy1jZWxscyIsIDIpOworICAgIGlmICggcmV0ICkKKyAgICAgICAgcmV0dXJuIHJldDsK KworICAgIHJldCA9IGZkdF9wcm9wZXJ0eV9jZWxsKGtpbmZvLT5mZHQsICIjc2l6ZS1jZWxscyIs IDEpOworICAgIGlmICggcmV0ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIC8qIENyZWF0 ZSBhIGNob3NlbiBub2RlIGZvciBET00wICovCisgICAgcmV0ID0gYWNwaV9tYWtlX2Nob3Nlbl9u b2RlKGtpbmZvKTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGdvdG8gZXJyOworCisgICAgcmV0 ID0gYWNwaV9tYWtlX2h5cGVydmlzb3Jfbm9kZShraW5mbywgdGJsX2FkZCk7CisgICAgaWYgKCBy ZXQgKQorICAgICAgICBnb3RvIGVycjsKKworICAgIHJldCA9IGZkdF9lbmRfbm9kZShraW5mby0+ ZmR0KTsKKyAgICBpZiAoIHJldCA8IDAgKQorICAgICAgICBnb3RvIGVycjsKKworICAgIHJldCA9 IGZkdF9maW5pc2goa2luZm8tPmZkdCk7CisgICAgaWYgKCByZXQgPCAwICkKKyAgICAgICAgZ290 byBlcnI7CisKKyAgICByZXR1cm4gMDsKKworICBlcnI6CisgICAgcHJpbnRrKCJEZXZpY2UgdHJl ZSBnZW5lcmF0aW9uIGZhaWxlZCAoJWQpLlxuIiwgcmV0KTsKKyAgICB4ZnJlZShraW5mby0+ZmR0 KTsKKyAgICByZXR1cm4gLUVJTlZBTDsKK30KKwogc3RhdGljIHZvaWQgYWNwaV9tYXBfb3RoZXJf dGFibGVzKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgaW50IGk7CkBAIC0xNzQyLDYgKzE4ODAs MTAgQEAgc3RhdGljIGludCBwcmVwYXJlX2FjcGkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtl cm5lbF9pbmZvICpraW5mbykKICAgICBjbGVhbl9hbmRfaW52YWxpZGF0ZV9kY2FjaGVfdmFfcmFu Z2UoZC0+YXJjaC5lZmlfYWNwaV90YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZC0+YXJjaC5lZmlfYWNwaV9sZW4pOwogCisgICAgcmMgPSBjcmVhdGVfYWNw aV9kdGIoa2luZm8sIHRibF9hZGQpOworICAgIGlmICggcmMgIT0gMCApCisgICAgICAgIHJldHVy biByYzsKKwogICAgIHJldHVybiAwOwogfQogI2Vsc2UKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9lZmkvZWZpLWRvbTAuYyBiL3hlbi9hcmNoL2FybS9lZmkvZWZpLWRvbTAuYwppbmRleCBjZjcx YmY0Li5jNDBhN2M1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1kb20wLmMKKysr IGIveGVuL2FyY2gvYXJtL2VmaS9lZmktZG9tMC5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVk ZSAiZWZpLWRvbTAuaCIKICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNpbmNsdWRlIDx4ZW4vcGZu Lmg+CisjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAu aD4KICNpbmNsdWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgIi4uLy4uLy4uL2NvbW1vbi9kZWNv bXByZXNzLmgiCkBAIC0xMzgsNiArMTM5LDQ0IEBAIHZvaWQgX19pbml0IGFjcGlfY3JlYXRlX2Vm aV9tbWFwX3RhYmxlKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogKG1lbS0+bnJfYmFua3MgKyBhY3BpX21lbS5ucl9iYW5rcyArIDEpOwogfQogCisvKiBD cmVhdGUgL2h5cGVydmlzb3IvdWVmaSBub2RlIGZvciBlZmkgcHJvcGVydGllcy4gKi8KK2ludCBf X2luaXQgYWNwaV9tYWtlX2VmaV9ub2Rlcyh2b2lkICpmZHQsIHN0cnVjdCBtZW1iYW5rIHRibF9h ZGRbXSkKK3sKKyAgICBpbnQgcmVzOworCisgICAgcmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCAi dWVmaSIpOworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIHJlcyA9 IGZkdF9wcm9wZXJ0eV91NjQoZmR0LCAieGVuLHVlZmktc3lzdGVtLXRhYmxlIiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRibF9hZGRbVEJMX0VGSVRdLnN0YXJ0KTsKKyAgICBpZiAoIHJl cyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICByZXMgPSBmZHRfcHJvcGVydHlfdTY0KGZk dCwgInhlbix1ZWZpLW1tYXAtc3RhcnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdGJs X2FkZFtUQkxfTU1BUF0uc3RhcnQpOworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJl czsKKworICAgIHJlcyA9IGZkdF9wcm9wZXJ0eV91MzIoZmR0LCAieGVuLHVlZmktbW1hcC1zaXpl IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRibF9hZGRbVEJMX01NQVBdLnNpemUpOwor ICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIHJlcyA9IGZkdF9wcm9w ZXJ0eV91MzIoZmR0LCAieGVuLHVlZmktbW1hcC1kZXNjLXNpemUiLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mKEVGSV9NRU1PUllfREVTQ1JJUFRPUikpOworICAgIGlmICggcmVz ICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIHJlcyA9IGZkdF9wcm9wZXJ0eV91MzIoZmR0 LCAieGVuLHVlZmktbW1hcC1kZXNjLXZlciIsIDEpOworICAgIGlmICggcmVzICkKKyAgICAgICAg cmV0dXJuIHJlczsKKworICAgIHJlcyA9IGZkdF9lbmRfbm9kZShmZHQpOworCisgICAgcmV0dXJu IHJlczsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0 dXAuaAppbmRleCA5YTcxZTkwLi4zZGE3YTQ5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t YXJtL3NldHVwLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCkBAIC02MCw2ICs2 MCw4IEBAIHZvaWQgYWNwaV9jcmVhdGVfZWZpX21tYXBfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1lbWluZm8gKm1l bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1lbWJhbmsgdGJsX2Fk ZFtdKTsKIAoraW50IGFjcGlfbWFrZV9lZmlfbm9kZXModm9pZCAqZmR0LCBzdHJ1Y3QgbWVtYmFu ayB0YmxfYWRkW10pOworCiBpbnQgY29uc3RydWN0X2RvbTAoc3RydWN0IGRvbWFpbiAqZCk7CiAK IHZvaWQgZGlzY2FyZF9pbml0aWFsX21vZHVsZXModm9pZCk7Ci0tIAoyLjEuNAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==