From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v5 14/22] arm/acpi: Create min DT stub for Dom0 Date: Fri, 4 Mar 2016 14:15:44 +0800 Message-ID: <1457072152-16128-15-git-send-email-zhaoshenglong@huawei.com> References: <1457072152-16128-1-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-1-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: xen-devel@lists.xen.org Cc: hangaohuai@huawei.com, stefano.stabellini@citrix.com, shannon.zhao@linaro.org, zhaoshenglong@huawei.com List-Id: xen-devel@lists.xenproject.org RnJvbTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KCkNyZWF0ZSBhIERU IGZvciBEb20wIGZvciBBQ1BJLWNhc2Ugb25seS4gRFQgY29udGFpbnMgbWluaW1hbCByZXF1aXJl ZAppbmZvcm1hdGlvbnMgc3VjaCBhcyBEb20wIGJvb3RhcmdzLCBpbml0cmQsIGVmaSBkZXNjcmlw dGlvbiB0YWJsZSBhbmQKYWRkcmVzcyBvZiB1ZWZpIG1lbW9yeSB0YWJsZS4KCkFsc28gcG9ydCB0 aGUgZG9jdW1lbnQgb2YgdGhpcyBkZXZpY2UgdHJlZSBiaW5kaW5ncyBmcm9tIExpbnV4LgoKU2ln bmVkLW9mZi1ieTogTmFyZXNoIEJoYXQgPG5hcmVzaC5iaGF0QGxpbmFyby5vcmc+ClNpZ25lZC1v ZmYtYnk6IFBhcnRoIERpeGl0IDxwYXJ0aC5kaXhpdEBsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5 OiBTaGFubm9uIFpoYW8gPHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgotLS0KdjU6IGNoYW5nZSB0 aGUgZmlsZSBuYW1lCi0tLQogZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS91ZWZpLnR4dCB8ICA1 OCArKysrKysrKysrKysrKysKIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyAgICAgICAgfCAx NDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gvYXJtL2Vm aS9lZmktZG9tMC5jICAgICAgICB8ICA0OCArKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20t YXJtL3NldHVwLmggICAgICAgIHwgICAyICsKIDQgZmlsZXMgY2hhbmdlZCwgMjUxIGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL21pc2MvYXJtL2RldmljZS10cmVlL3VlZmku dHh0CgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS91ZWZpLnR4dCBiL2Rv Y3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvdWVmaS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNDFhOGJlMAotLS0gL2Rldi9udWxsCisrKyBiL2RvY3MvbWlzYy9hcm0vZGV2 aWNlLXRyZWUvdWVmaS50eHQKQEAgLTAsMCArMSw1OCBAQAorKiBYZW4gaHlwZXJ2aXNvciBkZXZp Y2UgdHJlZSBiaW5kaW5ncworCitYZW4gQVJNIHZpcnR1YWwgcGxhdGZvcm1zIHNoYWxsIGhhdmUg YSB0b3AtbGV2ZWwgImh5cGVydmlzb3IiIG5vZGUgd2l0aAordGhlIGZvbGxvd2luZyBwcm9wZXJ0 aWVzOgorCistIGNvbXBhdGlibGU6CisJY29tcGF0aWJsZSA9ICJ4ZW4seGVuLTx2ZXJzaW9uPiIs ICJ4ZW4seGVuIjsKKyAgd2hlcmUgPHZlcnNpb24+IGlzIHRoZSB2ZXJzaW9uIG9mIHRoZSBYZW4g QUJJIG9mIHRoZSBwbGF0Zm9ybS4KKworLSByZWc6IHNwZWNpZmllcyB0aGUgYmFzZSBwaHlzaWNh bCBhZGRyZXNzIGFuZCBzaXplIG9mIGEgcmVnaW9uIGluCisgIG1lbW9yeSB3aGVyZSB0aGUgZ3Jh bnQgdGFibGUgc2hvdWxkIGJlIG1hcHBlZCB0bywgdXNpbmcgYW4KKyAgSFlQRVJWSVNPUl9tZW1v cnlfb3AgaHlwZXJjYWxsLiBUaGUgbWVtb3J5IHJlZ2lvbiBpcyBsYXJnZSBlbm91Z2ggdG8gbWFw CisgIHRoZSB3aG9sZSBncmFudCB0YWJsZSAoaXQgaXMgbGFyZ2VyIG9yIGVxdWFsIHRvIGdudHRh Yl9tYXhfZ3JhbnRfZnJhbWVzKCkpLgorCistIGludGVycnVwdHM6IHRoZSBpbnRlcnJ1cHQgdXNl ZCBieSBYZW4gdG8gaW5qZWN0IGV2ZW50IG5vdGlmaWNhdGlvbnMuCisgIEEgR0lDIG5vZGUgaXMg YWxzbyByZXF1aXJlZC4KKworVG8gc3VwcG9ydCBVRUZJIG9uIFhlbiBBUk0gdmlydHVhbCBwbGF0 Zm9ybXMsIFhlbiBwb3B1bGF0ZXMgdGhlIEZEVCAidWVmaSIgbm9kZQordW5kZXIgL2h5cGVydmlz b3Igd2l0aCBmb2xsb3dpbmcgcGFyYW1ldGVyczoKKworX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K K05hbWUgICAgICAgICAgICAgICAgICAgICAgfCBTaXplICAgfCBEZXNjcmlwdGlvbgorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KK3hlbix1ZWZpLXN5c3RlbS10YWJsZSAgICAgfCA2NC1iaXQgfCBH dWVzdCBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBVRUZJIFN5c3RlbQorICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAgICB8IFRhYmxlLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3hl bix1ZWZpLW1tYXAtc3RhcnQgICAgICAgfCA2NC1iaXQgfCBHdWVzdCBwaHlzaWNhbCBhZGRyZXNz IG9mIHRoZSBVRUZJIG1lbW9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8 IG1hcC4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit4ZW4sdWVmaS1tbWFwLXNpemUgICAgICAg IHwgMzItYml0IHwgU2l6ZSBpbiBieXRlcyBvZiB0aGUgVUVGSSBtZW1vcnkgbWFwCisgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgcG9pbnRlZCB0byBpbiBwcmV2aW91cyBlbnRy eS4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit4ZW4sdWVmaS1tbWFwLWRlc2Mtc2l6ZSAgIHwg MzItYml0IHwgU2l6ZSBpbiBieXRlcyBvZiBlYWNoIGVudHJ5IGluIHRoZSBVRUZJCisgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgbWVtb3J5IG1hcC4KKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCit4ZW4sdWVmaS1tbWFwLWRlc2MtdmVyICAgIHwgMzItYml0IHwgVmVyc2lvbiBv ZiB0aGUgbW1hcCBkZXNjcmlwdG9yIGZvcm1hdC4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK K0V4YW1wbGUgKGFzc3VtaW5nICNhZGRyZXNzLWNlbGxzID0gPDI+IGFuZCAjc2l6ZS1jZWxscyA9 IDwyPik6CisKK2h5cGVydmlzb3IgeworCWNvbXBhdGlibGUgPSAieGVuLHhlbi00LjMiLCAieGVu LHhlbiI7CisJcmVnID0gPDAgMHhiMDAwMDAwMCAwIDB4MjAwMDA+OworCWludGVycnVwdHMgPSA8 MSAxNSAweGYwOD47CisJdWVmaSB7CisJCXhlbix1ZWZpLXN5c3RlbS10YWJsZSA9IDwweFhYWFhY WFhYPjsKKwkJeGVuLHVlZmktbW1hcC1zdGFydCA9IDwweFhYWFhYWFhYPjsKKwkJeGVuLHVlZmkt bW1hcC1zaXplID0gPDB4WFhYWFhYWFg+OworCQl4ZW4sdWVmaS1tbWFwLWRlc2Mtc2l6ZSA9IDww eFhYWFhYWFhYPjsKKwkJeGVuLHVlZmktbW1hcC1kZXNjLXZlciA9IDwweFhYWFhYWFhYPjsKKyAg ICAgICAgfTsKK307CisKK1RoZSBmb3JtYXQgYW5kIG1lYW5pbmcgb2YgdGhlICJ4ZW4sdWVmaS0q IiBwYXJhbWV0ZXJzIGFyZSBzaW1pbGFyIHRvIHRob3NlIGluCitEb2N1bWVudGF0aW9uL2FybS91 ZWZpLnR4dCBpbiBMaW51eCwgd2hpY2ggYXJlIHByb3ZpZGVkIGJ5IHRoZSByZWd1bGFyIExpbnV4 CitVRUZJIHN0dWIuIEhvd2V2ZXIgdGhleSBkaWZmZXIgYmVjYXVzZSB0aGV5IGFyZSBwcm92aWRl ZCBieSB0aGUgWGVuIGh5cGVydmlzb3IsCit0b2dldGhlciB3aXRoIGEgc2V0IG9mIFVFRkkgcnVu dGltZSBzZXJ2aWNlcyBpbXBsZW1lbnRlZCB2aWEgaHlwZXJjYWxscywgc2VlCit4ZW4vaW5jbHVk ZS9wdWJsaWMvcGxhdGZvcm0uaC4KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVp bGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCBlMDM2ODg3Li42NzI2ZTQ1 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gv YXJtL2RvbWFpbl9idWlsZC5jCkBAIC0xMzU3LDYgKzEzNTcsMTQ1IEBAIHN0YXRpYyBpbnQgcHJl cGFyZV9kdGIoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbykKIH0K IAogI2lmZGVmIENPTkZJR19BQ1BJCisjZGVmaW5lIEFDUElfRE9NMF9GRFRfTUlOX1NJWkUgNDA5 NgorCitzdGF0aWMgaW50IG1ha2VfY2hvc2VuX25vZGUoY29uc3Qgc3RydWN0IGtlcm5lbF9pbmZv ICpraW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWVtYmFuayB0Ymxf YWRkW10pCit7CisgICAgaW50IHJlczsKKyAgICBjb25zdCBjaGFyICpib290YXJncyA9IE5VTEw7 CisgICAgY29uc3Qgc3RydWN0IGJvb3Rtb2R1bGUgKm1vZCA9IGtpbmZvLT5rZXJuZWxfYm9vdG1v ZHVsZTsKKyAgICB2b2lkICpmZHQgPSBraW5mby0+ZmR0OworCisgICAgRFBSSU5UKCJDcmVhdGUg Y2hvc2VuIG5vZGVcbiIpOworICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwgImNob3NlbiIp OworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIGlmICggbW9kICYm IG1vZC0+Y21kbGluZVswXSApCisgICAgeworICAgICAgICBib290YXJncyA9ICZtb2QtPmNtZGxp bmVbMF07CisgICAgICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJib290YXJncyIsIGJvb3Rh cmdzLCBzdHJsZW4oYm9vdGFyZ3MpICsgMSk7CisgICAgICAgIGlmICggcmVzICkKKyAgICAgICAg ICAgcmV0dXJuIHJlczsKKyAgICB9CisKKyAgICAvKgorICAgICAqIElmIHRoZSBib290bG9hZGVy IHByb3ZpZGVzIGFuIGluaXRyZCwgd2UgbXVzdCBjcmVhdGUgYSBwbGFjZWhvbGRlcgorICAgICAq IGZvciB0aGUgaW5pdHJkIHByb3BlcnRpZXMuIFRoZSB2YWx1ZXMgd2lsbCBiZSByZXBsYWNlZCBs YXRlci4KKyAgICAgKi8KKyAgICBpZiAoIG1vZCAmJiBtb2QtPnNpemUgKQorICAgIHsKKyAgICAg ICAgdTY0IGEgPSAwOworICAgICAgICByZXMgPSBmZHRfcHJvcGVydHkoa2luZm8tPmZkdCwgImxp bnV4LGluaXRyZC1zdGFydCIsICZhLCBzaXplb2YoYSkpOworICAgICAgICBpZiAoIHJlcyApCisg ICAgICAgICAgICByZXR1cm4gcmVzOworCisgICAgICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShraW5m by0+ZmR0LCAibGludXgsaW5pdHJkLWVuZCIsICZhLCBzaXplb2YoYSkpOworICAgICAgICBpZiAo IHJlcyApCisgICAgICAgICAgICByZXR1cm4gcmVzOworICAgIH0KKworICAgIHJlcyA9IGZkdF9l bmRfbm9kZShmZHQpOworCisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludCBhY3BpX21h a2VfaHlwZXJ2aXNvcl9ub2RlKGNvbnN0IHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtd KQoreworICAgIGNvbnN0IGNoYXIgY29tcGF0W10gPQorICAgICAgICAieGVuLHhlbi0iX19zdHJp bmdpZnkoWEVOX1ZFUlNJT04pIi4iX19zdHJpbmdpZnkoWEVOX1NVQlZFUlNJT04pIlwwIgorICAg ICAgICAieGVuLHhlbiI7CisgICAgaW50IHJlczsKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhcyAq LworICAgIHZvaWQgKmZkdCA9IGtpbmZvLT5mZHQ7CisKKyAgICBEUFJJTlQoIkNyZWF0ZSBoeXBl cnZpc29yIG5vZGVcbiIpOworCisgICAgLyogU2VlIGxpbnV4IERvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9hcm0veGVuLnR4dCAqLworICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZk dCwgImh5cGVydmlzb3IiKTsKKyAgICBpZiAoIHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisK KyAgICAvKiBDYW5ub3QgdXNlIGZkdF9wcm9wZXJ0eV9zdHJpbmcgZHVlIHRvIGVtYmVkZGVkIG51 bGxzICovCisgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwgImNvbXBhdGlibGUiLCBjb21wYXQs IHNpemVvZihjb21wYXQpKTsKKyAgICBpZiAoIHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisK KyAgICByZXMgPSBhcm1fYWNwaV9tYWtlX2VmaV9ub2RlcyhmZHQsIHRibF9hZGQpOworICAgIGlm ICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIHJlcyA9IGZkdF9lbmRfbm9kZShm ZHQpOworCisgICAgcmV0dXJuIHJlczsKK30KKworLyoKKyAqIFByZXBhcmUgYSBtaW5pbWFsIERU QiBmb3IgRG9tMCB3aGljaCBjb250YWlucyBib290YXJncywgaW5pdHJkLCBtZW1vcnkKKyAqIGlu Zm9ybWF0aW9uLCBFRkkgdGFibGUuCisgKi8KK3N0YXRpYyBpbnQgY3JlYXRlX2FjcGlfZHRiKHN0 cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKK3sKKyAg ICBpbnQgbmV3X3NpemU7CisgICAgaW50IHJldDsKKworICAgIERQUklOVCgiUHJlcGFyZSBhIG1p biBEVEIgZm9yIERPTTBcbiIpOworCisgICAgLyogQWxsb2NhdGUgbWluIHNpemUgZm9yIERUICov CisgICAgbmV3X3NpemUgPSBBQ1BJX0RPTTBfRkRUX01JTl9TSVpFOworICAgIGtpbmZvLT5mZHQg PSB4bWFsbG9jX2J5dGVzKG5ld19zaXplKTsKKworICAgIGlmICgga2luZm8tPmZkdCA9PSBOVUxM ICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAvKiBDcmVhdGUgYSBuZXcgZW1wdHkg RFQgZm9yIERPTTAgKi8KKyAgICByZXQgPSBmZHRfY3JlYXRlKGtpbmZvLT5mZHQsIG5ld19zaXpl KTsKKyAgICBpZiAoIHJldCA8IDAgKQorICAgICAgICBnb3RvIGVycjsKKworICAgIHJldCA9IGZk dF9maW5pc2hfcmVzZXJ2ZW1hcChraW5mby0+ZmR0KTsKKyAgICBpZiAoIHJldCA8IDAgKQorICAg ICAgICBnb3RvIGVycjsKKworICAgIHJldCA9IGZkdF9iZWdpbl9ub2RlKGtpbmZvLT5mZHQsICIv Iik7CisgICAgaWYgKCByZXQgPCAwICkKKyAgICAgICAgZ290byBlcnI7CisKKyAgICByZXQgPSBm ZHRfcHJvcGVydHlfY2VsbChraW5mby0+ZmR0LCAiI2FkZHJlc3MtY2VsbHMiLCAyKTsKKyAgICBp ZiAoIHJldCApCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICByZXQgPSBmZHRfcHJvcGVydHlf Y2VsbChraW5mby0+ZmR0LCAiI3NpemUtY2VsbHMiLCAxKTsKKyAgICBpZiAoIHJldCApCisgICAg ICAgIHJldHVybiByZXQ7CisKKyAgICAvKiBDcmVhdGUgYSBjaG9zZW4gbm9kZSBmb3IgRE9NMCAq LworICAgIHJldCA9IG1ha2VfY2hvc2VuX25vZGUoa2luZm8sIHRibF9hZGQpOworICAgIGlmICgg cmV0ICkKKyAgICAgICAgZ290byBlcnI7CisKKyAgICByZXQgPSBhY3BpX21ha2VfaHlwZXJ2aXNv cl9ub2RlKGtpbmZvLCB0YmxfYWRkKTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGdvdG8gZXJy OworCisgICAgcmV0ID0gZmR0X2VuZF9ub2RlKGtpbmZvLT5mZHQpOworICAgIGlmICggcmV0IDwg MCApCisgICAgICAgIGdvdG8gZXJyOworCisgICAgcmV0ID0gZmR0X2ZpbmlzaChraW5mby0+ZmR0 KTsKKyAgICBpZiAoIHJldCA8IDAgKQorICAgICAgICBnb3RvIGVycjsKKworICAgIHJldHVybiAw OworCisgIGVycjoKKyAgICBwcmludGsoIkRldmljZSB0cmVlIGdlbmVyYXRpb24gZmFpbGVkICgl ZCkuXG4iLCByZXQpOworICAgIHhmcmVlKGtpbmZvLT5mZHQpOworICAgIHJldHVybiAtRUlOVkFM OworfQorCiBzdGF0aWMgdm9pZCBhY3BpX21hcF9vdGhlcl90YWJsZXMoc3RydWN0IGRvbWFpbiAq ZCkKIHsKICAgICBpbnQgaTsKQEAgLTE3MDYsNiArMTg0NSwxMCBAQCBzdGF0aWMgaW50IHByZXBh cmVfYWNwaShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQogICAg ICAgICByZXR1cm4gcmM7CiAgICAgfQogCisgICAgcmMgPSBjcmVhdGVfYWNwaV9kdGIoa2luZm8s IHRibF9hZGQpOworICAgIGlmICggcmMgIT0gMCApCisgICAgICAgIHJldHVybiByYzsKKwogICAg IHJldHVybiAwOwogfQogI2Vsc2UKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9lZmkvZWZpLWRv bTAuYyBiL3hlbi9hcmNoL2FybS9lZmkvZWZpLWRvbTAuYwppbmRleCAwZmY2MzA5Li4zYTdiNjAx IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1kb20wLmMKKysrIGIveGVuL2FyY2gv YXJtL2VmaS9lZmktZG9tMC5jCkBAIC0yMyw2ICsyMyw3IEBACiAKICNpbmNsdWRlICJlZmkuaCIK ICNpbmNsdWRlIDx4ZW4vcGZuLmg+CisjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4KICNp bmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vYWNwaS5oPgogCkBAIC0xMzcsMyAr MTM4LDUwIEBAIHZvaWQgX19pbml0IGFjcGlfY3JlYXRlX2VmaV9tbWFwX3RhYmxlKHBhZGRyX3Qg cGFkZHIsIHBhZGRyX3Qgc2l6ZSwKICAgICB0YmxfYWRkW1RCTF9NTUFQXS5zaXplID0gc2l6ZW9m KEVGSV9NRU1PUllfREVTQ1JJUFRPUikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAo bWVtLT5ucl9iYW5rcyArIGFjcGlfbWVtX25yX2JhbmtzICsgMSk7CiB9CisKKy8qIENyZWF0ZSBw bGFjZSBob2xkZXIgZm9yIGVmaSB2YWx1ZXMuICovCitpbnQgX19pbml0IGFybV9hY3BpX21ha2Vf ZWZpX25vZGVzKHZvaWQgKmZkdCwgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtdKQoreworICAgIHU2 NCBmZHRfdmFsNjQ7CisgICAgdTMyIGZkdF92YWwzMjsKKyAgICBpbnQgZGVzY192ZXIgPSAxOwor ICAgIGludCByZXM7CisKKyAgICByZXMgPSBmZHRfYmVnaW5fbm9kZShmZHQsICJ1ZWZpIik7Cisg ICAgaWYgKCByZXMgKQorICAgICAgICByZXR1cm4gcmVzOworCisgICAgZmR0X3ZhbDY0ID0gY3B1 X3RvX2ZkdDY0KHRibF9hZGRbVEJMX0VGSVRdLnN0YXJ0KTsKKyAgICByZXMgPSBmZHRfcHJvcGVy dHkoZmR0LCAieGVuLHVlZmktc3lzdGVtLXRhYmxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAg JmZkdF92YWw2NCwgc2l6ZW9mKGZkdF92YWw2NCkpOworICAgIGlmICggcmVzICkKKyAgICAgICAg cmV0dXJuIHJlczsKKworICAgIGZkdF92YWw2NCA9IGNwdV90b19mZHQ2NCh0YmxfYWRkW1RCTF9N TUFQXS5zdGFydCk7CisgICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwgInhlbix1ZWZpLW1tYXAt c3RhcnQiLAorICAgICAgICAgICAgICAgICAgICAgICAmZmR0X3ZhbDY0LCAgc2l6ZW9mKGZkdF92 YWw2NCkpOworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIHJlczsKKworICAgIGZkdF92 YWwzMiA9IGNwdV90b19mZHQzMih0YmxfYWRkW1RCTF9NTUFQXS5zaXplKTsKKyAgICByZXMgPSBm ZHRfcHJvcGVydHkoZmR0LCAieGVuLHVlZmktbW1hcC1zaXplIiwKKyAgICAgICAgICAgICAgICAg ICAgICAgJmZkdF92YWwzMiwgIHNpemVvZihmZHRfdmFsMzIpKTsKKyAgICBpZiAoIHJlcyApCisg ICAgICAgIHJldHVybiByZXM7CisKKyAgICBmZHRfdmFsMzIgPSBjcHVfdG9fZmR0MzIoc2l6ZW9m KEVGSV9NRU1PUllfREVTQ1JJUFRPUikpOworICAgIHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJ4 ZW4sdWVmaS1tbWFwLWRlc2Mtc2l6ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgJmZkdF92 YWwzMiwgc2l6ZW9mKGZkdF92YWwzMikpOworICAgIGlmICggcmVzICkKKyAgICAgICAgcmV0dXJu IHJlczsKKworICAgIGZkdF92YWwzMiA9IGNwdV90b19mZHQzMihkZXNjX3Zlcik7CisgICAgcmVz ID0gZmR0X3Byb3BlcnR5KGZkdCwgInhlbix1ZWZpLW1tYXAtZGVzYy12ZXIiLAorICAgICAgICAg ICAgICAgICAgICAgICAgICZmZHRfdmFsMzIsIHNpemVvZihmZHRfdmFsMzIpKTsKKyAgICBpZiAo IHJlcyApCisgICAgICAgIHJldHVybiByZXM7CisKKyAgICByZXMgPSBmZHRfZW5kX25vZGUoZmR0 KTsKKworICAgIHJldHVybiByZXM7Cit9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJt L3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKaW5kZXggYjI4OTlmMi4uMDVm MDIxMCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS1hcm0vc2V0dXAuaApAQCAtNjEsNiArNjEsOCBAQCB2b2lkIGFjcGlfY3JlYXRl X2VmaV9tbWFwX3RhYmxlKHBhZGRyX3QgcGFkZHIsIHBhZGRyX3Qgc2l6ZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1lbWluZm8gKm1lbSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtdKTsKIAoraW50 IGFybV9hY3BpX21ha2VfZWZpX25vZGVzKHZvaWQgKmZkdCwgc3RydWN0IG1lbWJhbmsgdGJsX2Fk ZFtdKTsKKwogaW50IGNvbnN0cnVjdF9kb20wKHN0cnVjdCBkb21haW4gKmQpOwogCiB2b2lkIGRp c2NhcmRfaW5pdGlhbF9tb2R1bGVzKHZvaWQpOwotLSAKMi4wLjQKCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK