From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 1/4] x86: stop handling MSR_IA32_BNDCFGS save/restore in implementation code Date: Thu, 14 Mar 2019 13:51:22 +0000 Message-ID: <20190314135125.1958-2-paul.durrant@citrix.com> References: <20190314135125.1958-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h4Qlk-0007hX-3K for xen-devel@lists.xenproject.org; Thu, 14 Mar 2019 13:51:36 +0000 In-Reply-To: <20190314135125.1958-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Kevin Tian , Wei Liu , Jun Nakajima , Andrew Cooper , Paul Durrant , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org U2F2aW5nIGFuZCByZXN0b3JpbmcgdGhlIHZhbHVlIG9mIHRoaXMgTVNSIGlzIGN1cnJlbnRseSBo YW5kbGVkIGJ5CmltcGxlbWVudGF0aW9uLXNwZWNpZmljIGNvZGUgZGVzcGl0ZSBpdCBiZWluZyBh cmNoaXRlY3R1cmFsLiBUaGlzIHBhdGNoCm1vdmVzIGhhbmRsaW5nIG9mIGFjY2Vzc2VzIHRvIHRo aXMgTVNSIGZyb20gaHZtLmMgaW50byB0aGUgbXNyLmMsIHRodXMKYWxsb3dpbmcgdGhlIGNvbW1v biBNU1Igc2F2ZS9yZXN0b3JlIGNvZGUgdG8gaGFuZGxlIGl0LgoKTk9URTogQmVjYXVzZSB2bXhf Z2V0L3NldF9ndWVzdF9ibmRjZmdzKCkgY2FsbCB2bXhfdm1jc19lbnRlcigpLCB0aGUKICAgICAg c3RydWN0IHZjcHUgcG9pbnRlciBwYXNzZWQgaW4sIGFuZCBoZW5jZSB0aGUgdmNwdSBwb2ludGVy IHBhc3NlZCB0bwogICAgICBndWVzdF9yZG1zcigpIGNhbm5vdCBiZSBjb25zdC4KClNpZ25lZC1v ZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpDYzogS2V2 aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpD YzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8 cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRl bC5jb20+Cgp2NDoKIC0gQ29zbWV0aWMgcmUtYXJyYW5nZW1lbnRzIGFuZCBhbiBhZGRpdGlvbmFs IEFTU0VSVCByZXF1ZXN0ZWQgYnkgSmFuCgp2MzoKIC0gQWRkcmVzcyBmdXJ0aGVyIGNvbW1lbnRz IGZyb20gSmFuCiAtIERyb3BwZWQgS2V2aW4ncyBSLWIgYmVjYXVzZSBvZiBjaGFuZ2UgdG8gdm14 LmMKCnYyOgogLSBBZGRyZXNzZWQgY29tbWVudHMgZnJvbSBKYW4gYnkgbGFyZ2VseSByZW1vdmlu ZyBodW5rcwogLSBLZWVwaW5nIEtldmluJ3MgUi1iIHNpbmNlIHJlbWFpbmluZyBodW5rcyBpbiB2 bXguYyBhcmUgYXMgYmVmb3JlCi0tLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgfCAx NCArKy0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgfCAyNCArKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9tc3IuYyAgICAgICAgICAgIHwgMjAg KysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oIHwgIDQg KystLQogNCBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9o dm0uYwppbmRleCA4YWRiYjYxYjU3Li5lNTY2ZDgzZjhiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTEzMDMsNiArMTMw Myw3IEBAIHN0YXRpYyBpbnQgaHZtX2xvYWRfY3B1X3hzYXZlX3N0YXRlcyhzdHJ1Y3QgZG9tYWlu ICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKIHN0YXRpYyBjb25zdCB1aW50MzJfdCBtc3Jz X3RvX3NlbmRbXSA9IHsKICAgICBNU1JfU1BFQ19DVFJMLAogICAgIE1TUl9JTlRFTF9NSVNDX0ZF QVRVUkVTX0VOQUJMRVMsCisgICAgTVNSX0lBMzJfQk5EQ0ZHUywKICAgICBNU1JfQU1ENjRfRFIw X0FERFJFU1NfTUFTSywKICAgICBNU1JfQU1ENjRfRFIxX0FERFJFU1NfTUFTSywKICAgICBNU1Jf QU1ENjRfRFIyX0FERFJFU1NfTUFTSywKQEAgLTE0NDAsNiArMTQ0MSw3IEBAIHN0YXRpYyBpbnQg aHZtX2xvYWRfY3B1X21zcnMoc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3Qg KmgpCiAKICAgICAgICAgY2FzZSBNU1JfU1BFQ19DVFJMOgogICAgICAgICBjYXNlIE1TUl9JTlRF TF9NSVNDX0ZFQVRVUkVTX0VOQUJMRVM6CisgICAgICAgIGNhc2UgTVNSX0lBMzJfQk5EQ0ZHUzoK ICAgICAgICAgY2FzZSBNU1JfQU1ENjRfRFIwX0FERFJFU1NfTUFTSzoKICAgICAgICAgY2FzZSBN U1JfQU1ENjRfRFIxX0FERFJFU1NfTUFTSyAuLi4gTVNSX0FNRDY0X0RSM19BRERSRVNTX01BU0s6 CiAgICAgICAgICAgICByYyA9IGd1ZXN0X3dybXNyKHYsIGN0eHQtPm1zcltpXS5pbmRleCwgY3R4 dC0+bXNyW2ldLnZhbCk7CkBAIC0zNDY3LDEyICszNDY5LDYgQEAgaW50IGh2bV9tc3JfcmVhZF9p bnRlcmNlcHQodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgKm1zcl9jb250ZW50KQogICAgICAg ICAqbXNyX2NvbnRlbnQgPSB2LT5hcmNoLmh2bS5tc3JfeHNzOwogICAgICAgICBicmVhazsKIAot ICAgIGNhc2UgTVNSX0lBMzJfQk5EQ0ZHUzoKLSAgICAgICAgaWYgKCAhZC0+YXJjaC5jcHVpZC0+ ZmVhdC5tcHggfHwKLSAgICAgICAgICAgICAhaHZtX2dldF9ndWVzdF9ibmRjZmdzKHYsIG1zcl9j b250ZW50KSApCi0gICAgICAgICAgICBnb3RvIGdwX2ZhdWx0OwotICAgICAgICBicmVhazsKLQog ICAgIGNhc2UgTVNSX0s4X0VOQUJMRV9DMUU6CiAgICAgY2FzZSBNU1JfQU1ENjRfTkJfQ0ZHOgog ICAgICAgICAgLyoKQEAgLTM2MTksMTIgKzM2MTUsNiBAQCBpbnQgaHZtX21zcl93cml0ZV9pbnRl cmNlcHQodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgbXNyX2NvbnRlbnQsCiAgICAgICAgIHYt PmFyY2guaHZtLm1zcl94c3MgPSBtc3JfY29udGVudDsKICAgICAgICAgYnJlYWs7CiAKLSAgICBj YXNlIE1TUl9JQTMyX0JORENGR1M6Ci0gICAgICAgIGlmICggIWQtPmFyY2guY3B1aWQtPmZlYXQu bXB4IHx8Ci0gICAgICAgICAgICAgIWh2bV9zZXRfZ3Vlc3RfYm5kY2Zncyh2LCBtc3JfY29udGVu dCkgKQotICAgICAgICAgICAgZ290byBncF9mYXVsdDsKLSAgICAgICAgYnJlYWs7Ci0KICAgICBj YXNlIE1TUl9BTUQ2NF9OQl9DRkc6CiAgICAgICAgIC8qIGlnbm9yZSB0aGUgd3JpdGUgKi8KICAg ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hl bi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IDcyNWRkODhjMTMuLmY4NDgxZDAzMmEgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9o dm0vdm14L3ZteC5jCkBAIC04MDUsMTcgKzgwNSw2IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19p bml0IHZteF9pbml0X21zcih2b2lkKQogCiBzdGF0aWMgdm9pZCB2bXhfc2F2ZV9tc3Ioc3RydWN0 IHZjcHUgKnYsIHN0cnVjdCBodm1fbXNyICpjdHh0KQogewotICAgIHZteF92bWNzX2VudGVyKHYp OwotCi0gICAgaWYgKCBjcHVfaGFzX21weCAmJiBjcHVfaGFzX3ZteF9tcHggKQotICAgIHsKLSAg ICAgICAgX192bXJlYWQoR1VFU1RfQk5EQ0ZHUywgJmN0eHQtPm1zcltjdHh0LT5jb3VudF0udmFs KTsKLSAgICAgICAgaWYgKCBjdHh0LT5tc3JbY3R4dC0+Y291bnRdLnZhbCApCi0gICAgICAgICAg ICBjdHh0LT5tc3JbY3R4dC0+Y291bnQrK10uaW5kZXggPSBNU1JfSUEzMl9CTkRDRkdTOwotICAg IH0KLQotICAgIHZteF92bWNzX2V4aXQodik7Ci0KICAgICBpZiAoIGNwdV9oYXNfeHNhdmVzICYm IGNwdV9oYXNfdm14X3hzYXZlcyApCiAgICAgewogICAgICAgICBjdHh0LT5tc3JbY3R4dC0+Y291 bnRdLnZhbCA9IHYtPmFyY2guaHZtLm1zcl94c3M7CkBAIC04MzUsMTQgKzgyNCw2IEBAIHN0YXRp YyBpbnQgdm14X2xvYWRfbXNyKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgaHZtX21zciAqY3R4dCkK ICAgICB7CiAgICAgICAgIHN3aXRjaCAoIGN0eHQtPm1zcltpXS5pbmRleCApCiAgICAgICAgIHsK LSAgICAgICAgY2FzZSBNU1JfSUEzMl9CTkRDRkdTOgotICAgICAgICAgICAgaWYgKCBjcHVfaGFz X21weCAmJiBjcHVfaGFzX3ZteF9tcHggJiYKLSAgICAgICAgICAgICAgICAgaXNfY2Fub25pY2Fs X2FkZHJlc3MoY3R4dC0+bXNyW2ldLnZhbCkgJiYKLSAgICAgICAgICAgICAgICAgIShjdHh0LT5t c3JbaV0udmFsICYgSUEzMl9CTkRDRkdTX1JFU0VSVkVEKSApCi0gICAgICAgICAgICAgICAgX192 bXdyaXRlKEdVRVNUX0JORENGR1MsIGN0eHQtPm1zcltpXS52YWwpOwotICAgICAgICAgICAgZWxz ZSBpZiAoIGN0eHQtPm1zcltpXS52YWwgKQotICAgICAgICAgICAgICAgIGVyciA9IC1FTlhJTzsK LSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE1TUl9JQTMyX1hTUzoKICAgICAgICAg ICAgIGlmICggY3B1X2hhc194c2F2ZXMgJiYgY3B1X2hhc192bXhfeHNhdmVzICkKICAgICAgICAg ICAgICAgICB2LT5hcmNoLmh2bS5tc3JfeHNzID0gY3R4dC0+bXNyW2ldLnZhbDsKQEAgLTEyMTUs OCArMTE5NiwxMSBAQCBzdGF0aWMgYm9vbCB2bXhfc2V0X2d1ZXN0X2JuZGNmZ3Moc3RydWN0IHZj cHUgKnYsIHU2NCB2YWwpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIHZteF9n ZXRfZ3Vlc3RfYm5kY2ZncyhzdHJ1Y3QgdmNwdSAqdiwgdTY0ICp2YWwpCitzdGF0aWMgYm9vbCB2 bXhfZ2V0X2d1ZXN0X2JuZGNmZ3MoY29uc3Qgc3RydWN0IHZjcHUgKmN2LCB1NjQgKnZhbCkKIHsK KyAgICAvKiBHZXQgYSBub24tY29uc3QgcG9pbnRlciBmb3Igdm14X3ZtY3NfZW50ZXIoKSAqLwor ICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3YtPmRvbWFpbi0+dmNwdVtjdi0+dmNwdV9pZF07CisKICAg ICBBU1NFUlQoY3B1X2hhc19tcHggJiYgY3B1X2hhc192bXhfbXB4KTsKIAogICAgIHZteF92bWNz X2VudGVyKHYpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21zci5jIGIveGVuL2FyY2gveDg2 L21zci5jCmluZGV4IDRkZjRhNTlmNGQuLjBlOTAxZDIzOTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9tc3IuYworKysgYi94ZW4vYXJjaC94ODYvbXNyLmMKQEAgLTE2MCw2ICsxNjAsMTYgQEAg aW50IGd1ZXN0X3JkbXNyKGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBtc3IsIHVpbnQ2 NF90ICp2YWwpCiAgICAgICAgIHJldCA9IGd1ZXN0X3JkbXNyX3gyYXBpYyh2LCBtc3IsIHZhbCk7 CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBNU1JfSUEzMl9CTkRDRkdTOgorICAgICAgICBp ZiAoICFjcC0+ZmVhdC5tcHggKQorICAgICAgICAgICAgZ290byBncF9mYXVsdDsKKworICAgICAg ICBBU1NFUlQoaXNfaHZtX2RvbWFpbihkKSk7CisgICAgICAgIGlmICghaHZtX2dldF9ndWVzdF9i bmRjZmdzKHYsIHZhbCkgKQorICAgICAgICAgICAgZ290byBncF9mYXVsdDsKKworICAgICAgICBi cmVhazsKKwogICAgIGNhc2UgMHg0MDAwMDAwMCAuLi4gMHg0MDAwMDFmZjoKICAgICAgICAgaWYg KCBpc192aXJpZGlhbl9kb21haW4oZCkgKQogICAgICAgICB7CkBAIC0zMjMsNiArMzMzLDE2IEBA IGludCBndWVzdF93cm1zcihzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCB2 YWwpCiAgICAgICAgIHJldCA9IGd1ZXN0X3dybXNyX3gyYXBpYyh2LCBtc3IsIHZhbCk7CiAgICAg ICAgIGJyZWFrOwogCisgICAgY2FzZSBNU1JfSUEzMl9CTkRDRkdTOgorICAgICAgICBpZiAoICFj cC0+ZmVhdC5tcHggKQorICAgICAgICAgICAgZ290byBncF9mYXVsdDsKKworICAgICAgICBBU1NF UlQoaXNfaHZtX2RvbWFpbihkKSk7CisgICAgICAgIGlmICggIWh2bV9zZXRfZ3Vlc3RfYm5kY2Zn cyh2LCB2YWwpICkKKyAgICAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7CisKKyAgICAgICAgYnJlYWs7 CisKICAgICBjYXNlIDB4NDAwMDAwMDAgLi4uIDB4NDAwMDAxZmY6CiAgICAgICAgIGlmICggaXNf dmlyaWRpYW5fZG9tYWluKGQpICkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vaHZtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaAppbmRleCA1 M2ZmZWJiMmM1Li5kNDFlZDYzMjMyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9odm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaApAQCAtMTQ5LDcgKzE0 OSw3IEBAIHN0cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgewogICAgIGludCAgKCpnZXRfZ3Vlc3Rf cGF0KShzdHJ1Y3QgdmNwdSAqdiwgdTY0ICopOwogICAgIGludCAgKCpzZXRfZ3Vlc3RfcGF0KShz dHJ1Y3QgdmNwdSAqdiwgdTY0KTsKIAotICAgIGJvb2wgKCpnZXRfZ3Vlc3RfYm5kY2Zncykoc3Ry dWN0IHZjcHUgKnYsIHU2NCAqKTsKKyAgICBib29sICgqZ2V0X2d1ZXN0X2JuZGNmZ3MpKGNvbnN0 IHN0cnVjdCB2Y3B1ICp2LCB1NjQgKik7CiAgICAgYm9vbCAoKnNldF9ndWVzdF9ibmRjZmdzKShz dHJ1Y3QgdmNwdSAqdiwgdTY0KTsKIAogICAgIHZvaWQgKCpzZXRfdHNjX29mZnNldCkoc3RydWN0 IHZjcHUgKnYsIHU2NCBvZmZzZXQsIHU2NCBhdF90c2MpOwpAQCAtNDQ4LDcgKzQ0OCw3IEBAIHN0 YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBodm1fZ2V0X3NoYWRvd19nc19iYXNlKHN0cnVjdCB2 Y3B1ICp2KQogICAgIHJldHVybiBodm1fZnVuY3MuZ2V0X3NoYWRvd19nc19iYXNlKHYpOwogfQog Ci1zdGF0aWMgaW5saW5lIGJvb2wgaHZtX2dldF9ndWVzdF9ibmRjZmdzKHN0cnVjdCB2Y3B1ICp2 LCB1NjQgKnZhbCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBodm1fZ2V0X2d1ZXN0X2JuZGNmZ3MoY29u c3Qgc3RydWN0IHZjcHUgKnYsIHU2NCAqdmFsKQogewogICAgIHJldHVybiBodm1fZnVuY3MuZ2V0 X2d1ZXN0X2JuZGNmZ3MgJiYKICAgICAgICAgICAgaHZtX2Z1bmNzLmdldF9ndWVzdF9ibmRjZmdz KHYsIHZhbCk7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs