From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 05/24] x86/emul: Rename HVM_DELIVER_NO_ERROR_CODE to X86_EVENT_NO_EC Date: Wed, 30 Nov 2016 13:50:22 +0000 Message-ID: <1480513841-7565-6-git-send-email-andrew.cooper3@citrix.com> References: <1480513841-7565-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: <1480513841-7565-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org YW5kIG1vdmUgaXQgdG8gbGl2ZSB3aXRoIHRoZSBvdGhlciB4ODZfZXZlbnQgaW5mcmFzdHJ1Y3R1 cmUgaW4geDg2X2VtdWxhdGUuaC4KU3dpdGNoIGl0IGFuZCB4ODZfZXZlbnQuZXJyb3JfY29kZSB0 byBiZWluZyBzaWduZWQsIG1hdGNoaW5nIHRoZSByZXN0IG9mIHRoZQpjb2RlLgoKU2lnbmVkLW9m Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQt Ynk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBC b3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpSZXZpZXdlZC1ieTog S2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGlj aCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2MjoKICogUmViYXNlIG92ZXIgY29ycmVjdGlvbnMg dG8gdGhlIHVzZSBvZiBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFCi0tLQogeGVuL2FyY2gveDg2 L2h2bS9lbXVsYXRlLmMgICAgICAgICAgICAgfCAgNSArKy0tLQogeGVuL2FyY2gveDg2L2h2bS9o dm0uYyAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHhlbi9hcmNoL3g4Ni9odm0vbmVzdGVk aHZtLmMgICAgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL25lc3RlZHN2bS5j ICAgICAgIHwgIDYgKysrLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyAgICAgICAgICAg ICB8IDIwICsrKysrKysrKystLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC9pbnRyLmMg ICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICAgICAgICAg ICB8IDI1ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3Z2 bXguYyAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11 bGF0ZS5oIHwgIDMgKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmggICAgICB8 ICAyIC0tCiAxMCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4 Ni9odm0vZW11bGF0ZS5jCmluZGV4IGJiMjZkNDAuLmJjMjU5ZWMgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCkBA IC0xNjA5LDcgKzE2MDksNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfaW5qZWN0X3N3X2ludGVycnVw dCgKIAogICAgIGh2bWVtdWxfY3R4dC0+ZXhuX3BlbmRpbmcgPSAxOwogICAgIGh2bWVtdWxfY3R4 dC0+dHJhcC52ZWN0b3IgPSB2ZWN0b3I7Ci0gICAgaHZtZW11bF9jdHh0LT50cmFwLmVycm9yX2Nv ZGUgPSBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFOworICAgIGh2bWVtdWxfY3R4dC0+dHJhcC5l cnJvcl9jb2RlID0gWDg2X0VWRU5UX05PX0VDOwogICAgIGh2bWVtdWxfY3R4dC0+dHJhcC5pbnNu X2xlbiA9IGluc25fbGVuOwogCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKQEAgLTE2OTYsOCAr MTY5Niw3IEBAIHN0YXRpYyBpbnQgaHZtZW11bF92bWZ1bmMoCiAKICAgICByYyA9IGh2bV9mdW5j cy5hbHRwMm1fdmNwdV9lbXVsYXRlX3ZtZnVuYyhjdHh0LT5yZWdzKTsKICAgICBpZiAoIHJjICE9 IFg4NkVNVUxfT0tBWSApCi0gICAgICAgIGh2bWVtdWxfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQ X2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjdHh0KTsKKyAgICAgICAgaHZtZW11bF9pbmplY3RfaHdfZXhj ZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDLCBjdHh0KTsKIAogICAgIHJl dHVybiByYzsKIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCmluZGV4IDdiNDM0YWEuLmI5NTA4NDIgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNTAyLDcg KzUwMiw3IEBAIHZvaWQgaHZtX2RvX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgICAg ICAgICBraW5kID0gRU1VTF9LSU5EX1NFVF9DT05URVhUX0lOU047CiAKICAgICAgICAgICAgIGh2 bV9lbXVsYXRlX29uZV92bV9ldmVudChraW5kLCBUUkFQX2ludmFsaWRfb3AsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWDg2X0VWRU5UX05PX0VDKTsKIAog ICAgICAgICAgICAgdi0+YXJjaC52bV9ldmVudC0+ZW11bGF0ZV9mbGFncyA9IDA7CiAgICAgICAg IH0KQEAgLTMwNTQsNyArMzA1NCw3IEBAIHZvaWQgaHZtX3Rhc2tfc3dpdGNoKAogICAgIH0KIAog ICAgIGlmICggKHRzcy50cmFjZSAmIDEpICYmICFleG5fcmFpc2VkICkKLSAgICAgICAgaHZtX2lu amVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7 CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9O T19FQyk7CiAKICBvdXQ6CiAgICAgaHZtX3VubWFwX2VudHJ5KG9wdHNzX2Rlc2MpOwpAQCAtNDA3 Myw3ICs0MDczLDcgQEAgdm9pZCBodm1fdWRfaW50ZXJjZXB0KHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzKQogICAgIHN3aXRjaCAoIGh2bV9lbXVsYXRlX29uZSgmY3R4dCkgKQogICAgIHsKICAg ICBjYXNlIFg4NkVNVUxfVU5IQU5ETEVBQkxFOgotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2Vw dGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAg ICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19F Qyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWDg2RU1VTF9FWENFUFRJT046CiAgICAgICAg IGlmICggY3R4dC5leG5fcGVuZGluZyApCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL25l c3RlZGh2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9uZXN0ZWRodm0uYwppbmRleCBjYWFkNTI1Li5j NDY3MWQ4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL25lc3RlZGh2bS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9odm0vbmVzdGVkaHZtLmMKQEAgLTE3LDcgKzE3LDcgQEAKICAqLwogCiAjaW5j bHVkZSA8YXNtL21zci5oPgotI2luY2x1ZGUgPGFzbS9odm0vc3VwcG9ydC5oPgkvKiBmb3IgSFZN X0RFTElWRVJfTk9fRVJST1JfQ09ERSAqLworI2luY2x1ZGUgPGFzbS9odm0vc3VwcG9ydC5oPgog I2luY2x1ZGUgPGFzbS9odm0vaHZtLmg+CiAjaW5jbHVkZSA8YXNtL3AybS5oPiAgICAvKiBmb3Ig c3RydWN0IHAybV9kb21haW4gKi8KICNpbmNsdWRlIDxhc20vaHZtL25lc3RlZGh2bS5oPgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMgYi94ZW4vYXJjaC94ODYv aHZtL3N2bS9uZXN0ZWRzdm0uYwppbmRleCBiNmI4NTI2Li44YzliMDczIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvaHZtL3N2bS9uZXN0ZWRzdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2 bS9uZXN0ZWRzdm0uYwpAQCAtNzU2LDcgKzc1Niw3IEBAIG5zdm1fdmNwdV92bXJ1bihzdHJ1Y3Qg dmNwdSAqdiwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgZGVmYXVsdDoKICAgICAg ICAgZ2RwcmludGsoWEVOTE9HX0VSUiwKICAgICAgICAgICAgICJuc3ZtX3ZjcHVfdm1lbnRyeSBm YWlsZWQsIGluamVjdGluZyAjVURcbiIpOwotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlv bihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICBo dm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19FQyk7 CiAgICAgICAgIC8qIE11c3QgaGFwcGVuIGFmdGVyIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uIG9y IGl0IGRvZXNuJ3Qgd29yayByaWdodC4gKi8KICAgICAgICAgbnYtPm52X3Ztc3dpdGNoX2luX3By b2dyZXNzID0gMDsKICAgICAgICAgcmV0dXJuIDE7CkBAIC0xNTgxLDcgKzE1ODEsNyBAQCB2b2lk IHN2bV92bWV4aXRfZG9fc3RnaShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgc3RydWN0IHZj cHUgKnYpCiAgICAgdW5zaWduZWQgaW50IGluc3RfbGVuOwogCiAgICAgaWYgKCAhbmVzdGVkaHZt X2VuYWJsZWQodi0+ZG9tYWluKSApIHsKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24o VFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZt X2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMpOwog ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNjAxLDcgKzE2MDEsNyBAQCB2b2lkIHN2bV92 bWV4aXRfZG9fY2xnaShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgc3RydWN0IHZjcHUgKnYp CiAgICAgdmludHJfdCBpbnRyOwogCiAgICAgaWYgKCAhbmVzdGVkaHZtX2VuYWJsZWQodi0+ZG9t YWluKSApIHsKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29w LCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNl cHRpb24oVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMpOwogICAgICAgICByZXR1cm47 CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9h cmNoL3g4Ni9odm0vc3ZtL3N2bS5jCmluZGV4IGNhYWI1Y2UuLjkxMmQ4NzEgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2 bS5jCkBAIC04OSw3ICs4OSw3IEBAIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sob3N2d19sb2NrKTsK IHN0YXRpYyB2b2lkIHN2bV9jcmFzaF9vcl9mYXVsdChzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBp ZiAoIHZtY2JfZ2V0X2NwbCh2LT5hcmNoLmh2bV9zdm0udm1jYikgKQotICAgICAgICBodm1faW5q ZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NP REUpOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIFg4 Nl9FVkVOVF9OT19FQyk7CiAgICAgZWxzZQogICAgICAgICBkb21haW5fY3Jhc2godi0+ZG9tYWlu KTsKIH0KQEAgLTExNiw3ICsxMTYsNyBAQCB2b2lkIF9fdXBkYXRlX2d1ZXN0X2VpcChzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGluc3RfbGVuKQogICAgIGN1cnItPmFy Y2guaHZtX3N2bS52bWNiLT5pbnRlcnJ1cHRfc2hhZG93ID0gMDsKIAogICAgIGlmICggcmVncy0+ ZWZsYWdzICYgWDg2X0VGTEFHU19URiApCi0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9u KFRSQVBfZGVidWcsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICBodm1faW5q ZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBYODZfRVZFTlRfTk9fRUMpOwogfQogCiBzdGF0 aWMgdm9pZCBzdm1fY3B1X2Rvd24odm9pZCkKQEAgLTEyODUsNyArMTI4NSw3IEBAIHN0YXRpYyB2 b2lkIHN2bV9pbmplY3RfZXZlbnQoY29uc3Qgc3RydWN0IHg4Nl9ldmVudCAqZXZlbnQpCiAKICAg ICBkZWZhdWx0OgogICAgICAgICBldmVudGluai5maWVsZHMudHlwZSA9IFg4Nl9FVkVOVFRZUEVf SFdfRVhDRVBUSU9OOwotICAgICAgICBldmVudGluai5maWVsZHMuZXYgPSAoX2V2ZW50LmVycm9y X2NvZGUgIT0gSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGV2ZW50aW5qLmZp ZWxkcy5ldiA9IChfZXZlbnQuZXJyb3JfY29kZSAhPSBYODZfRVZFTlRfTk9fRUMpOwogICAgICAg ICBldmVudGluai5maWVsZHMuZXJyb3Jjb2RlID0gX2V2ZW50LmVycm9yX2NvZGU7CiAgICAgICAg IGJyZWFrOwogICAgIH0KQEAgLTE1NTMsNyArMTU1Myw3IEBAIHN0YXRpYyB2b2lkIHN2bV9mcHVf ZGlydHlfaW50ZXJjZXB0KHZvaWQpCiAgICAgewogICAgICAgIC8qIENoZWNrIGlmIGwxIGd1ZXN0 IG11c3QgbWFrZSBGUFUgcmVhZHkgZm9yIHRoZSBsMiBndWVzdCAqLwogICAgICAgIGlmICggdi0+ YXJjaC5odm1fdmNwdS5ndWVzdF9jclswXSAmIFg4Nl9DUjBfVFMgKQotICAgICAgICAgICBodm1f aW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX25vX2RldmljZSwgSFZNX0RFTElWRVJfTk9fRVJST1Jf Q09ERSk7CisgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfbm9fZGV2aWNl LCBYODZfRVZFTlRfTk9fRUMpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgdm1jYl9zZXRfY3Iw KG4xdm1jYiwgdm1jYl9nZXRfY3IwKG4xdm1jYikgJiB+WDg2X0NSMF9UUyk7CiAgICAgICAgcmV0 dXJuOwpAQCAtMjAyMiw3ICsyMDIyLDcgQEAgc3ZtX3ZtZXhpdF9kb192bXJ1bihzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncywKICAgICBpZiAoICFuc3ZtX2VmZXJfc3ZtX2VuYWJsZWQodikgKQog ICAgIHsKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIlZNUlVOOiBuZXN0ZWRodm0gZGlz YWJsZWQsIGluamVjdGluZyAjVURcbiIpOwotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlv bihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICBo dm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19FQyk7 CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIwNzcsNyArMjA3Nyw3IEBAIHN2bV92bWV4 aXRfZG9fdm1sb2FkKHN0cnVjdCB2bWNiX3N0cnVjdCAqdm1jYiwKICAgICBpZiAoICFuc3ZtX2Vm ZXJfc3ZtX2VuYWJsZWQodikgKSAKICAgICB7CiAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19FUlIs ICJWTUxPQUQ6IG5lc3RlZGh2bSBkaXNhYmxlZCwgaW5qZWN0aW5nICNVRFxuIik7Ci0gICAgICAg IGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9f RVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxp ZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjEx Myw3ICsyMTEzLDcgQEAgc3ZtX3ZtZXhpdF9kb192bXNhdmUoc3RydWN0IHZtY2Jfc3RydWN0ICp2 bWNiLAogICAgIGlmICggIW5zdm1fZWZlcl9zdm1fZW5hYmxlZCh2KSApIAogICAgIHsKICAgICAg ICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIlZNU0FWRTogbmVzdGVkaHZtIGRpc2FibGVkLCBpbmpl Y3RpbmcgI1VEXG4iKTsKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZh bGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9o d19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMpOwogICAgICAgICBy ZXR1cm47CiAgICAgfQogCkBAIC0yNDE2LDcgKzI0MTYsNyBAQCB2b2lkIHN2bV92bWV4aXRfaGFu ZGxlcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAgIGNhc2UgVk1FWElUX0VYQ0VQ VElPTl9EQjoKICAgICAgICAgaWYgKCAhdi0+ZG9tYWluLT5kZWJ1Z2dlcl9hdHRhY2hlZCApCi0g ICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBIVk1fREVMSVZF Ul9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRS QVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGRv bWFpbl9wYXVzZV9mb3JfZGVidWdnZXIoKTsKICAgICAgICAgYnJlYWs7CkBAIC0yNjA0LDcgKzI2 MDQsNyBAQCB2b2lkIHN2bV92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cykKIAogICAgIGNhc2UgVk1FWElUX01PTklUT1I6CiAgICAgY2FzZSBWTUVYSVRfTVdBSVQ6Ci0g ICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElW RVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBf aW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl IFZNRVhJVF9WTVJVTjoKQEAgLTI2MjMsNyArMjYyMyw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5k bGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBzdm1fdm1leGl0X2RvX2Ns Z2kocmVncywgdik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVk1FWElUX1NLSU5JVDoKLSAg ICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZF Ul9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9p bnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2Ug Vk1FWElUX1hTRVRCVjoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L2ludHIuYyBi L3hlbi9hcmNoL3g4Ni9odm0vdm14L2ludHIuYwppbmRleCA4ZmNhMDhjLi42MzlhNzA1IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC9pbnRyLmMKKysrIGIveGVuL2FyY2gveDg2L2h2 bS92bXgvaW50ci5jCkBAIC0zMDIsNyArMzAyLDcgQEAgdm9pZCB2bXhfaW50cl9hc3Npc3Qodm9p ZCkKICAgICB9CiAgICAgZWxzZSBpZiAoIGludGFjay5zb3VyY2UgPT0gaHZtX2ludHNyY19tY2Ug KQogICAgIHsKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9tYWNoaW5lX2No ZWNrLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19l eGNlcHRpb24oVFJBUF9tYWNoaW5lX2NoZWNrLCBYODZfRVZFTlRfTk9fRUMpOwogICAgIH0KICAg ICBlbHNlIGlmICggY3B1X2hhc192bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5ICYmCiAgICAgICAg ICAgICAgIGludGFjay5zb3VyY2UgIT0gaHZtX2ludHNyY19waWMgJiYKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5k ZXggZWQ5YjY5Yi4uMzFmMDhkMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14 LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTE2NDYsNyArMTY0Niw4IEBA IHN0YXRpYyB2b2lkIF9fdm14X2luamVjdF9leGNlcHRpb24oaW50IHRyYXAsIGludCB0eXBlLCBp bnQgZXJyb3JfY29kZSkKICAgICBpbnRyX2ZpZWxkcyA9IElOVFJfSU5GT19WQUxJRF9NQVNLIHwK ICAgICAgICAgICAgICAgICAgIE1BU0tfSU5TUih0eXBlLCBJTlRSX0lORk9fSU5UUl9UWVBFX01B U0spIHwKICAgICAgICAgICAgICAgICAgIE1BU0tfSU5TUih0cmFwLCBJTlRSX0lORk9fVkVDVE9S X01BU0spOwotICAgIGlmICggZXJyb3JfY29kZSAhPSBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF ICkgeworICAgIGlmICggZXJyb3JfY29kZSAhPSBYODZfRVZFTlRfTk9fRUMgKQorICAgIHsKICAg ICAgICAgX192bXdyaXRlKFZNX0VOVFJZX0VYQ0VQVElPTl9FUlJPUl9DT0RFLCBlcnJvcl9jb2Rl KTsKICAgICAgICAgaW50cl9maWVsZHMgfD0gSU5UUl9JTkZPX0RFTElWRVJfQ09ERV9NQVNLOwog ICAgIH0KQEAgLTE2NzEsMTIgKzE2NzIsMTIgQEAgdm9pZCB2bXhfaW5qZWN0X2V4dGludChpbnQg dHJhcCwgdWludDhfdCBzb3VyY2UpCiAgICAgICAgICAgICAgICBJTlRSX0lORk9fVkFMSURfTUFT SyB8CiAgICAgICAgICAgICAgICBNQVNLX0lOU1IoWDg2X0VWRU5UVFlQRV9FWFRfSU5UUiwgSU5U Ul9JTkZPX0lOVFJfVFlQRV9NQVNLKSB8CiAgICAgICAgICAgICAgICBNQVNLX0lOU1IodHJhcCwg SU5UUl9JTkZPX1ZFQ1RPUl9NQVNLKSwKLSAgICAgICAgICAgICAgIEhWTV9ERUxJVkVSX05PX0VS Uk9SX0NPREUsIHNvdXJjZSk7CisgICAgICAgICAgICAgICBYODZfRVZFTlRfTk9fRUMsIHNvdXJj ZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAgICAgX192bXhfaW5q ZWN0X2V4Y2VwdGlvbih0cmFwLCBYODZfRVZFTlRUWVBFX0VYVF9JTlRSLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICBYODZfRVZFTlRfTk9fRUMpOwogfQogCiB2b2lkIHZteF9pbmplY3Rfbm1p KHZvaWQpCkBAIC0xNjkxLDEyICsxNjkyLDEyIEBAIHZvaWQgdm14X2luamVjdF9ubWkodm9pZCkK ICAgICAgICAgICAgICAgIElOVFJfSU5GT19WQUxJRF9NQVNLIHwKICAgICAgICAgICAgICAgIE1B U0tfSU5TUihYODZfRVZFTlRUWVBFX05NSSwgSU5UUl9JTkZPX0lOVFJfVFlQRV9NQVNLKSB8CiAg ICAgICAgICAgICAgICBNQVNLX0lOU1IoVFJBUF9ubWksIElOVFJfSU5GT19WRUNUT1JfTUFTSyks Ci0gICAgICAgICAgICAgICBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFLCBodm1faW50c3JjX25t aSk7CisgICAgICAgICAgICAgICBYODZfRVZFTlRfTk9fRUMsIGh2bV9pbnRzcmNfbm1pKTsKICAg ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KICAgICBfX3ZteF9pbmplY3RfZXhj ZXB0aW9uKDIsIFg4Nl9FVkVOVFRZUEVfTk1JLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg SFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBY ODZfRVZFTlRfTk9fRUMpOwogfQogCiAvKgpAQCAtMjExMSw3ICsyMTEyLDcgQEAgc3RhdGljIGJv b2xfdCB2bXhfdmNwdV9lbXVsYXRlX3ZlKHN0cnVjdCB2Y3B1ICp2KQogICAgIHZteF92bWNzX2V4 aXQodik7CiAKICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX3ZpcnR1YWxpc2F0aW9u LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUp OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9FVkVOVF9OT19FQyk7CiAKICBvdXQ6 CiAgICAgaHZtX3VubWFwX2d1ZXN0X2ZyYW1lKHZlaW5mbywgMCk7CkBAIC0yMzg3LDcgKzIzODgs NyBAQCB2b2lkIHVwZGF0ZV9ndWVzdF9laXAodm9pZCkKICAgICB9CiAKICAgICBpZiAoIHJlZ3Mt PmVmbGFncyAmIFg4Nl9FRkxBR1NfVEYgKQotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlv bihUUkFQX2RlYnVnLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2lu amVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgWDg2X0VWRU5UX05PX0VDKTsKIH0KIAogc3Rh dGljIHZvaWQgdm14X2ZwdV9kaXJ0eV9pbnRlcmNlcHQodm9pZCkKQEAgLTI5MTUsNyArMjkxNiw3 IEBAIHN0YXRpYyBpbnQgdm14X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50IG1zciwg dWludDY0X3QgbXNyX2NvbnRlbnQpCiAKICAgICAgICAgaWYgKCAocmMgPCAwKSB8fAogICAgICAg ICAgICAgIChtc3JfY29udGVudCAmJiAodm14X2FkZF9ob3N0X2xvYWRfbXNyKG1zcikgPCAwKSkg KQotICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9tYWNoaW5lX2NoZWNr LCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3RfaHdf ZXhjZXB0aW9uKFRSQVBfbWFjaGluZV9jaGVjaywgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAg ZWxzZQogICAgICAgICAgICAgX192bXdyaXRlKEdVRVNUX0lBMzJfREVCVUdDVEwsIG1zcl9jb250 ZW50KTsKIApAQCAtMzIxMyw3ICszMjE0LDcgQEAgc3RhdGljIHZvaWQgdm14X3Byb3BhZ2F0ZV9p bnRyKHVuc2lnbmVkIGxvbmcgaW50cikKICAgICAgICAgZXZlbnQuZXJyb3JfY29kZSA9IHRtcDsK ICAgICB9CiAgICAgZWxzZQotICAgICAgICBldmVudC5lcnJvcl9jb2RlID0gSFZNX0RFTElWRVJf Tk9fRVJST1JfQ09ERTsKKyAgICAgICAgZXZlbnQuZXJyb3JfY29kZSA9IFg4Nl9FVkVOVF9OT19F QzsKIAogICAgIGlmICggZXZlbnQudHlwZSA+PSBYODZfRVZFTlRUWVBFX1NXX0lOVEVSUlVQVCAp CiAgICAgewpAQCAtMzc3MCw3ICszNzcxLDcgQEAgdm9pZCB2bXhfdm1leGl0X2hhbmRsZXIoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAKICAgICBjYXNlIEVYSVRfUkVBU09OX1ZNRlVOQzoK ICAgICAgICAgaWYgKCB2bXhfdm1mdW5jX2ludGVyY2VwdChyZWdzKSAhPSBYODZFTVVMX09LQVkg KQotICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBI Vk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhj ZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAgZWxzZQog ICAgICAgICAgICAgdXBkYXRlX2d1ZXN0X2VpcCgpOwogICAgICAgICBicmVhazsKQEAgLTM3ODQs NyArMzc4NSw3IEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzKQogICAgICAgICAgKiBhcyBmYXIgYXMgdm1leGl0LgogICAgICAgICAgKi8KICAgICAg ICAgV0FSTl9PTihleGl0X3JlYXNvbiA9PSBFWElUX1JFQVNPTl9HRVRTRUMpOwotICAgICAgICBo dm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VS Uk9SX0NPREUpOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRf b3AsIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBFWElUX1JF QVNPTl9UUFJfQkVMT1dfVEhSRVNIT0xEOgpAQCAtMzkwOSw3ICszOTEwLDcgQEAgdm9pZCB2bXhf dm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgICAgICB2 bXhfZ2V0X3NlZ21lbnRfcmVnaXN0ZXIodiwgeDg2X3NlZ19zcywgJnNzKTsKICAgICAgICAgICAg IGlmICggc3MuYXR0ci5maWVsZHMuZHBsICkKICAgICAgICAgICAgICAgICBodm1faW5qZWN0X2h3 X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAgICAgIGVs c2UKICAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2godi0+ZG9tYWluKTsKICAgICAgICAgfQpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jIGIveGVuL2FyY2gveDg2L2h2 bS92bXgvdnZteC5jCmluZGV4IGI1ODM3ZDQuLmVmYWY1NGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9odm0vdm14L3Z2bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKQEAg LTM4MCw3ICszODAsNyBAQCBzdGF0aWMgaW50IHZteF9pbnN0X2NoZWNrX3ByaXZpbGVnZShzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgaW50IHZteG9wX2NoZWNrKQogICAgIAogaW52YWxpZF9v cDoKICAgICBnZHByaW50ayhYRU5MT0dfRVJSLCAidm14X2luc3RfY2hlY2tfcHJpdmlsZWdlOiBp bnZhbGlkX29wXG4iKTsKLSAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRf b3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0 aW9uKFRSQVBfaW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICByZXR1cm4gWDg2RU1V TF9FWENFUFRJT047CiAKIGdwX2ZhdWx0OgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl9l bXVsYXRlL3g4Nl9lbXVsYXRlLmggYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxh dGUuaAppbmRleCA1NGM1MzJjLi5iMGYwMzA0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveDg2 X2VtdWxhdGUveDg2X2VtdWxhdGUuaAorKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2 X2VtdWxhdGUuaApAQCAtODAsMTIgKzgwLDEzIEBAIGVudW0geDg2X2V2ZW50X3R5cGUgewogICAg IFg4Nl9FVkVOVFRZUEVfUFJJX1NXX0VYQ0VQVElPTiwgLyogSUNFQlAgKEYxKSAqLwogICAgIFg4 Nl9FVkVOVFRZUEVfU1dfRVhDRVBUSU9OLCAgICAgLyogSU5UMyAoQ0MpLCBJTlRPIChDRSkgKi8K IH07CisjZGVmaW5lIFg4Nl9FVkVOVF9OT19FQyAoLTEpICAgICAgICAvKiBObyBlcnJvciBjb2Rl LiAqLwogCiBzdHJ1Y3QgeDg2X2V2ZW50IHsKICAgICBpbnQxNl90ICAgICAgIHZlY3RvcjsKICAg ICB1aW50OF90ICAgICAgIHR5cGU7ICAgICAgICAgLyogWDg2X0VWRU5UVFlQRV8qICovCiAgICAg dWludDhfdCAgICAgICBpbnNuX2xlbjsgICAgIC8qIEluc3RydWN0aW9uIGxlbmd0aCAqLwotICAg IHVpbnQzMl90ICAgICAgZXJyb3JfY29kZTsgICAvKiBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF IGlmIG4vYSAqLworICAgIGludDMyX3QgICAgICAgZXJyb3JfY29kZTsgICAvKiBYODZfRVZFTlRf Tk9fRUMgaWYgbi9hICovCiAgICAgdW5zaWduZWQgbG9uZyBjcjI7ICAgICAgICAgIC8qIE9ubHkg Zm9yIFRSQVBfcGFnZV9mYXVsdCBoL3cgZXhjZXB0aW9uICovCiB9OwogCmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9zdXBwb3J0LmgKaW5kZXggMjk4NGFiYy4uOTkzODQ1MCAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1 cHBvcnQuaApAQCAtMjUsOCArMjUsNiBAQAogI2luY2x1ZGUgPHhlbi9odm0vc2F2ZS5oPgogI2lu Y2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KIAotI2RlZmluZSBIVk1fREVMSVZFUl9OT19FUlJPUl9D T0RFICAofjBVKQotCiAjaWZuZGVmIE5ERUJVRwogI2RlZmluZSBEQkdfTEVWRUxfMCAgICAgICAg ICAgICAgICAgKDEgPDwgMCkKICNkZWZpbmUgREJHX0xFVkVMXzEgICAgICAgICAgICAgICAgICgx IDw8IDEpCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=