From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 18/28] x86/cpu: Context switch cpuid masks and faulting state in context_switch() Date: Tue, 15 Mar 2016 15:35:14 +0000 Message-ID: <1458056124-8024-19-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-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: <1458056124-8024-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 QSBzaW5nbGUgY3R4dF9zd2l0Y2hfbGV2ZWxsaW5nKCkgZnVuY3Rpb24gcG9pbnRlciBpcyBwcm92 aWRlZAooZGVmYXVsdGluZyB0byBhbiBlbXB0eSBub3ApLCB3aGljaCBpcyBvdmVycmlkZGVuIGlu IHRoZSBhcHByb3ByaWF0ZQokVkVORE9SX2luaXRfbGV2ZWxsaW5nKCkuCgpzZXRfY3B1aWRfZmF1 bHRpbmcoKSBpcyBtYWRlIHByaXZhdGUgYW5kIGluY2x1ZGVkIHdpdGhpbgppbnRlbF9jdHh0X3N3 aXRjaF9sZXZlbGxpbmcoKS4KCk9uZSBmdW5jdGlvbmFsIGNoYW5nZSBpcyB0aGF0IHRoZSBmYXVs dGluZyBjb25maWd1cmF0aW9uIGlzIG5vIGxvbmdlciBzcGVjaWFsCmNhc2VkIGZvciBkb20wLiAg VGhlcmUgd2FzIG5ldmVyIGFueSBuZWVkIHRvLCBhbmQgaXQgd2lsbCBjYXVzZSBkb20wIHRvCm9i c2VydmUgdGhlIHNhbWUgaW5mb3JtYXRpb24gdGhyb3VnaCBuYXRpdmUgYW5kIGVubGlnaHRlbmVk IGNwdWlkLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KLS0t CnYzOgogKiBEb24ndCBsZWF2ZSBjcHVpZCBtYXNraW5nL2ZhdWx0aW5nIGFjdGl2ZSBmb3IgdGhl IGtleGVjIGtlcm5lbC4KdjI6CiAqIFN0eWxlIGZpeGVzCiAqIEFTU0VSVCgpIHRoYXQgZmF1bHRp bmcgaXMgYXZhaWxhYmxlIGluIHNldF9jcHVpZF9mYXVsdGluZygpCi0tLQogeGVuL2FyY2gveDg2 L2NwdS9hbWQuYyAgICAgICAgICB8ICAzICsrKwogeGVuL2FyY2gveDg2L2NwdS9jb21tb24uYyAg ICAgICB8ICA3ICsrKysrKysKIHhlbi9hcmNoL3g4Ni9jcHUvaW50ZWwuYyAgICAgICAgfCAyMCAr KysrKysrKysrKysrKystLS0tLQogeGVuL2FyY2gveDg2L2NyYXNoLmMgICAgICAgICAgICB8ICAz ICsrKwogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgICB8ICA0ICstLS0KIHhlbi9pbmNs dWRlL2FzbS14ODYvcHJvY2Vzc29yLmggfCAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNl cnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUv YW1kLmMgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCmluZGV4IDBlMWM4YjkuLjQ4NGQ0YjAgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9h bWQuYwpAQCAtMzI2LDYgKzMyNiw5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBub2lubGluZSBhbWRf aW5pdF9sZXZlbGxpbmcodm9pZCkKIAkJICAgICAgICh1aW50MzJfdCljcHVpZG1hc2tfZGVmYXVs dHMuXzdhYjAsCiAJCSAgICAgICAodWludDMyX3QpY3B1aWRtYXNrX2RlZmF1bHRzLl82Yyk7CiAJ fQorCisJaWYgKGxldmVsbGluZ19jYXBzKQorCQljdHh0X3N3aXRjaF9sZXZlbGxpbmcgPSBhbWRf Y3R4dF9zd2l0Y2hfbGV2ZWxsaW5nOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2NwdS9jb21tb24uYyBiL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKaW5kZXggZGQzMmE5NC4u YTMyM2M0OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYworKysgYi94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jCkBAIC04OCw2ICs4OCwxMyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGNwdV9kZXYgZGVmYXVsdF9jcHUgPSB7CiB9Owogc3RhdGljIGNvbnN0IHN0cnVjdCBjcHVf ZGV2ICp0aGlzX2NwdSA9ICZkZWZhdWx0X2NwdTsKIAorc3RhdGljIHZvaWQgZGVmYXVsdF9jdHh0 X3N3aXRjaF9sZXZlbGxpbmcoY29uc3Qgc3RydWN0IGRvbWFpbiAqbmV4dGQpCit7CisJLyogTm9w ICovCit9Cit2b2lkICgqIF9fcmVhZF9tb3N0bHkgY3R4dF9zd2l0Y2hfbGV2ZWxsaW5nKShjb25z dCBzdHJ1Y3QgZG9tYWluICpuZXh0ZCkgPQorCWRlZmF1bHRfY3R4dF9zd2l0Y2hfbGV2ZWxsaW5n OworCiBib29sX3Qgb3B0X2NwdV9pbmZvOwogYm9vbGVhbl9wYXJhbSgiY3B1aW5mbyIsIG9wdF9j cHVfaW5mbyk7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvaW50ZWwuYyBiL3hlbi9h cmNoL3g4Ni9jcHUvaW50ZWwuYwppbmRleCBiMjY2NmE4Li43MWIxMTk5IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvY3B1L2ludGVsLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9pbnRlbC5jCkBA IC0zMiwxMyArMzIsMTUgQEAgc3RhdGljIGJvb2xfdCBfX2luaXQgcHJvYmVfaW50ZWxfY3B1aWRf ZmF1bHRpbmcodm9pZCkKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIERFRklORV9QRVJfQ1BVKGJv b2xfdCwgY3B1aWRfZmF1bHRpbmdfZW5hYmxlZCk7Ci12b2lkIHNldF9jcHVpZF9mYXVsdGluZyhi b29sX3QgZW5hYmxlKQorc3RhdGljIHZvaWQgc2V0X2NwdWlkX2ZhdWx0aW5nKGJvb2xfdCBlbmFi bGUpCiB7CisJc3RhdGljIERFRklORV9QRVJfQ1BVKGJvb2xfdCwgY3B1aWRfZmF1bHRpbmdfZW5h YmxlZCk7CisJYm9vbF90ICp0aGlzX2VuYWJsZWQgPSAmdGhpc19jcHUoY3B1aWRfZmF1bHRpbmdf ZW5hYmxlZCk7CiAJdWludDMyX3QgaGksIGxvOwogCi0JaWYgKCFjcHVfaGFzX2NwdWlkX2ZhdWx0 aW5nIHx8Ci0JICAgIHRoaXNfY3B1KGNwdWlkX2ZhdWx0aW5nX2VuYWJsZWQpID09IGVuYWJsZSAp CisJQVNTRVJUKGNwdV9oYXNfY3B1aWRfZmF1bHRpbmcpOworCisJaWYgKCp0aGlzX2VuYWJsZWQg PT0gZW5hYmxlKQogCQlyZXR1cm47CiAKIAlyZG1zcihNU1JfSU5URUxfTUlTQ19GRUFUVVJFU19F TkFCTEVTLCBsbywgaGkpOwpAQCAtNDcsNyArNDksNyBAQCB2b2lkIHNldF9jcHVpZF9mYXVsdGlu Zyhib29sX3QgZW5hYmxlKQogCQlsbyB8PSBNU1JfTUlTQ19GRUFUVVJFU19DUFVJRF9GQVVMVElO RzsKIAl3cm1zcihNU1JfSU5URUxfTUlTQ19GRUFUVVJFU19FTkFCTEVTLCBsbywgaGkpOwogCi0J dGhpc19jcHUoY3B1aWRfZmF1bHRpbmdfZW5hYmxlZCkgPSBlbmFibGU7CisJKnRoaXNfZW5hYmxl ZCA9IGVuYWJsZTsKIH0KIAogLyoKQEAgLTE1NCw2ICsxNTYsMTEgQEAgc3RhdGljIHZvaWQgaW50 ZWxfY3R4dF9zd2l0Y2hfbGV2ZWxsaW5nKGNvbnN0IHN0cnVjdCBkb21haW4gKm5leHRkKQogCXN0 cnVjdCBjcHVpZG1hc2tzICp0aGVzZV9tYXNrcyA9ICZ0aGlzX2NwdShjcHVpZG1hc2tzKTsKIAlj b25zdCBzdHJ1Y3QgY3B1aWRtYXNrcyAqbWFza3MgPSAmY3B1aWRtYXNrX2RlZmF1bHRzOwogCisJ aWYgKGNwdV9oYXNfY3B1aWRfZmF1bHRpbmcpIHsKKwkJc2V0X2NwdWlkX2ZhdWx0aW5nKG5leHRk ICYmIGlzX3B2X2RvbWFpbihuZXh0ZCkpOworCQlyZXR1cm47CisJfQorCiAjZGVmaW5lIExBWlko bXNyLCBmaWVsZCkJCQkJCQlcCiAJKHsJCQkJCQkJCVwKIAkJaWYgKHVubGlrZWx5KHRoZXNlX21h c2tzLT5maWVsZCAhPSBtYXNrcy0+ZmllbGQpICYmCVwKQEAgLTIyNyw2ICsyMzQsOSBAQCBzdGF0 aWMgdm9pZCBfX2luaXQgbm9pbmxpbmUgaW50ZWxfaW5pdF9sZXZlbGxpbmcodm9pZCkKIAkJCSAg ICAgICAodWludDMyX3QpY3B1aWRtYXNrX2RlZmF1bHRzLmUxY2QsCiAJCQkgICAgICAgKHVpbnQz Ml90KWNwdWlkbWFza19kZWZhdWx0cy5EYTEpOwogCX0KKworCWlmIChsZXZlbGxpbmdfY2FwcykK KwkJY3R4dF9zd2l0Y2hfbGV2ZWxsaW5nID0gaW50ZWxfY3R4dF9zd2l0Y2hfbGV2ZWxsaW5nOwog fQogCiBzdGF0aWMgdm9pZCBlYXJseV9pbml0X2ludGVsKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcmFzaC5jIGIveGVuL2FyY2gveDg2L2NyYXNoLmMK aW5kZXggODg4YTIxNC4uZjI4ZjUyNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NyYXNoLmMK KysrIGIveGVuL2FyY2gveDg2L2NyYXNoLmMKQEAgLTE4OSw2ICsxODksOSBAQCB2b2lkIG1hY2hp bmVfY3Jhc2hfc2h1dGRvd24odm9pZCkKIAogICAgIG5taV9zaG9vdGRvd25fY3B1cygpOwogCisg ICAgLyogUmVzZXQgQ1BVSUQgbWFza2luZyBhbmQgZmF1bHRpbmcgdG8gdGhlIGhvc3QncyBkZWZh dWx0LiAqLworICAgIGN0eHRfc3dpdGNoX2xldmVsbGluZyhOVUxMKTsKKwogICAgIGluZm8gPSBr ZXhlY19jcmFzaF9zYXZlX2luZm8oKTsKICAgICBpbmZvLT54ZW5fcGh5c19zdGFydCA9IHhlbl9w aHlzX3N0YXJ0OwogICAgIGluZm8tPmRvbTBfcGZuX3RvX21mbl9mcmFtZV9saXN0X2xpc3QgPQpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5j CmluZGV4IDI3ZmNhZTEuLmI1MGM2ZmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4u YworKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKQEAgLTIwODksOSArMjA4OSw3IEBAIHZvaWQg Y29udGV4dF9zd2l0Y2goc3RydWN0IHZjcHUgKnByZXYsIHN0cnVjdCB2Y3B1ICpuZXh0KQogICAg ICAgICAgICAgbG9hZF9zZWdtZW50cyhuZXh0KTsKICAgICAgICAgfQogCi0gICAgICAgIHNldF9j cHVpZF9mYXVsdGluZyhpc19wdl9kb21haW4obmV4dGQpICYmCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAhaXNfY29udHJvbF9kb21haW4obmV4dGQpICYmCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAhaXNfaGFyZHdhcmVfZG9tYWluKG5leHRkKSk7CisgICAgICAgIGN0eHRfc3dpdGNo X2xldmVsbGluZyhuZXh0ZCk7CiAgICAgfQogCiAgICAgY29udGV4dF9zYXZlZChwcmV2KTsKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVkZS9h c20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDlhYTkzZGIuLjI3NTY4NTIgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9w cm9jZXNzb3IuaApAQCAtMjA5LDcgKzIwOSw3IEBAIGV4dGVybiBzdHJ1Y3QgY3B1aW5mb194ODYg Ym9vdF9jcHVfZGF0YTsKIGV4dGVybiBzdHJ1Y3QgY3B1aW5mb194ODYgY3B1X2RhdGFbXTsKICNk ZWZpbmUgY3VycmVudF9jcHVfZGF0YSBjcHVfZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldCiAKLWV4 dGVybiB2b2lkIHNldF9jcHVpZF9mYXVsdGluZyhib29sX3QgZW5hYmxlKTsKK2V4dGVybiB2b2lk ICgqY3R4dF9zd2l0Y2hfbGV2ZWxsaW5nKShjb25zdCBzdHJ1Y3QgZG9tYWluICpuZXh0ZCk7CiAK IGV4dGVybiB1NjQgaG9zdF9wYXQ7CiBleHRlcm4gYm9vbF90IG9wdF9jcHVfaW5mbzsKLS0gCjIu MS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK