From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v1 02/20] acpi/hvmloader: Move acpi_info initialization out of ACPI code Date: Tue, 5 Jul 2016 15:05:01 -0400 Message-ID: <1467745519-9868-3-git-send-email-boris.ostrovsky@oracle.com> References: <1467745519-9868-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1467745519-9868-1-git-send-email-boris.ostrovsky@oracle.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: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, julien.grall@arm.com, jbeulich@suse.com, zhaoshenglong@huawei.com, boris.ostrovsky@oracle.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org YWNwaV9pbmZvIGNhbiBiZSBpbml0aWFsaXplZCBieSBodm1sb2FkZXIgaXRzZWxmLiBOb3cgQUNQ SSBjb2RlCmRvZXNuJ3QgbmVlZCB0byB1c2UgaHZtbG9hZGVyLXByaXZhdGUgdmFyaWFibGVzL3Jv dXRpbmVzIHN1Y2ggYXMKdWFydF9leGlzdHMoKSwgbHB0X2V4aXN0cygpIGV0Yy4KClNpZ25lZC1v ZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQpD aGFuZ2VzIGluIHYxOgoqIENyZWF0ZSBsaWJhY3BpLmggZm9yIGxpYmFjcGkgaW50ZXJmYWNlIGRl ZmluaXRpb25zCiogTW92ZSBSU0RQIHN0cnVjdCBhY3BpX2luZm8gcG9pbnRlcnMgaW50byBzdHJ1 Y3QgYWNwaV9jb25maWcgCgogdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYWNwaTJfMC5o IHwgICAxMSAtLS0tCiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jICAgfCAg IDQ4ICsrKy0tLS0tLS0tLS0tLS0tLQogdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvbGli YWNwaS5oIHwgICA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9maXJt d2FyZS9odm1sb2FkZXIvc2VhYmlvcy5jICAgICAgfCAgICAxICsKIHRvb2xzL2Zpcm13YXJlL2h2 bWxvYWRlci91dGlsLmMgICAgICAgICB8ICAgMjEgKysrKysrKystCiA1IGZpbGVzIGNoYW5nZWQs IDEwOSBpbnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0 b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9saWJhY3BpLmgKCmRpZmYgLS1naXQgYS90b29s cy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9hY3BpMl8wLmggYi90b29scy9maXJtd2FyZS9odm1s b2FkZXIvYWNwaS9hY3BpMl8wLmgKaW5kZXggNzhlYjQzZC4uZGRjZWU3NCAxMDA2NDQKLS0tIGEv dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYWNwaTJfMC5oCisrKyBiL3Rvb2xzL2Zpcm13 YXJlL2h2bWxvYWRlci9hY3BpL2FjcGkyXzAuaApAQCAtNDQ5LDE3ICs0NDksNiBAQCBzdHJ1Y3Qg YWNwaV8yMF9zbGl0IHsKICNkZWZpbmUgQUNQSV8yXzBfU1JBVF9SRVZJU0lPTiAweDAxCiAjZGVm aW5lIEFDUElfMl8wX1NMSVRfUkVWSVNJT04gMHgwMQogCi0jcHJhZ21hIHBhY2sgKCkKLQotc3Ry dWN0IGFjcGlfY29uZmlnIHsKLSAgICB1bnNpZ25lZCBjaGFyICpkc2R0X2FueWNwdTsKLSAgICBp bnQgZHNkdF9hbnljcHVfbGVuOwotICAgIHVuc2lnbmVkIGNoYXIgKmRzZHRfMTVjcHU7Ci0gICAg aW50IGRzZHRfMTVjcHVfbGVuOwotfTsKLQotdm9pZCBhY3BpX2J1aWxkX3RhYmxlcyhzdHJ1Y3Qg YWNwaV9jb25maWcgKmNvbmZpZywgdW5zaWduZWQgaW50IHBoeXNpY2FsKTsKLQogI2VuZGlmIC8q IF9BQ1BJXzJfMF9IXyAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9h ZGVyL2FjcGkvYnVpbGQuYyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2J1aWxkLmMK aW5kZXggMWY3MTAzZS4uMTA5MmI0ZSAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9h ZGVyL2FjcGkvYnVpbGQuYworKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWls ZC5jCkBAIC0xNiw2ICsxNiw3IEBACiAgKi8KIAogI2luY2x1ZGUgImFjcGkyXzAuaCIKKyNpbmNs dWRlICJsaWJhY3BpLmgiCiAjaW5jbHVkZSAic3NkdF9zMy5oIgogI2luY2x1ZGUgInNzZHRfczQu aCIKICNpbmNsdWRlICJzc2R0X3RwbS5oIgpAQCAtMzgsMjQgKzM5LDYgQEAgZXh0ZXJuIHN0cnVj dCBhY3BpXzIwX2ZhZHQgRmFkdDsKIGV4dGVybiBzdHJ1Y3QgYWNwaV8yMF9mYWNzIEZhY3M7CiBl eHRlcm4gc3RydWN0IGFjcGlfMjBfd2FldCBXYWV0OwogCi0vKgotICogTG9jYXRlZCBhdCBBQ1BJ X0lORk9fUEhZU0lDQUxfQUREUkVTUy4KLSAqCi0gKiBUaGlzIG11c3QgbWF0Y2ggdGhlIEZpZWxk KCJCSU9TIi4uLi4pIGRlZmluaXRpb24gaW4gdGhlIERTRFQuCi0gKi8KLXN0cnVjdCBhY3BpX2lu Zm8gewotICAgIHVpbnQ4X3QgIGNvbTFfcHJlc2VudDoxOyAgICAvKiAwWzBdIC0gU3lzdGVtIGhh cyBDT00xPyAqLwotICAgIHVpbnQ4X3QgIGNvbTJfcHJlc2VudDoxOyAgICAvKiAwWzFdIC0gU3lz dGVtIGhhcyBDT00yPyAqLwotICAgIHVpbnQ4X3QgIGxwdDFfcHJlc2VudDoxOyAgICAvKiAwWzJd IC0gU3lzdGVtIGhhcyBMUFQxPyAqLwotICAgIHVpbnQ4X3QgIGhwZXRfcHJlc2VudDoxOyAgICAv KiAwWzNdIC0gU3lzdGVtIGhhcyBIUEVUPyAqLwotICAgIHVpbnQxNl90IG5yX2NwdXM7ICAgICAg ICAgICAvKiAyICAgIC0gTnVtYmVyIG9mIENQVXMgKi8KLSAgICB1aW50MzJfdCBwY2lfbWluLCBw Y2lfbGVuOyAgLyogNCwgOCAtIFBDSSBJL08gaG9sZSBib3VuZGFyaWVzICovCi0gICAgdWludDMy X3QgbWFkdF9jc3VtX2FkZHI7ICAgIC8qIDEyICAgLSBBZGRyZXNzIG9mIE1BRFQgY2hlY2tzdW0g Ki8KLSAgICB1aW50MzJfdCBtYWR0X2xhcGljMF9hZGRyOyAgLyogMTYgICAtIEFkZHJlc3Mgb2Yg Zmlyc3QgTUFEVCBMQVBJQyBzdHJ1Y3QgKi8KLSAgICB1aW50MzJfdCB2bV9naWRfYWRkcjsgICAg ICAgLyogMjAgICAtIEFkZHJlc3Mgb2YgVk0gZ2VuZXJhdGlvbiBpZCBidWZmZXIgKi8KLSAgICB1 aW50NjRfdCBwY2lfaGlfbWluLCBwY2lfaGlfbGVuOyAvKiAyNCwgMzIgLSBQQ0kgSS9PIGhvbGUg Ym91bmRhcmllcyAqLwotfTsKLQogc3RhdGljIHZvaWQgc2V0X2NoZWNrc3VtKAogICAgIHZvaWQg KnRhYmxlLCB1aW50MzJfdCBjaGVja3N1bV9vZmZzZXQsIHVpbnQzMl90IGxlbmd0aCkKIHsKQEAg LTM1OCw3ICszNDEsNyBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF9zZWNvbmRhcnlfdGFibGVzKHVu c2lnbmVkIGxvbmcgKnRhYmxlX3B0cnMsCiAgICAgfQogCiAgICAgLyogSFBFVC4gKi8KLSAgICBp ZiAoIGhwZXRfZXhpc3RzKEFDUElfSFBFVF9BRERSRVNTKSApCisgICAgaWYgKCBpbmZvLT5ocGV0 X3ByZXNlbnQgKQogICAgIHsKICAgICAgICAgaHBldCA9IGNvbnN0cnVjdF9ocGV0KCk7CiAgICAg ICAgIGlmICghaHBldCkgcmV0dXJuIC0xOwpAQCAtNDkzLDkgKzQ3Niw4IEBAIHN0YXRpYyBpbnQg bmV3X3ZtX2dpZChzdHJ1Y3QgYWNwaV9pbmZvICphY3BpX2luZm8pCiAgICAgcmV0dXJuIDE7CiB9 CiAKLXZvaWQgYWNwaV9idWlsZF90YWJsZXMoc3RydWN0IGFjcGlfY29uZmlnICpjb25maWcsIHVu c2lnbmVkIGludCBwaHlzaWNhbCkKK3ZvaWQgYWNwaV9idWlsZF90YWJsZXMoc3RydWN0IGFjcGlf Y29uZmlnICpjb25maWcpCiB7Ci0gICAgc3RydWN0IGFjcGlfaW5mbyAqYWNwaV9pbmZvOwogICAg IHN0cnVjdCBhY3BpXzIwX3JzZHAgKnJzZHA7CiAgICAgc3RydWN0IGFjcGlfMjBfcnNkdCAqcnNk dDsKICAgICBzdHJ1Y3QgYWNwaV8yMF94c2R0ICp4c2R0OwpAQCAtNTA2LDExICs0ODgsNiBAQCB2 b2lkIGFjcGlfYnVpbGRfdGFibGVzKHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnLCB1bnNpZ25l ZCBpbnQgcGh5c2ljYWwpCiAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgc2Vjb25kYXJ5X3RhYmxl c1tBQ1BJX01BWF9TRUNPTkRBUllfVEFCTEVTXTsKICAgICBpbnQgICAgICAgICAgICAgICAgICBu cl9zZWNvbmRhcmllcywgaTsKIAotICAgIC8qIEFsbG9jYXRlIGFuZCBpbml0aWFsaXNlIHRoZSBh Y3BpIGluZm8gYXJlYS4gKi8KLSAgICBtZW1faG9sZV9wb3B1bGF0ZV9yYW0oQUNQSV9JTkZPX1BI WVNJQ0FMX0FERFJFU1MgPj4gUEFHRV9TSElGVCwgMSk7Ci0gICAgYWNwaV9pbmZvID0gKHN0cnVj dCBhY3BpX2luZm8gKilBQ1BJX0lORk9fUEhZU0lDQUxfQUREUkVTUzsKLSAgICBtZW1zZXQoYWNw aV9pbmZvLCAwLCBzaXplb2YoKmFjcGlfaW5mbykpOwotCiAgICAgLyoKICAgICAgKiBGaWxsIGlu IGhpZ2gtbWVtb3J5IGRhdGEgc3RydWN0dXJlcywgc3RhcnRpbmcgYXQgQGJ1Zi4KICAgICAgKi8K QEAgLTU3MCw3ICs1NDcsOCBAQCB2b2lkIGFjcGlfYnVpbGRfdGFibGVzKHN0cnVjdCBhY3BpX2Nv bmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgcGh5c2ljYWwpCiAgICAgICAgICAgICAgICAgIG9m ZnNldG9mKHN0cnVjdCBhY3BpX2hlYWRlciwgY2hlY2tzdW0pLAogICAgICAgICAgICAgICAgICBz aXplb2Yoc3RydWN0IGFjcGlfMjBfZmFkdCkpOwogCi0gICAgbnJfc2Vjb25kYXJpZXMgPSBjb25z dHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyhzZWNvbmRhcnlfdGFibGVzLCBhY3BpX2luZm8pOworICAg IG5yX3NlY29uZGFyaWVzID0gY29uc3RydWN0X3NlY29uZGFyeV90YWJsZXMoc2Vjb25kYXJ5X3Rh YmxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZj b25maWctPmFpbmZvKTsKICAgICBpZiAoIG5yX3NlY29uZGFyaWVzIDwgMCApCiAgICAgICAgIGdv dG8gb29tOwogCkBAIC02MDMsNyArNTgxLDcgQEAgdm9pZCBhY3BpX2J1aWxkX3RhYmxlcyhzdHJ1 Y3QgYWNwaV9jb25maWcgKmNvbmZpZywgdW5zaWduZWQgaW50IHBoeXNpY2FsKQogICAgIC8qCiAg ICAgICogRmlsbCBpbiBsb3ctbWVtb3J5IGRhdGEgc3RydWN0dXJlczogYWNwaV9pbmZvIGFuZCBS U0RQLgogICAgICAqLwotICAgIHJzZHAgPSAoc3RydWN0IGFjcGlfMjBfcnNkcCAqKXBoeXNpY2Fs OworICAgIHJzZHAgPSAoc3RydWN0IGFjcGlfMjBfcnNkcCAqKWNvbmZpZy0+cnNkcDsKIAogICAg IG1lbWNweShyc2RwLCAmUnNkcCwgc2l6ZW9mKHN0cnVjdCBhY3BpXzIwX3JzZHApKTsKICAgICBy c2RwLT5yc2R0X2FkZHJlc3MgPSAodW5zaWduZWQgbG9uZylyc2R0OwpAQCAtNjE1LDIwICs1OTMs MTAgQEAgdm9pZCBhY3BpX2J1aWxkX3RhYmxlcyhzdHJ1Y3QgYWNwaV9jb25maWcgKmNvbmZpZywg dW5zaWduZWQgaW50IHBoeXNpY2FsKQogICAgICAgICAgICAgICAgICBvZmZzZXRvZihzdHJ1Y3Qg YWNwaV8yMF9yc2RwLCBleHRlbmRlZF9jaGVja3N1bSksCiAgICAgICAgICAgICAgICAgIHNpemVv ZihzdHJ1Y3QgYWNwaV8yMF9yc2RwKSk7CiAKLSAgICBpZiAoICFuZXdfdm1fZ2lkKGFjcGlfaW5m bykgKQorICAgIGlmICggIW5ld192bV9naWQoJmNvbmZpZy0+YWluZm8pICkKICAgICAgICAgZ290 byBvb207CiAKLSAgICBhY3BpX2luZm8tPmNvbTFfcHJlc2VudCA9IHVhcnRfZXhpc3RzKDB4M2Y4 KTsKLSAgICBhY3BpX2luZm8tPmNvbTJfcHJlc2VudCA9IHVhcnRfZXhpc3RzKDB4MmY4KTsKLSAg ICBhY3BpX2luZm8tPmxwdDFfcHJlc2VudCA9IGxwdF9leGlzdHMoMHgzNzgpOwotICAgIGFjcGlf aW5mby0+aHBldF9wcmVzZW50ID0gaHBldF9leGlzdHMoQUNQSV9IUEVUX0FERFJFU1MpOwotICAg IGFjcGlfaW5mby0+cGNpX21pbiA9IHBjaV9tZW1fc3RhcnQ7Ci0gICAgYWNwaV9pbmZvLT5wY2lf bGVuID0gcGNpX21lbV9lbmQgLSBwY2lfbWVtX3N0YXJ0OwotICAgIGlmICggcGNpX2hpX21lbV9l bmQgPiBwY2lfaGlfbWVtX3N0YXJ0ICkKLSAgICB7Ci0gICAgICAgIGFjcGlfaW5mby0+cGNpX2hp X21pbiA9IHBjaV9oaV9tZW1fc3RhcnQ7Ci0gICAgICAgIGFjcGlfaW5mby0+cGNpX2hpX2xlbiA9 IHBjaV9oaV9tZW1fZW5kIC0gcGNpX2hpX21lbV9zdGFydDsKLSAgICB9CisgICAgKihzdHJ1Y3Qg YWNwaV9pbmZvICopY29uZmlnLT5haW5mb3AgPSBjb25maWctPmFpbmZvOwogCiAgICAgcmV0dXJu OwogCmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9saWJhY3BpLmgg Yi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9saWJhY3BpLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4ZWVlMQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2Zp cm13YXJlL2h2bWxvYWRlci9hY3BpL2xpYmFjcGkuaApAQCAtMCwwICsxLDgwIEBACisvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCisgKiBsaWJhY3BpLmgKKyAqIAorICogbGliYWNwaSBpbnRlcmZhY2Vz CisgKiAKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICogZGVh bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg bGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUg aXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3Rh bnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S CisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF IEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBP UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBP VEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9S VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O IFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElOIFRI RSBTT0ZUV0FSRS4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgT3JhY2xlIGFuZC9vciBpdHMg YWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqLworCisKKyNpZm5kZWYgX19MSUJB Q1BJX0hfXworI2RlZmluZSBfX0xJQkFDUElfSF9fCisKKyNwcmFnbWEgcGFjayAoKQorCisvKgor ICogVGhpcyBtdXN0IG1hdGNoIHRoZSBGaWVsZCgiQklPUyIuLi4uKSBkZWZpbml0aW9uIGluIHRo ZSBEU0RULgorICovCitzdHJ1Y3QgYWNwaV9pbmZvIHsKKyAgICB1aW50OF90ICBjb20xX3ByZXNl bnQ6MTsgICAgLyogMFswXSAtIFN5c3RlbSBoYXMgQ09NMT8gKi8KKyAgICB1aW50OF90ICBjb20y X3ByZXNlbnQ6MTsgICAgLyogMFsxXSAtIFN5c3RlbSBoYXMgQ09NMj8gKi8KKyAgICB1aW50OF90 ICBscHQxX3ByZXNlbnQ6MTsgICAgLyogMFsyXSAtIFN5c3RlbSBoYXMgTFBUMT8gKi8KKyAgICB1 aW50OF90ICBocGV0X3ByZXNlbnQ6MTsgICAgLyogMFszXSAtIFN5c3RlbSBoYXMgSFBFVD8gKi8K KyAgICB1aW50MTZfdCBucl9jcHVzOyAgICAgICAgICAgLyogMiAgICAtIE51bWJlciBvZiBDUFVz ICovCisgICAgdWludDMyX3QgcGNpX21pbiwgcGNpX2xlbjsgIC8qIDQsIDggLSBQQ0kgSS9PIGhv bGUgYm91bmRhcmllcyAqLworICAgIHVpbnQzMl90IG1hZHRfY3N1bV9hZGRyOyAgICAvKiAxMiAg IC0gQWRkcmVzcyBvZiBNQURUIGNoZWNrc3VtICovCisgICAgdWludDMyX3QgbWFkdF9sYXBpYzBf YWRkcjsgIC8qIDE2ICAgLSBBZGRyZXNzIG9mIGZpcnN0IE1BRFQgTEFQSUMgc3RydWN0ICovCisg ICAgdWludDMyX3Qgdm1fZ2lkX2FkZHI7ICAgICAgIC8qIDIwICAgLSBBZGRyZXNzIG9mIFZNIGdl bmVyYXRpb24gaWQgYnVmZmVyICovCisgICAgdWludDY0X3QgcGNpX2hpX21pbiwgcGNpX2hpX2xl bjsgLyogMjQsIDMyIC0gUENJIEkvTyBob2xlIGJvdW5kYXJpZXMgKi8KK307CisKK3N0cnVjdCBh Y3BpX2NvbmZpZyB7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZHNkdF9hbnljcHU7CisgICAg dW5zaWduZWQgaW50IGRzZHRfYW55Y3B1X2xlbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpk c2R0XzE1Y3B1OworICAgIHVuc2lnbmVkIGludCBkc2R0XzE1Y3B1X2xlbjsKKworICAgIC8qIE1h eSBoYXZlIHNvbWUgZmllbGRzIHVwZGF0ZWQgYnkgYWNwaV9idWlsZF90YWJsZSgpICovCisgICAg c3RydWN0IGFjcGlfaW5mbyBhaW5mbzsKKyAgICAvKgorICAgICAqIEFkZHJlc3Mgd2hlcmUgYWNw aV9pbmZvIHNob3VsZCBiZSBwbGFjZWQuCisgICAgICogVGhpcyBtdXN0IG1hdGNoIHRoZSBPcGVy YXRpb25SZWdpb24oQklPUywgU3lzdGVtTWVtb3J5LCAuLi4uKQorICAgICAqIGRlZmluaXRpb24g aW4gdGhlIERTRFQKKyAgICAgKi8KKyAgICB1bnNpZ25lZCBpbnQgYWluZm9wOworCisgICAgLyog UlNEUCBhZGRyZXNzICovCisgICAgdW5zaWduZWQgaW50IHJzZHA7Cit9OworCit2b2lkIGFjcGlf YnVpbGRfdGFibGVzKHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKTsKKworI2VuZGlmIC8qIF9f TElCQUNQSV9IX18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAq IGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6 IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS90 b29scy9maXJtd2FyZS9odm1sb2FkZXIvc2VhYmlvcy5jIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9h ZGVyL3NlYWJpb3MuYwppbmRleCA5ZjY2YTc5Li4yZmJjM2FmIDEwMDY0NAotLS0gYS90b29scy9m aXJtd2FyZS9odm1sb2FkZXIvc2VhYmlvcy5jCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRl ci9zZWFiaW9zLmMKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgInNtYmlvc190eXBlcy5o IgogI2luY2x1ZGUgImFjcGkvYWNwaTJfMC5oIgorI2luY2x1ZGUgImFjcGkvbGliYWNwaS5oIgog CiAjZGVmaW5lIFJPTV9JTkNMVURFX1NFQUJJT1MKICNpbmNsdWRlICJyb21zLmluYyIKZGlmZiAt LWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMgYi90b29scy9maXJtd2FyZS9o dm1sb2FkZXIvdXRpbC5jCmluZGV4IDlhZjI5YjEuLjQyOTNlZmEgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMKKysrIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVy L3V0aWwuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgImh5cGVyY2FsbC5oIgogI2luY2x1 ZGUgImN0eXBlLmgiCiAjaW5jbHVkZSAiYWNwaS9hY3BpMl8wLmgiCisjaW5jbHVkZSAiYWNwaS9s aWJhY3BpLmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8eGVuL3hlbi5oPgogI2lu Y2x1ZGUgPHhlbi9tZW1vcnkuaD4KQEAgLTg2MCw3ICs4NjEsMjUgQEAgaW50IGhwZXRfZXhpc3Rz KHVuc2lnbmVkIGxvbmcgaHBldF9iYXNlKQogdm9pZCBodm1sb2FkZXJfYWNwaV9idWlsZF90YWJs ZXMoc3RydWN0IGFjcGlfY29uZmlnICpjb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgcGh5c2ljYWwpCiB7Ci0gICAgYWNwaV9idWlsZF90YWJsZXMo Y29uZmlnLCBwaHlzaWNhbCk7CisgICAgLyogQWxsb2NhdGUgYW5kIGluaXRpYWxpc2UgdGhlIGFj cGkgaW5mbyBhcmVhLiAqLworICAgIG1lbV9ob2xlX3BvcHVsYXRlX3JhbShBQ1BJX0lORk9fUEhZ U0lDQUxfQUREUkVTUyA+PiBQQUdFX1NISUZULCAxKTsKKworICAgIGNvbmZpZy0+YWluZm8uY29t MV9wcmVzZW50ID0gdWFydF9leGlzdHMoMHgzZjgpOworICAgIGNvbmZpZy0+YWluZm8uY29tMl9w cmVzZW50ID0gdWFydF9leGlzdHMoMHgyZjgpOworICAgIGNvbmZpZy0+YWluZm8ubHB0MV9wcmVz ZW50ID0gbHB0X2V4aXN0cygweDM3OCk7CisgICAgY29uZmlnLT5haW5mby5ocGV0X3ByZXNlbnQg PSBocGV0X2V4aXN0cyhBQ1BJX0hQRVRfQUREUkVTUyk7CisgICAgY29uZmlnLT5haW5mby5wY2lf bWluID0gcGNpX21lbV9zdGFydDsKKyAgICBjb25maWctPmFpbmZvLnBjaV9sZW4gPSBwY2lfbWVt X2VuZCAtIHBjaV9tZW1fc3RhcnQ7CisgICAgaWYgKCBwY2lfaGlfbWVtX2VuZCA+IHBjaV9oaV9t ZW1fc3RhcnQgKQorICAgIHsKKyAgICAgICAgY29uZmlnLT5haW5mby5wY2lfaGlfbWluID0gcGNp X2hpX21lbV9zdGFydDsKKyAgICAgICAgY29uZmlnLT5haW5mby5wY2lfaGlfbGVuID0gcGNpX2hp X21lbV9lbmQgLSBwY2lfaGlfbWVtX3N0YXJ0OworICAgIH0KKworICAgIGNvbmZpZy0+cnNkcCA9 IHBoeXNpY2FsOworICAgIGNvbmZpZy0+YWluZm9wID0gQUNQSV9JTkZPX1BIWVNJQ0FMX0FERFJF U1M7CisKKyAgICBhY3BpX2J1aWxkX3RhYmxlcyhjb25maWcpOwogfQogCiAvKgotLSAKMS43LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK