From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 07/11] x86/emul: Add pending_dbg field to x86_event Date: Mon, 4 Jun 2018 14:59:11 +0100 Message-ID: <1528120755-17455-8-git-send-email-andrew.cooper3@citrix.com> References: <1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Kevin Tian , Wei Liu , Jan Beulich , Andrew Cooper , Tim Deegan , Jun Nakajima , Boris Ostrovsky , Brian Woods , Suravee Suthikulpanit , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org QWxsICNEQiBleGNlcHRpb25zIHJlc3VsdCBpbiBhbiB1cGRhdGUgb2YgJWRyNiwgYnV0IHRoaXMg aXNuJ3QgY2FwdHVyZWQgaW4KWGVuJ3MgaGFuZGxpbmcuCgpQViBndWVzdHMgZ2VuZXJhbGx5IHdv cmsgYnkgbW9kaWZ5aW5nICVkcjYgYmVmb3JlIHJhaXNpbmcgI0RCLCB3aGVyZWFzIEhWTQpndWVz dHMgZG8gbm90aGluZyBhbmQgaGF2ZSBhIHNpbmdsZS1zdGVwIHNwZWNpYWwgY2FzZSBpbiB0aGUg bG93ZXN0IGxldmVscyBvZgp7dm14LHN2bX1faW5qZWN0X2V2ZW50KCkuICBBbGwgb2YgdGhpcyBp cyBidWdneSwgYnV0IGluIHBhcnRpY3VsYXIsIHRhc2sKc3dpdGNoZXMgd2l0aCB0aGUgdHJhY2Ug ZmxhZyBuZXZlciBlbmQgdXAgc2lnbmFsbGluZyBCVCBpbiAlZHI2LgoKVG8gYmVnaW4gcmVzb2x2 aW5nIHRoaXMgaXNzdWUsIGFkZCBhIG5ldyBwZW5kaW5nX2RiZyBmaWVsZCB0byB4ODZfZXZlbnQK KHVuaW9uZWQgd2l0aCBjcjIgdG8gYXZvaWQgdGFraW5nIGFueSBleHRyYSBzcGFjZSksIGFuZCBp bnRyb2R1Y2UKe3B2LGh2bX1faW5qZWN0X2RlYnVnX2V4bigpIGhlbHBlcnMgdG8gcmVwbGFjZSB0 aGUgY3VycmVudCBjYWxsZXJzIHVzaW5nCntwdixodm19X2luamVjdF9od19leGNlcHRpb24oKS4K CkEga2V5IHByb3BlcnR5IGlzIHRoYXQgcGVuZGluZ19kYmcgaXMgdGFrZW4gd2l0aCBwb3NpdGl2 ZSBwb2xhcml0eSB0byBkZWFsCndpdGggUlRNIHNlbnNpYmx5LiAgTW9zdCBjYWxsZXJzIHBhc3Mg aW4gYSBjb25zdGFudCwgYnV0IGNhbGxlcnMgcGFzc2luZyBpbiBhCmhhcmR3YXJlICVkcjYgdmFs dWUgbmVlZCB0byB4b3IgdGhlIHZhbHVlIHdpdGggWDg2X0RSNl9ERUZBVUxUIHRvIGZsaXAgdGhl CnBvbGFyaXR5IG9mIFJUTSBhbmQgcmVzZXJ2ZWQgZmllbGRzLgoKRm9yIFBWIGd1ZXN0cywgbW92 ZSB0aGUgYWQtaG9jIHVwZGF0aW5nIG9mICVkcjYgaW50byBwdl9pbmplY3RfZXZlbnQoKS4gIFRo aXMKaW4gcHJpbmNpcGxlIGJyZWFrcyB0aGUgaGFuZGluZyBvZiBSVE0gaW4gZG9fZGVidWcoKSwg YnV0IFBWIGd1ZXN0cyBjYW4ndAphY3R1YWxseSBlbmFibGUgTVNSX0RFQlVHQ1RMLlJUTSB5ZXQs IHNvIHRoaXMgZG9lc24ndCBtYXR0ZXIgaW4gcHJhY3RpY2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRy ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNo IDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkND OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ0M6IEp1biBOYWthamlt YSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgpDQzogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4K Q0M6IFN1cmF2ZWUgU3V0aGlrdWxwYW5pdCA8c3VyYXZlZS5zdXRoaWt1bHBhbml0QGFtZC5jb20+ CkNDOiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRp bUB4ZW4ub3JnPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jICAgICAgICAgICAgIHwg IDMgKystCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgICAgICB8ICAyICstCiB4 ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyAgICAgICAgICAgICB8ICA5ICsrKysrKy0tLQogeGVu L2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgICAgICAgICAgfCAxMyArKysrKysrKy0tLS0tCiB4 ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMgICAgICAgICB8ICA1ICsrKy0tCiB4ZW4vYXJj aC94ODYvcHYvZW11bC1wcml2LW9wLmMgICAgICAgICB8IDExICsrKysrLS0tLS0tCiB4ZW4vYXJj aC94ODYvcHYvZW11bGF0ZS5jICAgICAgICAgICAgICB8ICA2ICsrLS0tLQogeGVuL2FyY2gveDg2 L3B2L3JvLXBhZ2UtZmF1bHQuYyAgICAgICAgfCAgMyArKy0KIHhlbi9hcmNoL3g4Ni9wdi90cmFw cy5jICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKysrKysrLS0tLQogeGVuL2FyY2gveDg2L3Ry YXBzLmMgICAgICAgICAgICAgICAgICAgfCAgNyArLS0tLS0tCiB4ZW4vYXJjaC94ODYveDg2X2Vt dWxhdGUveDg2X2VtdWxhdGUuaCB8ICA1ICsrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFp bi5oICAgICAgICAgICB8IDEyICsrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v aHZtLmggICAgICAgICAgfCAxNSArKysrKysrKysrKysrKy0KIDEzIGZpbGVzIGNoYW5nZWQsIDcy IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9odm0vZW11bGF0ZS5jIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKaW5kZXggYzlhYTE4 OC4uMDI5MjA1OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKKysrIGIv eGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDx4 ZW4vcGFnaW5nLmg+CiAjaW5jbHVkZSA8eGVuL3RyYWNlLmg+CiAjaW5jbHVkZSA8eGVuL3ZtX2V2 ZW50Lmg+CisjaW5jbHVkZSA8YXNtL2RlYnVncmVnLmg+CiAjaW5jbHVkZSA8YXNtL2V2ZW50Lmg+ CiAjaW5jbHVkZSA8YXNtL2kzODcuaD4KICNpbmNsdWRlIDxhc20veHN0YXRlLmg+CkBAIC0yMjgz LDcgKzIyODQsNyBAQCBzdGF0aWMgaW50IF9odm1fZW11bGF0ZV9vbmUoc3RydWN0IGh2bV9lbXVs YXRlX2N0eHQgKmh2bWVtdWxfY3R4dCwKICAgICB9CiAKICAgICBpZiAoIGh2bWVtdWxfY3R4dC0+ Y3R4dC5yZXRpcmUuc2luZ2xlc3RlcCApCi0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9u KFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CisgICAgICAgIGh2bV9pbmplY3RfZGVidWdf ZXhuKFg4Nl9EUjZfQlMpOwogCiAgICAgbmV3X2ludHJfc2hhZG93ID0gaHZtZW11bF9jdHh0LT5p bnRyX3NoYWRvdzsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9h cmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggNGY4MjVhMi4uYjM1Y2Y1NCAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0zMTE1 LDcgKzMxMTUsNyBAQCB2b2lkIGh2bV90YXNrX3N3aXRjaCgKICAgICB9CiAKICAgICBpZiAoICh0 c3MudHJhY2UgJiAxKSAmJiAhZXhuX3JhaXNlZCApCi0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhj ZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CisgICAgICAgIGh2bV9pbmplY3Rf ZGVidWdfZXhuKFg4Nl9EUjZfQlQpOwogCiAgb3V0OgogICAgIGh2bV91bm1hcF9lbnRyeShvcHRz c19kZXNjKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jIGIveGVuL2Fy Y2gveDg2L2h2bS9zdm0vc3ZtLmMKaW5kZXggZGFiYjk2Zi4uYzA2YmQ2OCAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3Zt LmMKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIF9fdXBkYXRlX2d1ZXN0X2VpcChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGluc3RfbGVuKQogICAgIGN1cnItPmFyY2gu aHZtX3N2bS52bWNiLT5pbnRlcnJ1cHRfc2hhZG93ID0gMDsKIAogICAgIGlmICggcmVncy0+ZWZs YWdzICYgWDg2X0VGTEFHU19URiApCi0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRS QVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CisgICAgICAgIGh2bV9pbmplY3RfZGVidWdfZXhu KFg4Nl9EUjZfQlMpOwogfQogCiBzdGF0aWMgdm9pZCBzdm1fY3B1X2Rvd24odm9pZCkKQEAgLTI3 OTgsNyArMjc5OCwxMCBAQCB2b2lkIHN2bV92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncykKICAgICAgICAgICAgICAgICBnb3RvIHVuZXhwZWN0ZWRfZXhpdF90eXBlOwog ICAgICAgICAgICAgaWYgKCAhcmMgKQogICAgICAgICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0 aW9uKFRSQVBfZGVidWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh cF90eXBlLCBpbnN0X2xlbiwgWDg2X0VWRU5UX05PX0VDKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0cmFwX3R5cGUsIGluc3RfbGVuLCBYODZfRVZFTlRfTk9fRUMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhpdF9yZWFzb24gPT0gVk1FWElU X0lDRUJQID8gMCA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogI0RC IC0gSGFyZHdhcmUgYWxyZWFkeSB1cGRhdGVkIGRyNi4gKi8KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2bWNiX2dldF9kcjYodm1jYikgXiBYODZfRFI2X0RFRkFVTFQpOwog ICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGRvbWFpbl9wYXVzZV9mb3JfZGVi dWdnZXIoKTsKQEAgLTI4MzAsNyArMjgzMyw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICBpZiAoICFyYyApCiAgICAgICAg ICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2ludDMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBYODZfRVZFTlRUWVBFX1NXX0VYQ0VQVElPTiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RfbGVuLCBYODZfRVZFTlRfTk9fRUMpOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdF9sZW4sIFg4Nl9FVkVOVF9O T19FQywgMCAvKiBOL0EgKi8pOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Zt eC5jCmluZGV4IGJmYTNhMGQuLjM5YzlkZGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v dm14L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0yNDgzLDcgKzI0 ODMsNyBAQCB2b2lkIHVwZGF0ZV9ndWVzdF9laXAodm9pZCkKICAgICB9CiAKICAgICBpZiAoIHJl Z3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfVEYgKQotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2Vw dGlvbihUUkFQX2RlYnVnLCBYODZfRVZFTlRfTk9fRUMpOworICAgICAgICBodm1faW5qZWN0X2Rl YnVnX2V4bihYODZfRFI2X0JTKTsKIH0KIAogc3RhdGljIHZvaWQgdm14X2ZwdV9kaXJ0eV9pbnRl cmNlcHQodm9pZCkKQEAgLTMzODIsNyArMzM4Miw3IEBAIHN0YXRpYyBpbnQgdm14X2hhbmRsZV9l b2lfd3JpdGUodm9pZCkKICAqIEl0IGlzIHRoZSBjYWxsZXJzIHJlc3BvbnNpYmlsaXR5IHRvIGVu c3VyZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgb25seSB1c2VkCiAgKiBpbiB0aGUgY29udGV4dCBv ZiBhbiBhcHByb3ByaWF0ZSB2bWV4aXQuCiAgKi8KLXN0YXRpYyB2b2lkIHZteF9wcm9wYWdhdGVf aW50cih1bnNpZ25lZCBsb25nIGludHIpCitzdGF0aWMgdm9pZCB2bXhfcHJvcGFnYXRlX2ludHIo dW5zaWduZWQgbG9uZyBpbnRyLCB1bnNpZ25lZCBsb25nIHBlbmRpbmdfZGJnKQogewogICAgIHN0 cnVjdCB4ODZfZXZlbnQgZXZlbnQgPSB7CiAgICAgICAgIC52ZWN0b3IgPSBNQVNLX0VYVFIoaW50 ciwgSU5UUl9JTkZPX1ZFQ1RPUl9NQVNLKSwKQEAgLTM0MDYsNiArMzQwNiw5IEBAIHN0YXRpYyB2 b2lkIHZteF9wcm9wYWdhdGVfaW50cih1bnNpZ25lZCBsb25nIGludHIpCiAgICAgZWxzZQogICAg ICAgICBldmVudC5pbnNuX2xlbiA9IDA7CiAKKyAgICBpZiAoIGV2ZW50LnZlY3RvciA9PSBUUkFQ X2RlYnVnICkKKyAgICAgICAgZXZlbnQucGVuZGluZ19kYmcgPSBwZW5kaW5nX2RiZzsKKwogICAg IGh2bV9pbmplY3RfZXZlbnQoJmV2ZW50KTsKIH0KIApAQCAtMzcxNSw3ICszNzE4LDcgQEAgdm9p ZCB2bXhfdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg ICAgICAgICAgaWYgKCByYyA8IDAgKQogICAgICAgICAgICAgICAgICAgICBnb3RvIGV4aXRfYW5k X2NyYXNoOwogICAgICAgICAgICAgICAgIGlmICggIXJjICkKLSAgICAgICAgICAgICAgICAgICAg dm14X3Byb3BhZ2F0ZV9pbnRyKGludHJfaW5mbyk7CisgICAgICAgICAgICAgICAgICAgIHZteF9w cm9wYWdhdGVfaW50cihpbnRyX2luZm8sIGV4aXRfcXVhbGlmaWNhdGlvbik7CiAgICAgICAgICAg ICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZG9tYWluX3BhdXNlX2Zvcl9k ZWJ1Z2dlcigpOwpAQCAtMzczNiw3ICszNzM5LDcgQEAgdm9pZCB2bXhfdm1leGl0X2hhbmRsZXIo c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgICAgICAgICAgaWYgKCByYyA8IDAg KQogICAgICAgICAgICAgICAgICAgICBnb3RvIGV4aXRfYW5kX2NyYXNoOwogICAgICAgICAgICAg ICAgIGlmICggIXJjICkKLSAgICAgICAgICAgICAgICAgICAgdm14X3Byb3BhZ2F0ZV9pbnRyKGlu dHJfaW5mbyk7CisgICAgICAgICAgICAgICAgICAgIHZteF9wcm9wYWdhdGVfaW50cihpbnRyX2lu Zm8sIDAgLyogTi9BICovKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAg ICAgICAgIHsKQEAgLTM3NzYsNyArMzc3OSw3IEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh c2UgVFJBUF9hbGlnbm1lbnRfY2hlY2s6CiAgICAgICAgICAgICBIVk1UUkFDRV8xRChUUkFQLCB2 ZWN0b3IpOwotICAgICAgICAgICAgdm14X3Byb3BhZ2F0ZV9pbnRyKGludHJfaW5mbyk7CisgICAg ICAgICAgICB2bXhfcHJvcGFnYXRlX2ludHIoaW50cl9pbmZvLCAwIC8qIE4vQSAqLyk7CiAgICAg ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUUkFQX25taToKICAgICAgICAgICAgIGlmICgg TUFTS19FWFRSKGludHJfaW5mbywgSU5UUl9JTkZPX0lOVFJfVFlQRV9NQVNLKSAhPQpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jIGIveGVuL2FyY2gveDg2L21tL3No YWRvdy9tdWx0aS5jCmluZGV4IGRhNTg2YzIuLjU3ZDI0ZDkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9tbS9zaGFkb3cvbXVsdGkuYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRp LmMKQEAgLTMwLDYgKzMwLDcgQEAgYXNtKCIuZmlsZSBcIiIgX19PQkpFQ1RfRklMRV9fICJcIiIp OwogI2luY2x1ZGUgPHhlbi9wZXJmYy5oPgogI2luY2x1ZGUgPHhlbi9kb21haW5fcGFnZS5oPgog I2luY2x1ZGUgPHhlbi9pb2NhcC5oPgorI2luY2x1ZGUgPGFzbS9kZWJ1Z3JlZy5oPgogI2luY2x1 ZGUgPHhzbS94c20uaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9jdXJy ZW50Lmg+CkBAIC0zNDUzLDcgKzM0NTQsNyBAQCBzdGF0aWMgaW50IHNoX3BhZ2VfZmF1bHQoc3Ry dWN0IHZjcHUgKnYsCiAjZW5kaWYKIAogICAgIGlmICggZW11bF9jdHh0LmN0eHQucmV0aXJlLnNp bmdsZXN0ZXAgKQotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBY ODZfRVZFTlRfTk9fRUMpOworICAgICAgICBodm1faW5qZWN0X2RlYnVnX2V4bihYODZfRFI2X0JT KTsKIAogI2lmIEdVRVNUX1BBR0lOR19MRVZFTFMgPT0gMyAvKiBQQUUgZ3Vlc3QgKi8KICAgICAv KgpAQCAtMzQ5NCw3ICszNDk1LDcgQEAgc3RhdGljIGludCBzaF9wYWdlX2ZhdWx0KHN0cnVjdCB2 Y3B1ICp2LAogICAgICAgICAgICAgICAgIFRSQUNFX1NIQURPV19QQVRIX0ZMQUcoVFJDRV9TRkxB R19FTVVMQVRJT05fTEFTVF9GQUlMRUQpOwogCiAgICAgICAgICAgICAgICAgaWYgKCBlbXVsX2N0 eHQuY3R4dC5yZXRpcmUuc2luZ2xlc3RlcCApCi0gICAgICAgICAgICAgICAgICAgIGh2bV9pbmpl Y3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CisgICAgICAgICAg ICAgICAgICAgIGh2bV9pbmplY3RfZGVidWdfZXhuKFg4Nl9EUjZfQlMpOwogCiAgICAgICAgICAg ICAgICAgYnJlYWs7IC8qIERvbid0IGVtdWxhdGUgYWdhaW4gaWYgd2UgZmFpbGVkISAqLwogICAg ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jIGIv eGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jCmluZGV4IGRmZGU3MGUuLjQ1Nzg4YjIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYworKysgYi94ZW4vYXJjaC94 ODYvcHYvZW11bC1wcml2LW9wLmMKQEAgLTEzNjYsMTIgKzEzNjYsMTEgQEAgaW50IHB2X2VtdWxh dGVfcHJpdmlsZWdlZF9vcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAgICAgICBp ZiAoIGN0eHQuY3R4dC5yZXRpcmUuc2luZ2xlc3RlcCApCiAgICAgICAgICAgICBjdHh0LmJwbWF0 Y2ggfD0gRFJfU1RFUDsKLSAgICAgICAgaWYgKCBjdHh0LmJwbWF0Y2ggKQotICAgICAgICB7Ci0g ICAgICAgICAgICBjdXJyLT5hcmNoLmRyNiB8PSBjdHh0LmJwbWF0Y2ggfCBEUl9TVEFUVVNfUkVT RVJWRURfT05FOwotICAgICAgICAgICAgaWYgKCAhKGN1cnItPmFyY2gucHZfdmNwdS50cmFwX2Jv dW5jZS5mbGFncyAmIFRCRl9FWENFUFRJT04pICkKLSAgICAgICAgICAgICAgICBwdl9pbmplY3Rf aHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7Ci0gICAgICAgIH0KKwor ICAgICAgICBpZiAoIGN0eHQuYnBtYXRjaCAmJgorICAgICAgICAgICAgICEoY3Vyci0+YXJjaC5w dl92Y3B1LnRyYXBfYm91bmNlLmZsYWdzICYgVEJGX0VYQ0VQVElPTikgKQorICAgICAgICAgICAg cHZfaW5qZWN0X2RlYnVnX2V4bihjdHh0LmJwbWF0Y2gpOworCiAgICAgICAgIC8qIGZhbGwgdGhy b3VnaCAqLwogICAgIGNhc2UgWDg2RU1VTF9SRVRSWToKICAgICAgICAgcmV0dXJuIEVYQ1JFVF9m YXVsdF9maXhlZDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9lbXVsYXRlLmMgYi94ZW4v YXJjaC94ODYvcHYvZW11bGF0ZS5jCmluZGV4IDc1N2ZmZDEuLjU0MmI2ZDAgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9wdi9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2VtdWxhdGUu YwpAQCAtNzYsMTEgKzc2LDkgQEAgdm9pZCBwdl9lbXVsX2luc3RydWN0aW9uX2RvbmUoc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgcmlwKQogewogICAgIHJlZ3MtPnJp cCA9IHJpcDsKICAgICByZWdzLT5lZmxhZ3MgJj0gflg4Nl9FRkxBR1NfUkY7CisKICAgICBpZiAo IHJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfVEYgKQotICAgIHsKLSAgICAgICAgY3VycmVudC0+ YXJjaC5kcjYgfD0gRFJfU1RFUCB8IERSX1NUQVRVU19SRVNFUlZFRF9PTkU7Ci0gICAgICAgIHB2 X2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgWDg2X0VWRU5UX05PX0VDKTsKLSAgICB9 CisgICAgICAgIHB2X2luamVjdF9kZWJ1Z19leG4oWDg2X0RSNl9CUyk7CiB9CiAKIC8qCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvcHYvcm8tcGFnZS1mYXVsdC5jIGIveGVuL2FyY2gveDg2L3B2 L3JvLXBhZ2UtZmF1bHQuYwppbmRleCBhYThkNWE3Li4zMzg3M2M5IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvcHYvcm8tcGFnZS1mYXVsdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9yby1wYWdl LWZhdWx0LmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNpbmNs dWRlIDx4ZW4vdHJhY2UuaD4KIAorI2luY2x1ZGUgPGFzbS9kZWJ1Z3JlZy5oPgogI2luY2x1ZGUg PGFzbS9kb21haW4uaD4KICNpbmNsdWRlIDxhc20vbW0uaD4KICNpbmNsdWRlIDxhc20vcGNpLmg+ CkBAIC0zODcsNyArMzg4LDcgQEAgaW50IHB2X3JvX3BhZ2VfZmF1bHQodW5zaWduZWQgbG9uZyBh ZGRyLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgLyogRmFsbHRocm91Z2gg Ki8KICAgICBjYXNlIFg4NkVNVUxfT0tBWToKICAgICAgICAgaWYgKCBjdHh0LnJldGlyZS5zaW5n bGVzdGVwICkKLSAgICAgICAgICAgIHB2X2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1Zywg WDg2X0VWRU5UX05PX0VDKTsKKyAgICAgICAgICAgIHB2X2luamVjdF9kZWJ1Z19leG4oWDg2X0RS Nl9CUyk7CiAKICAgICAgICAgLyogRmFsbHRocm91Z2ggKi8KICAgICBjYXNlIFg4NkVNVUxfUkVU Ulk6CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni9w di90cmFwcy5jCmluZGV4IGY0OGRiOTIuLjdkNDhkODMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9wdi90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi90cmFwcy5jCkBAIC0yNiw2ICsyNiw3 IEBACiAjaW5jbHVkZSA8eGVuL3NvZnRpcnEuaD4KIAogI2luY2x1ZGUgPGFzbS9hcGljLmg+Cisj aW5jbHVkZSA8YXNtL2RlYnVncmVnLmg+CiAjaW5jbHVkZSA8YXNtL3NoYXJlZC5oPgogI2luY2x1 ZGUgPGFzbS90cmFwcy5oPgogCkBAIC03MCw5ICs3MSw5IEBAIHZvaWQgcHZfaW5qZWN0X2V2ZW50 KGNvbnN0IHN0cnVjdCB4ODZfZXZlbnQgKmV2ZW50KQogICAgIHRiLT5jcyAgICA9IHRpLT5jczsK ICAgICB0Yi0+ZWlwICAgPSB0aS0+YWRkcmVzczsKIAotICAgIGlmICggZXZlbnQtPnR5cGUgPT0g WDg2X0VWRU5UVFlQRV9IV19FWENFUFRJT04gJiYKLSAgICAgICAgIHZlY3RvciA9PSBUUkFQX3Bh Z2VfZmF1bHQgKQorICAgIHN3aXRjaCAoIHZlY3RvciB8IC0oZXZlbnQtPnR5cGUgPT0gWDg2X0VW RU5UVFlQRV9TV19JTlRFUlJVUFQpICkKICAgICB7CisgICAgY2FzZSBUUkFQX3BhZ2VfZmF1bHQ6 CiAgICAgICAgIGN1cnItPmFyY2gucHZfdmNwdS5jdHJscmVnWzJdID0gZXZlbnQtPmNyMjsKICAg ICAgICAgYXJjaF9zZXRfY3IyKGN1cnIsIGV2ZW50LT5jcjIpOwogCkBAIC04Miw5ICs4MywxNiBA QCB2b2lkIHB2X2luamVjdF9ldmVudChjb25zdCBzdHJ1Y3QgeDg2X2V2ZW50ICpldmVudCkKICAg ICAgICAgICAgIGVycm9yX2NvZGUgfD0gUEZFQ191c2VyX21vZGU7CiAKICAgICAgICAgdHJhY2Vf cHZfcGFnZV9mYXVsdChldmVudC0+Y3IyLCBlcnJvcl9jb2RlKTsKLSAgICB9Ci0gICAgZWxzZQor ICAgICAgICBicmVhazsKKworICAgIGNhc2UgVFJBUF9kZWJ1ZzoKKyAgICAgICAgY3Vyci0+YXJj aC5kcjYgfD0gZXZlbnQtPnBlbmRpbmdfZGJnOworICAgICAgICAvKiBGYWxsdGhyb3VnaCAqLwor CisgICAgZGVmYXVsdDoKICAgICAgICAgdHJhY2VfcHZfdHJhcCh2ZWN0b3IsIHJlZ3MtPnJpcCwg dXNlX2Vycm9yX2NvZGUsIGVycm9yX2NvZGUpOworICAgICAgICBicmVhazsKKyAgICB9CiAKICAg ICBpZiAoIHVzZV9lcnJvcl9jb2RlICkKICAgICB7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv dHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCmluZGV4IGQwZDkwMTEuLjhlZjIyYjQgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5j CkBAIC0xNzY4LDcgKzE3NjgsNiBAQCB2b2lkIGRvX2RldmljZV9ub3RfYXZhaWxhYmxlKHN0cnVj dCBjcHVfdXNlcl9yZWdzICpyZWdzKQogdm9pZCBkb19kZWJ1ZyhzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncykKIHsKICAgICB1bnNpZ25lZCBsb25nIGRyNjsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9 IGN1cnJlbnQ7CiAKICAgICAvKiBTdGFzaCBkcjYgYXMgZWFybHkgYXMgcG9zc2libGUuICovCiAg ICAgZHI2ID0gcmVhZF9kZWJ1Z3JlZyg2KTsKQEAgLTE4NjAsMTEgKzE4NTksNyBAQCB2b2lkIGRv X2RlYnVnKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICByZXR1cm47CiAgICAg fQogCi0gICAgLyogU2F2ZSBkZWJ1ZyBzdGF0dXMgcmVnaXN0ZXIgd2hlcmUgZ3Vlc3QgT1MgY2Fu IHBlZWsgYXQgaXQgKi8KLSAgICB2LT5hcmNoLmRyNiB8PSAoZHI2ICYgflg4Nl9EUjZfREVGQVVM VCk7Ci0gICAgdi0+YXJjaC5kcjYgJj0gKGRyNiB8IH5YODZfRFI2X0RFRkFVTFQpOwotCi0gICAg cHZfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBYODZfRVZFTlRfTk9fRUMpOworICAg IHB2X2luamVjdF9kZWJ1Z19leG4oZHI2IF4gWDg2X0RSNl9ERUZBVUxUKTsKIH0KIAogc3RhdGlj IHZvaWQgX19pbml0IG5vaW5saW5lIF9fc2V0X2ludHJfZ2F0ZSh1bnNpZ25lZCBpbnQgbiwKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5oIGIveGVuL2Fy Y2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmgKaW5kZXggYzIyZTc3NC4uZDg1YTg0YSAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmgKKysrIGIv eGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmgKQEAgLTg4LDcgKzg4LDEwIEBA IHN0cnVjdCB4ODZfZXZlbnQgewogICAgIHVpbnQ4X3QgICAgICAgdHlwZTsgICAgICAgICAvKiBY ODZfRVZFTlRUWVBFXyogKi8KICAgICB1aW50OF90ICAgICAgIGluc25fbGVuOyAgICAgLyogSW5z dHJ1Y3Rpb24gbGVuZ3RoICovCiAgICAgaW50MzJfdCAgICAgICBlcnJvcl9jb2RlOyAgIC8qIFg4 Nl9FVkVOVF9OT19FQyBpZiBuL2EgKi8KLSAgICB1bnNpZ25lZCBsb25nIGNyMjsgICAgICAgICAg LyogT25seSBmb3IgVFJBUF9wYWdlX2ZhdWx0IGgvdyBleGNlcHRpb24gKi8KKyAgICB1bmlvbiB7 CisgICAgICAgIHVuc2lnbmVkIGxvbmcgY3IyOyAgICAgICAgIC8qICNQRiAqLworICAgICAgICB1 bnNpZ25lZCBsb25nIHBlbmRpbmdfZGJnOyAvKiAjREIgKG5ldyBEUjYgYml0cywgcG9zaXRpdmUg cG9sYXJpdHkpICovCisgICAgfTsKIH07CiAKIC8qCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAppbmRleCA1OWQ1 ZTRhLi5kZmU5OTVmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKQEAgLTY0OCw2ICs2NDgsMTggQEAgc3Rh dGljIGlubGluZSB2b2lkIHB2X2luamVjdF9od19leGNlcHRpb24odW5zaWduZWQgaW50IHZlY3Rv ciwgaW50IGVycmNvZGUpCiAgICAgcHZfaW5qZWN0X2V2ZW50KCZldmVudCk7CiB9CiAKK3N0YXRp YyBpbmxpbmUgdm9pZCBwdl9pbmplY3RfZGVidWdfZXhuKHVuc2lnbmVkIGxvbmcgcGVuZGluZ19k YmcpCit7CisgICAgc3RydWN0IHg4Nl9ldmVudCBldmVudCA9IHsKKyAgICAgICAgLnZlY3RvciAg ICAgID0gWDg2X0VYQ19EQiwKKyAgICAgICAgLnR5cGUgICAgICAgID0gWDg2X0VWRU5UVFlQRV9I V19FWENFUFRJT04sCisgICAgICAgIC5lcnJvcl9jb2RlICA9IFg4Nl9FVkVOVF9OT19FQywKKyAg ICAgICAgLnBlbmRpbmdfZGJnID0gcGVuZGluZ19kYmcsCisgICAgfTsKKworICAgIHB2X2luamVj dF9ldmVudCgmZXZlbnQpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgcHZfaW5qZWN0X3BhZ2Vf ZmF1bHQoaW50IGVycmNvZGUsIHVuc2lnbmVkIGxvbmcgY3IyKQogewogICAgIGNvbnN0IHN0cnVj dCB4ODZfZXZlbnQgZXZlbnQgPSB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9odm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCmluZGV4IGVmNWUxOTguLjY1 ZDUxMmUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCkBAIC00MTAsMTMgKzQxMCwxNCBAQCB2b2lkIGh2 bV9pbmplY3RfZXZlbnQoY29uc3Qgc3RydWN0IHg4Nl9ldmVudCAqZXZlbnQpOwogCiBzdGF0aWMg aW5saW5lIHZvaWQgaHZtX2luamVjdF9leGNlcHRpb24oCiAgICAgdW5zaWduZWQgaW50IHZlY3Rv ciwgdW5zaWduZWQgaW50IHR5cGUsCi0gICAgdW5zaWduZWQgaW50IGluc25fbGVuLCBpbnQgZXJy b3JfY29kZSkKKyAgICB1bnNpZ25lZCBpbnQgaW5zbl9sZW4sIGludCBlcnJvcl9jb2RlLCB1bnNp Z25lZCBsb25nIGV4dHJhKQogewogICAgIHN0cnVjdCB4ODZfZXZlbnQgZXZlbnQgPSB7CiAgICAg ICAgIC52ZWN0b3IgPSB2ZWN0b3IsCiAgICAgICAgIC50eXBlID0gdHlwZSwKICAgICAgICAgLmlu c25fbGVuID0gaW5zbl9sZW4sCiAgICAgICAgIC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZSwKKyAg ICAgICAgLmNyMiA9IGV4dHJhLCAvKiBBbnkgdW5pb24gZmllbGQgd2lsbCBkby4gKi8KICAgICB9 OwogCiAgICAgaHZtX2luamVjdF9ldmVudCgmZXZlbnQpOwpAQCAtNDMzLDYgKzQzNCwxOCBAQCBz dGF0aWMgaW5saW5lIHZvaWQgaHZtX2luamVjdF9od19leGNlcHRpb24odW5zaWduZWQgaW50IHZl Y3RvciwgaW50IGVycmNvZGUpCiAgICAgaHZtX2luamVjdF9ldmVudCgmZXZlbnQpOwogfQogCitz dGF0aWMgaW5saW5lIHZvaWQgaHZtX2luamVjdF9kZWJ1Z19leG4odW5zaWduZWQgbG9uZyBwZW5k aW5nX2RiZykKK3sKKyAgICBzdHJ1Y3QgeDg2X2V2ZW50IGV2ZW50ID0geworICAgICAgICAudmVj dG9yICAgICAgPSBYODZfRVhDX0RCLAorICAgICAgICAudHlwZSAgICAgICAgPSBYODZfRVZFTlRU WVBFX0hXX0VYQ0VQVElPTiwKKyAgICAgICAgLmVycm9yX2NvZGUgID0gWDg2X0VWRU5UX05PX0VD LAorICAgICAgICAucGVuZGluZ19kYmcgPSBwZW5kaW5nX2RiZywKKyAgICB9OworCisgICAgaHZt X2luamVjdF9ldmVudCgmZXZlbnQpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgaHZtX2luamVj dF9wYWdlX2ZhdWx0KGludCBlcnJjb2RlLCB1bnNpZ25lZCBsb25nIGNyMikKIHsKICAgICBzdHJ1 Y3QgeDg2X2V2ZW50IGV2ZW50ID0gewotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs