From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 01/10] x86/spec_ctrl: Read MSR_ARCH_CAPABILITIES only once Date: Fri, 11 May 2018 11:38:05 +0100 Message-ID: <1526035094-14343-2-git-send-email-andrew.cooper3@citrix.com> References: <1526035094-14343-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: <1526035094-14343-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: Juergen Gross , Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org TWFrZSBpdCBhdmFpbGFibGUgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGluaXRfc3BlY3VsYXRpb25f bWl0aWdhdGlvbnMoKSwgYW5kCnBhc3MgaXQgaW50byBhcHByb3ByaWF0ZSBmdW5jdGlvbnMuICBG aXggYW4gUlNCQSB0eXBvIHdoaWxlIG1vdmluZyB0aGUKYWZmZWN0ZWQgY29tbWVudC4KClNpZ25l ZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpD QzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJA Y2l0cml4LmNvbT4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpD QzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9zcGVj X2N0cmwuYyB8IDM0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXgg MDM3ZTg0ZC4uNGFiMGY1MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtOTcsMTggKzk3LDE1IEBAIHN0YXRpYyBp bnQgX19pbml0IHBhcnNlX2J0aShjb25zdCBjaGFyICpzKQogfQogY3VzdG9tX3BhcmFtKCJidGki LCBwYXJzZV9idGkpOwogCi1zdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfZGV0YWlscyhlbnVtIGlu ZF90aHVuayB0aHVuaykKK3N0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5k X3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogewogICAgIHVuc2lnbmVkIGludCBfN2QwID0g MCwgZThiID0gMCwgdG1wOwotICAgIHVpbnQ2NF90IGNhcHMgPSAwOwogCiAgICAgLyogQ29sbGVj dCBkaWFnbm9zdGljcyBhYm91dCBhdmFpbGFibGUgbWl0aWdhdGlvbnMuICovCiAgICAgaWYgKCBi b290X2NwdV9kYXRhLmNwdWlkX2xldmVsID49IDcgKQogICAgICAgICBjcHVpZF9jb3VudCg3LCAw LCAmdG1wLCAmdG1wLCAmdG1wLCAmXzdkMCk7CiAgICAgaWYgKCBib290X2NwdV9kYXRhLmV4dGVu ZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDggKQogICAgICAgICBjcHVpZCgweDgwMDAwMDA4 LCAmdG1wLCAmZThiLCAmdG1wLCAmdG1wKTsKLSAgICBpZiAoIF83ZDAgJiBjcHVmZWF0X21hc2so WDg2X0ZFQVRVUkVfQVJDSF9DQVBTKSApCi0gICAgICAgIHJkbXNybChNU1JfQVJDSF9DQVBBQklM SVRJRVMsIGNhcHMpOwogCiAgICAgcHJpbnRrKFhFTkxPR19ERUJVRyAiU3BlY3VsYXRpdmUgbWl0 aWdhdGlvbiBmYWNpbGl0aWVzOlxuIik7CiAKQEAgLTE0Miw3ICsxMzksNyBAQCBzdGF0aWMgdm9p ZCBfX2luaXQgcHJpbnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaykKIH0KIAogLyogQ2Fs Y3VsYXRlIHdoZXRoZXIgUmV0cG9saW5lIGlzIGtub3duLXNhZmUgb24gdGhpcyBDUFUuICovCi1z dGF0aWMgYm9vbCBfX2luaXQgcmV0cG9saW5lX3NhZmUodm9pZCkKK3N0YXRpYyBib29sIF9faW5p dCByZXRwb2xpbmVfc2FmZSh1aW50NjRfdCBjYXBzKQogewogICAgIHVuc2lnbmVkIGludCB1Y29k ZV9yZXYgPSB0aGlzX2NwdSh1Y29kZV9jcHVfaW5mbykuY3B1X3NpZy5yZXY7CiAKQEAgLTE1Mywx OSArMTUwLDEyIEBAIHN0YXRpYyBib29sIF9faW5pdCByZXRwb2xpbmVfc2FmZSh2b2lkKQogICAg ICAgICAgYm9vdF9jcHVfZGF0YS54ODYgIT0gNiApCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot ICAgIGlmICggYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0FSQ0hfQ0FQUykgKQotICAgIHsKLSAg ICAgICAgdWludDY0X3QgY2FwczsKLQotICAgICAgICByZG1zcmwoTVNSX0FSQ0hfQ0FQQUJJTElU SUVTLCBjYXBzKTsKLQotICAgICAgICAvKgotICAgICAgICAgKiBSQlNBIG1heSBiZSBzZXQgYnkg YSBoeXBlcnZpc29yIHRvIGluZGljYXRlIHRoYXQgd2UgbWF5IG1vdmUgdG8gYQotICAgICAgICAg KiBwcm9jZXNzb3Igd2hpY2ggaXNuJ3QgcmV0cG9saW5lLXNhZmUuCi0gICAgICAgICAqLwotICAg ICAgICBpZiAoIGNhcHMgJiBBUkNIX0NBUFNfUlNCQSApCi0gICAgICAgICAgICByZXR1cm4gZmFs c2U7Ci0gICAgfQorICAgIC8qCisgICAgICogUlNCQSBtYXkgYmUgc2V0IGJ5IGEgaHlwZXJ2aXNv ciB0byBpbmRpY2F0ZSB0aGF0IHdlIG1heSBtb3ZlIHRvIGEKKyAgICAgKiBwcm9jZXNzb3Igd2hp Y2ggaXNuJ3QgcmV0cG9saW5lLXNhZmUuCisgICAgICovCisgICAgaWYgKCBjYXBzICYgQVJDSF9D QVBTX1JTQkEgKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBzd2l0Y2ggKCBib290X2Nw dV9kYXRhLng4Nl9tb2RlbCApCiAgICAgewpAQCAtMjk5LDYgKzI4OSwxMCBAQCB2b2lkIF9faW5p dCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25zKHZvaWQpCiB7CiAgICAgZW51bSBpbmRfdGh1 bmsgdGh1bmsgPSBUSFVOS19ERUZBVUxUOwogICAgIGJvb2wgaWJycyA9IGZhbHNlOworICAgIHVp bnQ2NF90IGNhcHMgPSAwOworCisgICAgaWYgKCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQVJD SF9DQVBTKSApCisgICAgICAgIHJkbXNybChNU1JfQVJDSF9DQVBBQklMSVRJRVMsIGNhcHMpOwog CiAgICAgLyoKICAgICAgKiBIYXMgdGhlIHVzZXIgc3BlY2lmaWVkIGFueSBjdXN0b20gQlRJIG1p dGlnYXRpb25zPyAgSWYgc28sIGZvbGxvdyB0aGVpcgpAQCAtMzI3LDcgKzMyMSw3IEBAIHZvaWQg X19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgICAgICAgICAq IE9uIEludGVsIGhhcmR3YXJlLCB3ZSdkIGxpa2UgdG8gdXNlIHJldHBvbGluZSBpbiBwcmVmZXJl bmNlIHRvCiAgICAgICAgICAgICAgKiBJQlJTLCBidXQgb25seSBpZiBpdCBpcyBzYWZlIG9uIHRo aXMgaGFyZHdhcmUuCiAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIGVsc2UgaWYgKCByZXRw b2xpbmVfc2FmZSgpICkKKyAgICAgICAgICAgIGVsc2UgaWYgKCByZXRwb2xpbmVfc2FmZShjYXBz KSApCiAgICAgICAgICAgICAgICAgdGh1bmsgPSBUSFVOS19SRVRQT0xJTkU7CiAgICAgICAgICAg ICBlbHNlIGlmICggYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0lCUlNCKSApCiAgICAgICAgICAg ICAgICAgaWJycyA9IHRydWU7CkBAIC00MTgsNyArNDEyLDcgQEAgdm9pZCBfX2luaXQgaW5pdF9z cGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKQogICAgIGVsc2UKICAgICAgICAgc2V0dXBfY2xl YXJfY3B1X2NhcChYODZfRkVBVFVSRV9OT19YUFRJKTsKIAotICAgIHByaW50X2RldGFpbHModGh1 bmspOworICAgIHByaW50X2RldGFpbHModGh1bmssIGNhcHMpOwogfQogCiBzdGF0aWMgdm9pZCBf X2luaXQgX19tYXliZV91bnVzZWQgYnVpbGRfYXNzZXJ0aW9ucyh2b2lkKQotLSAKMi4xLjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs