From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.7 v2 1/2] xen/x86: Remove the use of vm86_mode() Date: Thu, 7 Apr 2016 22:39:17 +0100 Message-ID: <1460065158-24027-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: 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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org WGVuLCBiZWluZyA2NGJpdCBvbmx5LCBjYW5ub3QgcnVuIFBWIGd1ZXN0cyBpbiB2bTg2IG1vZGUu ICBIVk0gZ3Vlc3RzIGhvd2V2ZXIKY2FuIGJlIHJ1bm5pbmcgaW4gdm04NiBtb2RlLCBhbmQgY29t bW9uIGNvZGVwYXRocyBuZWVkIHRvIGJlIGFibGUgdG8gY29wZS4KClRoZSBkZWZpbml0aW9uIG9m IHZtODZfbW9kZSgpIGluIHg4Nl82NC9yZWdzLmggaXMgaW5jb3JyZWN0LCBhcyB0aGUgcHJlZGlj YXRlCmlzIHVzZWQgYnkgbm9uLVBWIGNvZGVwYXRocy4KCk9uZSBidWdneSB1c2UgaXMgaW4gaHZt L2VtdWxhdGUuYy4gIEFuIEhWTSBndWVzdCBjYW4gYmUgaW4gdm04NiBtb2RlLCBhbmQKdm04Nl9t b2RlKCkgc2xpZW50bHkgb21pdHMgdGhlIGNoZWNrLiAgTHVja2lseSwgZHVlIHRvIHRoZSBWRVgg cHJlZml4IGRlY29kaW5nCmxvZ2ljIGluIHg4Nl9lbXVsYXRlKCksIHRoZXJlIGlzIG5vIHBhdGgg dG8gdGhlIGVycm9uaW91cyB1c2Ugd2l0aCBFRkxBR1NfVk0Kc2V0LgoKQW5vdGhlciBwb3RlbnRp YWxseSBwcm9ibGVtYXRpYyB1c2UgaXMgaW4gc2hvd19ndWVzdF9zdGFjaygpLiAgSW4gcHJpbmNp cGxlLApzaG93X2d1ZXN0X3N0YWNrKCkgaXMgY29tbW9uIGNvZGUgY2FsbGVkIGZvciBib3RoIFBW IGFuZCBIVk0gdmNwdXMuICBIVk0gdmNwdXMKZXhpdCBlYXJseSAod2l0aCBubyByZWFzb25hYmxl IHdheSBvZiBtYWtpbmcgdGhlIGNvZGUgZ2VuZXJpYyksIG1ha2luZyB0aGlzCnBhcnQgYSBQVi1v bmx5IGNvZGVwYXRoLgoKT3Blbi1jb2RlIGl0cyB1c2UgaW4gZW11bGF0ZS5jLCBtYXRjaGluZyB0 aGUgc3Vycm91bmRpbmcgY29kZS4gIFRoaXMgY2F1c2VzCmFsbCBvdGhlciB1c2VzIHRvIGJlIGlu IFBWLW9ubHkgY29kZXBhdGhzLCBtYWtpbmcgdGhlIGNvZGUgdG8gYmUgbG9naWNhbGx5CmRlYWQu ICBEcm9wIGl0IGNvbXBsZXRlbHksIHRvIGF2b2lkIGZ1dHVyZSBtaXN1c2UuCgpQYXJ0IG9mIHJl c3VsdGluZyBjbGVhbnVwIHJlbW92ZXMgdm04NmF0dHIgZnJvbSByZWFkX2Rlc2NyaXB0b3IoKSwg YWx0aG91Z2gKcmV0YWluaW5nIG9uZSByZWxldmFudCBwaWVjZSBvZiBpbmZvcm1hdGlvbjsgaS5l LiB3aGV0aGVyIHdlIGFyZSByZWFkaW5nIGEKc2VsZWN0b3IgZm9yIGFuIGluc3RydWN0aW9uIGZl dGNoLCBvciBhIGRhdGEgZmV0Y2guCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNl LmNvbT4KCnYyOgogKiBOZXcKLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyAgICAgICAg fCAgMiArLQogeGVuL2FyY2gveDg2L3RyYXBzLmMgICAgICAgICAgICAgIHwgNTUgKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3JlZ3Mu aCAgICAgICAgfCAgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcmVncy5oIHwgIDEg LQogNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni9odm0v ZW11bGF0ZS5jCmluZGV4IGY1YWI1YmMuLmNjMGI4NDEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCkBAIC0xNTU5 LDcgKzE1NTksNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfZ2V0X2ZwdSgKICAgICAgICAgYnJlYWs7 CiAgICAgY2FzZSBYODZFTVVMX0ZQVV95bW06CiAgICAgICAgIGlmICggIShjdXJyLT5hcmNoLmh2 bV92Y3B1Lmd1ZXN0X2NyWzBdICYgWDg2X0NSMF9QRSkgfHwKLSAgICAgICAgICAgICB2bTg2X21v ZGUoY3R4dC0+cmVncykgfHwKKyAgICAgICAgICAgICAoY3R4dC0+cmVncy0+ZWZsYWdzICYgWDg2 X0VGTEFHU19WTSkgfHwKICAgICAgICAgICAgICAhKGN1cnItPmFyY2guaHZtX3ZjcHUuZ3Vlc3Rf Y3JbNF0gJiBYODZfQ1I0X09TWFNBVkUpIHx8CiAgICAgICAgICAgICAgIShjdXJyLT5hcmNoLnhj cjAgJiBYU1RBVEVfU1NFKSB8fAogICAgICAgICAgICAgICEoY3Vyci0+YXJjaC54Y3IwICYgWFNU QVRFX1lNTSkgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RyYXBzLmMgYi94ZW4vYXJjaC94 ODYvdHJhcHMuYwppbmRleCA2ZmJiMWNmLi44MTI1YzUzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvdHJhcHMuYworKysgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwpAQCAtMTk4LDE3ICsxOTgsOCBA QCBzdGF0aWMgdm9pZCBzaG93X2d1ZXN0X3N0YWNrKHN0cnVjdCB2Y3B1ICp2LCBjb25zdCBzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlm ICggdm04Nl9tb2RlKHJlZ3MpICkKLSAgICB7Ci0gICAgICAgIHN0YWNrID0gKHVuc2lnbmVkIGxv bmcgKikoKHJlZ3MtPnNzIDw8IDQpICsgKHJlZ3MtPmVzcCAmIDB4ZmZmZikpOwotICAgICAgICBw cmludGsoIkd1ZXN0IHN0YWNrIHRyYWNlIGZyb20gc3M6c3AgPSAlMDR4OiUwNHggKFZNODYpXG4g ICIsCi0gICAgICAgICAgICAgICByZWdzLT5zcywgKHVpbnQxNl90KShyZWdzLT5lc3AgJiAweGZm ZmYpKTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgc3RhY2sgPSAodW5zaWduZWQg bG9uZyAqKXJlZ3MtPmVzcDsKLSAgICAgICAgcHJpbnRrKCJHdWVzdCBzdGFjayB0cmFjZSBmcm9t ICJfX09QInNwPSVwOlxuICAiLCBzdGFjayk7Ci0gICAgfQorICAgIHN0YWNrID0gKHVuc2lnbmVk IGxvbmcgKilyZWdzLT5lc3A7CisgICAgcHJpbnRrKCJHdWVzdCBzdGFjayB0cmFjZSBmcm9tICJf X09QInNwPSVwOlxuICAiLCBzdGFjayk7CiAKICAgICBpZiAoICFhY2Nlc3Nfb2soc3RhY2ssIHNp emVvZigqc3RhY2spKSApCiAgICAgewpAQCAtMTY4MywyOCArMTY3NCwyMCBAQCBzdGF0aWMgaW50 IHJlYWRfZGVzY3JpcHRvcih1bnNpZ25lZCBpbnQgc2VsLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyAqYmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgKmxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50ICphciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB2bTg2YXR0 cikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBpbnNuX2ZldGNoKQogewogICAg IHN0cnVjdCBkZXNjX3N0cnVjdCBkZXNjOwogCi0gICAgaWYgKCAhdm04Nl9tb2RlKHJlZ3MpICkK LSAgICB7Ci0gICAgICAgIGlmICggc2VsIDwgNCkKLSAgICAgICAgICAgIGRlc2MuYiA9IGRlc2Mu YSA9IDA7Ci0gICAgICAgIGVsc2UgaWYgKCBfX2dldF91c2VyKGRlc2MsCi0gICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3Qgc3RydWN0IGRlc2Nfc3RydWN0ICopKCEoc2VsICYgNCkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBHRFRfVklS VF9TVEFSVCh2KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6IExEVF9WSVJUX1NUQVJUKHYpKQotICAgICAgICAgICAgICAgICAgICAgICAgKyAo c2VsID4+IDMpKSApCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgaWYgKCAhKHZtODZh dHRyICYgX1NFR01FTlRfQ09ERSkgKQotICAgICAgICAgICAgZGVzYy5iICY9IH5fU0VHTUVOVF9M OwotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAgICBkZXNjLmEgPSAoc2VsIDw8IDIwKSB8 IDB4ZmZmZjsKLSAgICAgICAgZGVzYy5iID0gdm04NmF0dHIgfCAoc2VsID4+IDEyKTsKLSAgICB9 CisgICAgaWYgKCBzZWwgPCA0KQorICAgICAgICBkZXNjLmIgPSBkZXNjLmEgPSAwOworICAgIGVs c2UgaWYgKCBfX2dldF91c2VyKGRlc2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0 IHN0cnVjdCBkZXNjX3N0cnVjdCAqKSghKHNlbCAmIDQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEdEVF9WSVJUX1NUQVJUKHYpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IExEVF9W SVJUX1NUQVJUKHYpKQorICAgICAgICAgICAgICAgICAgICAgICAgICsgKHNlbCA+PiAzKSkgKQor ICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoICFpbnNuX2ZldGNoICkKKyAgICAgICAgZGVzYy5i ICY9IH5fU0VHTUVOVF9MOwogCiAgICAgKmFyID0gZGVzYy5iICYgMHgwMGYwZmYwMDsKICAgICBp ZiAoICEoZGVzYy5iICYgX1NFR01FTlRfTCkgKQpAQCAtMTcxNSw3ICsxNjk4LDcgQEAgc3RhdGlj IGludCByZWFkX2Rlc2NyaXB0b3IodW5zaWduZWQgaW50IHNlbCwKICAgICAgICAgaWYgKCBkZXNj LmIgJiBfU0VHTUVOVF9HICkKICAgICAgICAgICAgICpsaW1pdCA9ICgoKmxpbWl0ICsgMSkgPDwg MTIpIC0gMTsKICNpZm5kZWYgTkRFQlVHCi0gICAgICAgIGlmICggIXZtODZfbW9kZShyZWdzKSAm JiAoc2VsID4gMykgKQorICAgICAgICBpZiAoIHNlbCA+IDMgKQogICAgICAgICB7CiAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgYSwgbDsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgdmFsaWQ7 CkBAIC0xODA1LDggKzE3ODgsNyBAQCBzdGF0aWMgaW50IGd1ZXN0X2lvX29rYXkoCiAgICAgaW50 IHVzZXJfbW9kZSA9ICEodi0+YXJjaC5mbGFncyAmIFRGX2tlcm5lbF9tb2RlKTsKICNkZWZpbmUg VE9HR0xFX01PREUoKSBpZiAoIHVzZXJfbW9kZSApIHRvZ2dsZV9ndWVzdF9tb2RlKHYpCiAKLSAg ICBpZiAoICF2bTg2X21vZGUocmVncykgJiYKLSAgICAgICAgICh2LT5hcmNoLnB2X3ZjcHUuaW9w bCA+PSAoZ3Vlc3Rfa2VybmVsX21vZGUodiwgcmVncykgPyAxIDogMykpICkKKyAgICBpZiAoIHYt PmFyY2gucHZfdmNwdS5pb3BsID49IChndWVzdF9rZXJuZWxfbW9kZSh2LCByZWdzKSA/IDEgOiAz KSApCiAgICAgICAgIHJldHVybiAxOwogCiAgICAgaWYgKCB2LT5hcmNoLnB2X3ZjcHUuaW9ibXBf bGltaXQgPiAocG9ydCArIGJ5dGVzKSApCkBAIC0yMDk0LDggKzIwNzYsNyBAQCBzdGF0aWMgaW50 IGVtdWxhdGVfcHJpdmlsZWdlZF9vcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICBi b29sX3QgdnBtdV9tc3I7CiAKICAgICBpZiAoICFyZWFkX2Rlc2NyaXB0b3IocmVncy0+Y3MsIHYs IHJlZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZjb2RlX2Jhc2UsICZjb2RlX2xpbWl0 LCAmYXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9TRUdNRU5UX0NPREV8X1NFR01FTlRf U3xfU0VHTUVOVF9EUEx8X1NFR01FTlRfUCkgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAm Y29kZV9iYXNlLCAmY29kZV9saW1pdCwgJmFyLCAxKSApCiAgICAgICAgIGdvdG8gZmFpbDsKICAg ICBvcF9kZWZhdWx0ID0gb3BfYnl0ZXMgPSAoYXIgJiAoX1NFR01FTlRfTHxfU0VHTUVOVF9EQikp ID8gNCA6IDI7CiAgICAgYWRfZGVmYXVsdCA9IGFkX2J5dGVzID0gKGFyICYgX1NFR01FTlRfTCkg PyA4IDogb3BfZGVmYXVsdDsKQEAgLTIxODcsOSArMjE2OCw3IEBAIHN0YXRpYyBpbnQgZW11bGF0 ZV9wcml2aWxlZ2VkX29wKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBpZiAo ICEoYXIgJiBfU0VHTUVOVF9MKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICggIXJlYWRf ZGVzY3JpcHRvcihkYXRhX3NlbCwgdiwgcmVncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZGF0YV9iYXNlLCAmZGF0YV9saW1pdCwgJmFyLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9TRUdNRU5UX1dSfF9TRUdNRU5UX1N8X1NFR01FTlRfRFBMfAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9TRUdNRU5UX1ApICkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZGF0YV9iYXNlLCAmZGF0YV9saW1pdCwgJmFyLCAwKSAp CiAgICAgICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICAgICAgaWYgKCAhKGFyICYgX1NF R01FTlRfUykgfHwKICAgICAgICAgICAgICAgICAgIShhciAmIF9TRUdNRU5UX1ApIHx8CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3JlZ3MuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cmVncy5oCmluZGV4IGE2MzM4ZjAuLjIyZWZjNDIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvcmVncy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcmVncy5oCkBAIC0xMCw3ICsx MCw3IEBACiAgICAgLyogRnJhbWUgcG9pbnRlciBtdXN0IHBvaW50IGludG8gY3VycmVudCBDUFUg c3RhY2suICovICAgICAgICAgICAgICAgICAgICBcCiAgICAgQVNTRVJUKGRpZmYgPCBTVEFDS19T SVpFKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgLyogSWYgbm90IGEgZ3Vlc3QgZnJhbWUsIGl0IG11c3QgYmUgYSBoeXBlcnZpc29yIGZyYW1l LiAqLyAgICAgICAgICAgICAgICBcCi0gICAgQVNTRVJUKChkaWZmID09IDApIHx8ICghdm04Nl9t b2RlKHIpICYmIChyLT5jcyA9PSBfX0hZUEVSVklTT1JfQ1MpKSk7ICAgICBcCisgICAgQVNTRVJU KChkaWZmID09IDApIHx8IChyLT5jcyA9PSBfX0hZUEVSVklTT1JfQ1MpKTsgICAgICAgICAgICAg ICAgICAgICAgICBcCiAgICAgLyogUmV0dXJuIFRSVUUgaWYgaXQncyBhIGd1ZXN0IGZyYW1lLiAq LyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgKGRpZmYgPT0gMCk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCiB9KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcmVncy5oIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcmVncy5oCmluZGV4IDNjZGM3MDIuLjE3MWNmOWEg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3JlZ3MuaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L3g4Nl82NC9yZWdzLmgKQEAgLTQsNyArNCw2IEBACiAjaW5jbHVkZSA8 eGVuL3R5cGVzLmg+CiAjaW5jbHVkZSA8cHVibGljL3hlbi5oPgogCi0jZGVmaW5lIHZtODZfbW9k ZShyKSAoMCkgLyogTm8gVk04NiBzdXBwb3J0IGluIGxvbmcgbW9kZS4gKi8KICNkZWZpbmUgcmlu Z18wKHIpICAgICgoKHIpLT5jcyAmIDMpID09IDApCiAjZGVmaW5lIHJpbmdfMShyKSAgICAoKChy KS0+Y3MgJiAzKSA9PSAxKQogI2RlZmluZSByaW5nXzIocikgICAgKCgociktPmNzICYgMykgPT0g MikKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK