From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 3/4] x86: stop handling MSR_IA32_XSS save/restore in implementation code Date: Thu, 14 Mar 2019 13:51:24 +0000 Message-ID: <20190314135125.1958-4-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 all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h4Qlm-0007ib-G7 for xen-devel@lists.xenproject.org; Thu, 14 Mar 2019 13:51:38 +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 biBNU1Igc2F2ZS9yZXN0b3JlIGNvZGUgdG8gaGFuZGxlIGl0LgoKVGhpcyBwYXRjaCBhbHNvIGFk ZHMgcHJvcGVyIGNoZWNrcyBvZiBDUFVJRCBwb2xpY3kgaW4gdGhlIG5ldyBnZXQvc2V0IGNvZGUu CgpOT1RFOiBNU1JfSUEzMl9YU1MgaXMgdGhlIGxhc3QgTVNSIHRvIGJlIHNhdmVkIGFuZCByZXN0 b3JlZCBieQogICAgICBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBjb2RlLiBUaGlzIHBhdGNoIHRo ZXJlZm9yZSByZW1vdmVzIHRoZQogICAgICAoVk1YKSBkZWZpbml0aW9ucyBhbmQgb2YgdGhlIGlu aXRfbXNyKCksIHNhdmVfbXNyKCkgYW5kCiAgICAgIGxvYWRfbXNyKCkgaHZtX2Z1bmNzLCBhcyB0 aGV5IGFyZSBubyBsb25nZXIgbmVjZXNzYXJ5LiBUaGUKICAgICAgZGVjbGFyYXRpb25zIG9mIGFu ZCBjYWxscyB0byB0aG9zZSBodm1fZnVuY3Mgd2lsbCBiZSBjbGVhbmVkIHVwCiAgICAgIGJ5IGEg c3Vic2VxdWVudCBwYXRjaC4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy YW50QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCkNj OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1QGNp dHJpeC5jb20+CkNjOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+Ci0tLQog eGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgfCAxNSArKy0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4 Ni9odm0vdm14L3ZteC5jIHwgNDkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIHhlbi9hcmNoL3g4Ni9tc3IuYyAgICAgICAgIHwgMTggKysrKysrKysrKysrKysKIDMgZmls ZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXgg ZGZmNTkwZTY1OC4uZGViN2ZiMmFkYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0u YworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0xMzA0LDYgKzEzMDQsNyBAQCBzdGF0 aWMgY29uc3QgdWludDMyX3QgbXNyc190b19zZW5kW10gPSB7CiAgICAgTVNSX1NQRUNfQ1RSTCwK ICAgICBNU1JfSU5URUxfTUlTQ19GRUFUVVJFU19FTkFCTEVTLAogICAgIE1TUl9JQTMyX0JORENG R1MsCisgICAgTVNSX0lBMzJfWFNTLAogICAgIE1TUl9BTUQ2NF9EUjBfQUREUkVTU19NQVNLLAog ICAgIE1TUl9BTUQ2NF9EUjFfQUREUkVTU19NQVNLLAogICAgIE1TUl9BTUQ2NF9EUjJfQUREUkVT U19NQVNLLApAQCAtMTQ0Miw2ICsxNDQzLDcgQEAgc3RhdGljIGludCBodm1fbG9hZF9jcHVfbXNy cyhzdHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICAgICAgY2Fz ZSBNU1JfU1BFQ19DVFJMOgogICAgICAgICBjYXNlIE1TUl9JTlRFTF9NSVNDX0ZFQVRVUkVTX0VO QUJMRVM6CiAgICAgICAgIGNhc2UgTVNSX0lBMzJfQk5EQ0ZHUzoKKyAgICAgICAgY2FzZSBNU1Jf SUEzMl9YU1M6CiAgICAgICAgIGNhc2UgTVNSX0FNRDY0X0RSMF9BRERSRVNTX01BU0s6CiAgICAg ICAgIGNhc2UgTVNSX0FNRDY0X0RSMV9BRERSRVNTX01BU0sgLi4uIE1TUl9BTUQ2NF9EUjNfQURE UkVTU19NQVNLOgogICAgICAgICAgICAgcmMgPSBndWVzdF93cm1zcih2LCBjdHh0LT5tc3JbaV0u aW5kZXgsIGN0eHQtPm1zcltpXS52YWwpOwpAQCAtMzQ2MywxMiArMzQ2NSw2IEBAIGludCBodm1f bXNyX3JlYWRfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVu dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN VFJSY2FwX1ZDTlQpKV07CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBNU1JfSUEzMl9YU1M6 Ci0gICAgICAgIGlmICggIWQtPmFyY2guY3B1aWQtPnhzdGF0ZS54c2F2ZXMgKQotICAgICAgICAg ICAgZ290byBncF9mYXVsdDsKLSAgICAgICAgKm1zcl9jb250ZW50ID0gdi0+YXJjaC5tc3JzLT54 c3MucmF3OwotICAgICAgICBicmVhazsKLQogICAgIGNhc2UgTVNSX0s4X0VOQUJMRV9DMUU6CiAg ICAgY2FzZSBNU1JfQU1ENjRfTkJfQ0ZHOgogICAgICAgICAgLyoKQEAgLTM2MDgsMTMgKzM2MDQs NiBAQCBpbnQgaHZtX21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50IG1zciwgdWludDY0 X3QgbXNyX2NvbnRlbnQsCiAgICAgICAgICAgICBnb3RvIGdwX2ZhdWx0OwogICAgICAgICBicmVh azsKIAotICAgIGNhc2UgTVNSX0lBMzJfWFNTOgotICAgICAgICAvKiBObyBYU1MgZmVhdHVyZXMg Y3VycmVudGx5IHN1cHBvcnRlZCBmb3IgZ3Vlc3RzLiAqLwotICAgICAgICBpZiAoICFkLT5hcmNo LmNwdWlkLT54c3RhdGUueHNhdmVzIHx8IG1zcl9jb250ZW50ICE9IDAgKQotICAgICAgICAgICAg Z290byBncF9mYXVsdDsKLSAgICAgICAgdi0+YXJjaC5tc3JzLT54c3MucmF3ID0gbXNyX2NvbnRl bnQ7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBNU1JfQU1ENjRfTkJfQ0ZHOgogICAgICAg ICAvKiBpZ25vcmUgdGhlIHdyaXRlICovCiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2h2bS92bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRl eCA5ODVlNTczNWQyLi5jNDZlMDViOTFlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3Zt eC92bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwpAQCAtNzk3LDUyICs3OTcs NiBAQCBzdGF0aWMgaW50IHZteF9sb2FkX3ZtY3NfY3R4dChzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0 IGh2bV9od19jcHUgKmN0eHQpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBp bnQgX19pbml0IHZteF9pbml0X21zcih2b2lkKQotewotICAgIHJldHVybiAoY3B1X2hhc19tcHgg JiYgY3B1X2hhc192bXhfbXB4KSArCi0gICAgICAgICAgIChjcHVfaGFzX3hzYXZlcyAmJiBjcHVf aGFzX3ZteF94c2F2ZXMpOwotfQotCi1zdGF0aWMgdm9pZCB2bXhfc2F2ZV9tc3Ioc3RydWN0IHZj cHUgKnYsIHN0cnVjdCBodm1fbXNyICpjdHh0KQotewotICAgIGlmICggY3B1X2hhc194c2F2ZXMg JiYgY3B1X2hhc192bXhfeHNhdmVzICkKLSAgICB7Ci0gICAgICAgIGN0eHQtPm1zcltjdHh0LT5j b3VudF0udmFsID0gdi0+YXJjaC5tc3JzLT54c3MucmF3OwotICAgICAgICBpZiAoIGN0eHQtPm1z cltjdHh0LT5jb3VudF0udmFsICkKLSAgICAgICAgICAgIGN0eHQtPm1zcltjdHh0LT5jb3VudCsr XS5pbmRleCA9IE1TUl9JQTMyX1hTUzsKLSAgICB9Ci19Ci0KLXN0YXRpYyBpbnQgdm14X2xvYWRf bXNyKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgaHZtX21zciAqY3R4dCkKLXsKLSAgICB1bnNpZ25l ZCBpbnQgaTsKLSAgICBpbnQgZXJyID0gMDsKLQotICAgIHZteF92bWNzX2VudGVyKHYpOwotCi0g ICAgZm9yICggaSA9IDA7IGkgPCBjdHh0LT5jb3VudDsgKytpICkKLSAgICB7Ci0gICAgICAgIHN3 aXRjaCAoIGN0eHQtPm1zcltpXS5pbmRleCApCi0gICAgICAgIHsKLSAgICAgICAgY2FzZSBNU1Jf SUEzMl9YU1M6Ci0gICAgICAgICAgICBpZiAoIGNwdV9oYXNfeHNhdmVzICYmIGNwdV9oYXNfdm14 X3hzYXZlcyApCi0gICAgICAgICAgICAgICAgdi0+YXJjaC5tc3JzLT54c3MucmF3ID0gY3R4dC0+ bXNyW2ldLnZhbDsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBlcnIgPSAtRU5Y SU87Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNv bnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIGlmICggZXJyICkKLSAgICAgICAgICAgIGJyZWFr OwotICAgICAgICBjdHh0LT5tc3JbaV0uX3JzdmQgPSAxOwotICAgIH0KLQotICAgIHZteF92bWNz X2V4aXQodik7Ci0KLSAgICByZXR1cm4gZXJyOwotfQotCiBzdGF0aWMgdm9pZCB2bXhfZnB1X2Vu dGVyKHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHZjcHVfcmVzdG9yZV9mcHVfbGF6eSh2KTsKQEAg LTIyODIsOSArMjIzNiw2IEBAIHN0YXRpYyBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5p dGRhdGEgdm14X2Z1bmN0aW9uX3RhYmxlID0gewogICAgIC52Y3B1X2Rlc3Ryb3kgICAgICAgICA9 IHZteF92Y3B1X2Rlc3Ryb3ksCiAgICAgLnNhdmVfY3B1X2N0eHQgICAgICAgID0gdm14X3NhdmVf dm1jc19jdHh0LAogICAgIC5sb2FkX2NwdV9jdHh0ICAgICAgICA9IHZteF9sb2FkX3ZtY3NfY3R4 dCwKLSAgICAuaW5pdF9tc3IgICAgICAgICAgICAgPSB2bXhfaW5pdF9tc3IsCi0gICAgLnNhdmVf bXNyICAgICAgICAgICAgID0gdm14X3NhdmVfbXNyLAotICAgIC5sb2FkX21zciAgICAgICAgICAg ICA9IHZteF9sb2FkX21zciwKICAgICAuZ2V0X2ludGVycnVwdF9zaGFkb3cgPSB2bXhfZ2V0X2lu dGVycnVwdF9zaGFkb3csCiAgICAgLnNldF9pbnRlcnJ1cHRfc2hhZG93ID0gdm14X3NldF9pbnRl cnJ1cHRfc2hhZG93LAogICAgIC5ndWVzdF94ODZfbW9kZSAgICAgICA9IHZteF9ndWVzdF94ODZf bW9kZSwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc3IuYyBiL3hlbi9hcmNoL3g4Ni9tc3Iu YwppbmRleCAwZTkwMWQyMzk3Li40YjVlMDAwMjI0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv bXNyLmMKKysrIGIveGVuL2FyY2gveDg2L21zci5jCkBAIC0xNzAsNiArMTcwLDEzIEBAIGludCBn dWVzdF9yZG1zcihjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCAq dmFsKQogCiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBNU1JfSUEzMl9YU1M6CisgICAgICAg IGlmICggIWNwLT54c3RhdGUueHNhdmVzICkKKyAgICAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7CisK KyAgICAgICAgKnZhbCA9IG1zcnMtPnhzcy5yYXc7CisgICAgICAgIGJyZWFrOworCiAgICAgY2Fz ZSAweDQwMDAwMDAwIC4uLiAweDQwMDAwMWZmOgogICAgICAgICBpZiAoIGlzX3ZpcmlkaWFuX2Rv bWFpbihkKSApCiAgICAgICAgIHsKQEAgLTM0Myw2ICszNTAsMTcgQEAgaW50IGd1ZXN0X3dybXNy KHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90IHZhbCkKIAogICAgICAgICBi cmVhazsKIAorICAgIGNhc2UgTVNSX0lBMzJfWFNTOgorICAgICAgICBpZiAoICFjcC0+eHN0YXRl LnhzYXZlcyApCisgICAgICAgICAgICBnb3RvIGdwX2ZhdWx0OworCisgICAgICAgIC8qIE5vIFhT UyBmZWF0dXJlcyBjdXJyZW50bHkgc3VwcG9ydGVkIGZvciBndWVzdHMgKi8KKyAgICAgICAgaWYg KCB2YWwgIT0gMCApCisgICAgICAgICAgICBnb3RvIGdwX2ZhdWx0OworCisgICAgICAgIG1zcnMt Pnhzcy5yYXcgPSB2YWw7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSAweDQwMDAwMDAwIC4u LiAweDQwMDAwMWZmOgogICAgICAgICBpZiAoIGlzX3ZpcmlkaWFuX2RvbWFpbihkKSApCiAgICAg ICAgIHsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=