aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorYosry Ahmed <yosry@kernel.org>2026-07-13 18:10:19 +0000
committerSean Christopherson <seanjc@google.com>2026-07-22 13:41:54 -0700
commit37352c4fbdd7921c032ab7e0eb7a0fec960924ec (patch)
tree82ec88255b455bb101dfeb40cba868a42024f002
parentKVM: x86: Always initialize EFER reserved bits on vendor initialization (diff)
KVM: x86: Reverse the polarity of efer_reserved_bits
In preparation for moving efer_reserved_bits into kvm_caps, reverse its polarity and make it efer_supported_bits, to be more consistent with other fields in kvm_caps. No functional change intended. Reviewed-by: Nikolay Borisov <nik.borisov@suse.com> Signed-off-by: Yosry Ahmed <yosry@kernel.org> Link: https://patch.msgid.link/20260713181020.2735367-5-yosry@kernel.org Signed-off-by: Sean Christopherson <seanjc@google.com>
-rw-r--r--arch/x86/kvm/msrs.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kvm/msrs.c b/arch/x86/kvm/msrs.c
index a7394bdae029..8e33b87b5e8f 100644
--- a/arch/x86/kvm/msrs.c
+++ b/arch/x86/kvm/msrs.c
@@ -19,7 +19,7 @@ bool __read_mostly report_ignored_msrs = true;
module_param(report_ignored_msrs, bool, 0644);
EXPORT_SYMBOL_FOR_KVM_INTERNAL(report_ignored_msrs);
-static u64 __read_mostly efer_reserved_bits;
+static u64 __read_mostly efer_supported_bits;
#define MAX_IO_MSRS 256
@@ -605,7 +605,7 @@ static bool __kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer)
}
bool kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer)
{
- if (efer & efer_reserved_bits)
+ if (efer & ~efer_supported_bits)
return false;
return __kvm_valid_efer(vcpu, efer);
@@ -618,7 +618,7 @@ static int set_efer(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
u64 efer = msr_info->data;
int r;
- if (efer & efer_reserved_bits)
+ if (efer & ~efer_supported_bits)
return 1;
if (!msr_info->host_initiated) {
@@ -652,13 +652,13 @@ static int set_efer(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
void kvm_init_efer_bits(void)
{
/* Enable syscall by default because its emulated by KVM */
- efer_reserved_bits = ~((u64)EFER_SCE);
+ efer_supported_bits = (u64)EFER_SCE;
}
EXPORT_SYMBOL_FOR_KVM_INTERNAL(kvm_init_efer_bits);
void kvm_enable_efer_bits(u64 mask)
{
- efer_reserved_bits &= ~mask;
+ efer_supported_bits |= mask;
}
EXPORT_SYMBOL_FOR_KVM_INTERNAL(kvm_enable_efer_bits);