From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 8/9] x86/amd: Virtualise MSR_VIRT_SPEC_CTRL for guests Date: Mon, 3 Dec 2018 16:18:21 +0000 Message-ID: <1543853902-6257-9-git-send-email-andrew.cooper3@citrix.com> References: <1543853902-6257-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: <1543853902-6257-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Brian Woods , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlIHNlbWFudGljcyBvZiBNU1JfVklSVF9TUEVDX0NUUkwgYXJlIHRoYXQgdW5rbm93biBiaXRz IGFyZSB3cml0ZS1kaXNjYXJkCmFuZCByZWFkIGFzIHplcm8uICBPbmx5IFZJUlRfU1BFQ19DVFJM LlNTQkQgaXMgZGVmaW5lZCBhdCB0aGUgbW9tZW50LgoKVG8gZmFjaWxpdGF0ZSBtYWtpbmcgdGhp cyBwZXItZ3Vlc3QsIHRoZSBsZWdhY3kgU1NCRCBzdGF0ZSBuZWVkcyBjb250ZXh0CnN3aXRjaGlu ZyBiZXR3ZWVuIHZjcHVzLiAgYW1kX2N0eHRfc3dpdGNoX2xlZ2FjeV9zc2JkKCkgaXMgdXBkYXRl ZCB0byB0YWtlIHRoZQp2Y3B1cyBzZXR0aW5nIGludG8gYWNjb3VudC4gIEZ1cnRoZXJtb3JlLCB0 aGUgZ3Vlc3RzIGNob3NlbiB2YWx1ZSBuZWVkcwpwcmVzZXJ2aW5nIGFjcm9zcyBtaWdyYXRlLgoK VGhpcyBtYXJrcyBhIHN1YnRsZSBjaGFuZ2UgaW4gaG93IGBzc2JkPWAgYmVoYXZlcy4gIElmIFhl biB3aXNoZXMgU1NCRCB0byBiZQphc3NlcnRlZCwgaXQgcmVtYWlucyBzZXQgaW4gaGFyZHdhcmUg YWxsIHRoZSB0aW1lLiAgSW4gdGhlIGRlZmF1bHQgY2FzZSBvZiBYZW4Kd2lzaGluZyBTU0JEIG5v dCB0byBiZSBhc3NlcnRlZCwgdGhlIHZhbHVlIHNldCBpbiBoYXJkd2FyZSBpcyB0aGUgZ3Vlc3Rz CmNob2ljZS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2Vp IExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh dUBjaXRyaXguY29tPgpDQzogQnJpYW4gV29vZHMgPGJyaWFuLndvb2RzQGFtZC5jb20+Ci0tLQog ZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gfCAxMyArKysrKysrKystLS0tCiB4 ZW4vYXJjaC94ODYvY3B1L2FtZC5jICAgICAgICAgICAgICB8ICA0ICsrKy0KIHhlbi9hcmNoL3g4 Ni9kb21haW4uYyAgICAgICAgICAgICAgIHwgIDIgKysKIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAg ICAgICAgICAgICAgIHwgIDEgKwogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgICAgICAg fCAgMSArCiB4ZW4vYXJjaC94ODYvbXNyLmMgICAgICAgICAgICAgICAgICB8IDE3ICsrKysrKysr KysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L21zci5oICAgICAgICAgICB8ICA5ICsrKysr KysrKwogNyBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIGIvZG9jcy9t aXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KaW5kZXggNzY0ZjMzYS4uNjk2NzQ0ZSAxMDA2 NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KKysrIGIvZG9jcy9t aXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KQEAgLTE5MDQsMTAgKzE5MDQsMTUgQEAgb3B0 aW9uIGNhbiBiZSB1c2VkIHRvIGZvcmNlICh0aGUgZGVmYXVsdCkgb3IgcHJldmVudCBYZW4gZnJv bSBpc3N1aW5nIGJyYW5jaAogcHJlZGljdGlvbiBiYXJyaWVycyBvbiB2Y3B1IGNvbnRleHQgc3dp dGNoZXMuCiAKIE9uIGhhcmR3YXJlIHN1cHBvcnRpbmcgU1NCRCAoU3BlY3VsYXRpdmUgU3RvcmUg QnlwYXNzIERpc2FibGUpLCB0aGUgYHNzYmQ9YAotb3B0aW9uIGNhbiBiZSB1c2VkIHRvIGZvcmNl IG9yIHByZXZlbnQgWGVuIHVzaW5nIHRoZSBmZWF0dXJlIGl0c2VsZi4gIE9uIEFNRAotaGFyZHdh cmUsIHRoaXMgaXMgYSBnbG9iYWwgb3B0aW9uIGFwcGxpZWQgYXQgYm9vdCwgYW5kIG5vdCB2aXJ0 dWFsaXNlZCBmb3IKLWd1ZXN0IHVzZS4gIE9uIEludGVsIGhhcmR3YXJlLCB0aGUgZmVhdHVyZSBp cyB2aXJ0dWFsaXNlZCBmb3IgZ3Vlc3RzLAotaW5kZXBlbmRlbnRseSBvZiBYZW4ncyBjaG9pY2Ug b2Ygc2V0dGluZy4KK29wdGlvbiBjYW4gYmUgdXNlZCB0byBmb3JjZSBvciBwcmV2ZW50IFhlbiB1 c2luZyB0aGUgZmVhdHVyZSBpdHNlbGYuCisKKyogT24gaGFyZHdhcmUgc3VwcG9ydGluZyBTU0JE IGluIE1TUlxfU1BFQ1xfQ1RSTCwgWGVuIG1haW50YWlucyBkaXN0aW5jdCBndWVzdAorICBhbmQg aG9zdCBzdGF0ZSwgYW5kIHdpbGwgdmlydHVhbGlzZSBTU0JEIGZvciBndWVzdHMuCisKKyogT24g c29tZSBBTUQgaGFyZHdhcmUgd2hlcmUgb25seSBsZWdhY3kgTFNcX0NGRyBpcyBhdmFpbGFibGUs IFhlbiBvZmZlcnMgdGhlCisgIE1TUlxfVklSVFxfU1BFQ1xfQ1RSTCBpbnRlcmZhY2UgdG8gZ3Vl c3RzLCBidXQgaXMgdW5hYmxlIHRvIG1haW50YWluCisgIGRpc3RpbmN0IGd1ZXN0IGFuZCBob3N0 IHN0YXRlLiAgVGhlIHZhbHVlIHNldCBpbiBoYXJkd2FyZSBpcyB0aGUgbG9naWNhbCBPUgorICBv ZiB0aGUgWGVuIGFuZCBndWVzdCBzZXR0aW5ncy4KIAogT24gYWxsIGhhcmR3YXJlLCB0aGUgYGVh Z2VyLWZwdT1gIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBmb3JjZSBvciBwcmV2ZW50IFhlbgogZnJv bSB1c2luZyBmdWxseSBlYWdlciBGUFUgY29udGV4dCBzd2l0Y2hlcy4gIFRoaXMgaXMgY3VycmVu dGx5IGltcGxlbWVudGVkIGFzCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIv eGVuL2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCAzYThlYWQ5Li5jNzY2NDk3IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKQEAg LTQ1MCw3ICs0NTAsOSBAQCB2b2lkIGFtZF9jdHh0X3N3aXRjaF9sZWdhY3lfc3NiZChjb25zdCBz dHJ1Y3QgdmNwdSAqbmV4dCkKIHsKIAlzdGF0aWMgREVGSU5FX1BFUl9DUFUoYm9vbCwgc3NiZCk7 CiAJYm9vbCAqdGhpc19zc2JkID0gJnRoaXNfY3B1KHNzYmQpOwotCWJvb2wgZGlzYWJsZSA9IG9w dF9zc2JkOworCWJvb2wgZGlzYWJsZSA9IG9wdF9zc2JkID86CisgICAgICAgICAgICAobmV4dCAm JiAhaXNfaWRsZV92Y3B1KG5leHQpICYmCisgICAgICAgICAgICAgKG5leHQtPmFyY2gubXNycy0+ dmlydF9zcGVjX2N0cmwgJiBTUEVDX0NUUkxfU1NCRCkpOwogCXN0cnVjdCBjcHVpbmZvX3g4NiAq YyA9ICZjdXJyZW50X2NwdV9kYXRhOwogCXVuc2lnbmVkIGludCBzb2NrZXQgPSBjLT5waHlzX3By b2NfaWQsIGNvcmUgPSBjLT5jcHVfY29yZV9pZDsKIAlzdHJ1Y3Qgc3NiZF9sc19jZmcgKmNmZzsK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4u YwppbmRleCBiNGQ1OTQ4Li5kNWRmNjdlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWlu LmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCkBAIC0xODAxLDYgKzE4MDEsOCBAQCB2b2lk IGNvbnRleHRfc3dpdGNoKHN0cnVjdCB2Y3B1ICpwcmV2LCBzdHJ1Y3QgdmNwdSAqbmV4dCkKICAg ICAgICAgICAgIGxvYWRfc2VnbWVudHMobmV4dCk7CiAKICAgICAgICAgY3R4dF9zd2l0Y2hfbGV2 ZWxsaW5nKG5leHQpOworICAgICAgICBpZiAoIGNwdV9oYXNfbGVnYWN5X3NzYmQgKQorICAgICAg ICAgICAgYW1kX2N0eHRfc3dpdGNoX2xlZ2FjeV9zc2JkKG5leHQpOwogCiAgICAgICAgIGlmICgg b3B0X2licGIgJiYgIWlzX2lkbGVfZG9tYWluKG5leHRkKSApCiAgICAgICAgIHsKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwppbmRleCBh YThhZDE5Li5jYzlmOGNkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIv eGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0xMjc0LDYgKzEyNzQsNyBAQCBsb25nIGFyY2hfZG9f ZG9tY3RsKAogICAgICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgbXNyc190b19zZW5kW10gPSB7 CiAgICAgICAgICAgICBNU1JfU1BFQ19DVFJMLAogICAgICAgICAgICAgTVNSX0lOVEVMX01JU0Nf RkVBVFVSRVNfRU5BQkxFUywKKyAgICAgICAgICAgIE1TUl9WSVJUX1NQRUNfQ1RSTCwKICAgICAg ICAgICAgIE1TUl9BTUQ2NF9EUjBfQUREUkVTU19NQVNLLAogICAgICAgICAgICAgTVNSX0FNRDY0 X0RSMV9BRERSRVNTX01BU0ssCiAgICAgICAgICAgICBNU1JfQU1ENjRfRFIyX0FERFJFU1NfTUFT SywKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZt L2h2bS5jCmluZGV4IGUyZTQyMDQuLmEyYzM1MzMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtMTMwNSw2ICsxMzA1LDcg QEAgc3RhdGljIGludCBodm1fbG9hZF9jcHVfeHNhdmVfc3RhdGVzKHN0cnVjdCBkb21haW4gKmQs IGh2bV9kb21haW5fY29udGV4dF90ICpoKQogc3RhdGljIGNvbnN0IHVpbnQzMl90IG1zcnNfdG9f c2VuZFtdID0gewogICAgIE1TUl9TUEVDX0NUUkwsCiAgICAgTVNSX0lOVEVMX01JU0NfRkVBVFVS RVNfRU5BQkxFUywKKyAgICBNU1JfVklSVF9TUEVDX0NUUkwsCiAgICAgTVNSX0FNRDY0X0RSMF9B RERSRVNTX01BU0ssCiAgICAgTVNSX0FNRDY0X0RSMV9BRERSRVNTX01BU0ssCiAgICAgTVNSX0FN RDY0X0RSMl9BRERSRVNTX01BU0ssCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbXNyLmMgYi94 ZW4vYXJjaC94ODYvbXNyLmMKaW5kZXggNzZjYjZlZi4uODRlOTdhYSAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L21zci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tc3IuYwpAQCAtMTgzLDYgKzE4Mywx MyBAQCBpbnQgZ3Vlc3RfcmRtc3IoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwg dWludDY0X3QgKnZhbCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJSQVlf U0laRShtc3JzLT5kcl9tYXNrKSldOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgTVNSX1ZJ UlRfU1BFQ19DVFJMOgorICAgICAgICBpZiAoICFjcC0+ZXh0ZC52aXJ0X3NjX3NzYmQgKQorICAg ICAgICAgICAgZ290byBncF9mYXVsdDsKKworICAgICAgICAqdmFsID0gbXNycy0+dmlydF9zcGVj X2N0cmw7CisgICAgICAgIGJyZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIFg4 NkVNVUxfVU5IQU5ETEVBQkxFOwogICAgIH0KQEAgLTMyMyw2ICszMzAsMTYgQEAgaW50IGd1ZXN0 X3dybXNyKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90IHZhbCkKICAgICAg ICAgICAgIHdybXNybChtc3IsIHZhbCk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBNU1Jf VklSVF9TUEVDX0NUUkw6CisgICAgICAgIGlmICggIWNwLT5leHRkLnZpcnRfc2Nfc3NiZCApCisg ICAgICAgICAgICBnb3RvIGdwX2ZhdWx0OworCisgICAgICAgIG1zcnMtPnZpcnRfc3BlY19jdHJs ID0gKHZhbCAmIFNQRUNfQ1RSTF9TU0JEKTsKKworICAgICAgICBpZiAoIHYgPT0gY3VyciApCisg ICAgICAgICAgICBhbWRfY3R4dF9zd2l0Y2hfbGVnYWN5X3NzYmQoY3Vycik7CisgICAgICAgIGJy ZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxF OwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNyLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L21zci5oCmluZGV4IDA1ZDkwNWIuLjUxZDFiZWQgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvbXNyLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaApA QCAtMjg5LDYgKzI4OSwxNSBAQCBzdHJ1Y3QgdmNwdV9tc3JzCiAgICAgfSBtaXNjX2ZlYXR1cmVz X2VuYWJsZXM7CiAKICAgICAvKgorICAgICAqIDB4YzAwMTAxMWYgLSBNU1JfVklSVF9TUEVDX0NU UkwKKyAgICAgKgorICAgICAqIEZvciB0aGUgc3Vic2V0IG9mIGJpdHMgaW1wbGVtZW50ZWQsIGZ1 bmN0aW9uYWxpdHkgc2hhcmVkIHdpdGgKKyAgICAgKiBNU1JfU1BFQ19DVFJMLCBidXQgdGhlIE1T UiBpcyBleHBlY3RlZCB0byBiZSBpbnRlcmNlcHRlZC4gIEZvcgorICAgICAqIGNvbXBhdGliaWxp dHksIHVuc3VwcG9ydGVkIGJpdHMgYXJlIHdyaXRlLWRpc2NhcmQvcmVhZC1hcy16ZXJvLgorICAg ICAqLworICAgIHVpbnQzMl90IHZpcnRfc3BlY19jdHJsOworCisgICAgLyoKICAgICAgKiAweGMw MDExMHsyNywxOS0xYn0gTVNSX0FNRDY0X0RSezAtM31fQUREUkVTU19NQVNLCiAgICAgICoKICAg ICAgKiBMb2FkZWQgaW50byBoYXJkd2FyZSBmb3IgZ3Vlc3RzIHdoaWNoIGhhdmUgYWN0aXZlICVk cjcgc2V0dGluZ3MuCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=