Commit db07f3d0 authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: x86: Use double-underscore read/write MSR helpers as appropriate



Use the double-underscore helpers for emulating MSR reads and writes in
he no-underscore versions to better capture the relationship between the
two sets of APIs (the double-underscore versions don't honor userspace MSR
filters).

No functional change intended.

Signed-off-by: default avatarChao Gao <chao.gao@intel.com>
Tested-by: default avatarRick Edgecombe <rick.p.edgecombe@intel.com>
Link: https://lore.kernel.org/r/20250812025606.74625-3-chao.gao@intel.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent d2dcf25a
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
@@ -1933,11 +1933,24 @@ static int kvm_get_msr_ignored_check(struct kvm_vcpu *vcpu,
				 __kvm_get_msr);
}

int __kvm_emulate_msr_read(struct kvm_vcpu *vcpu, u32 index, u64 *data)
{
	return kvm_get_msr_ignored_check(vcpu, index, data, false);
}
EXPORT_SYMBOL_GPL(__kvm_emulate_msr_read);

int __kvm_emulate_msr_write(struct kvm_vcpu *vcpu, u32 index, u64 data)
{
	return kvm_set_msr_ignored_check(vcpu, index, data, false);
}
EXPORT_SYMBOL_GPL(__kvm_emulate_msr_write);

int kvm_emulate_msr_read(struct kvm_vcpu *vcpu, u32 index, u64 *data)
{
	if (!kvm_msr_allowed(vcpu, index, KVM_MSR_FILTER_READ))
		return KVM_MSR_RET_FILTERED;
	return kvm_get_msr_ignored_check(vcpu, index, data, false);

	return __kvm_emulate_msr_read(vcpu, index, data);
}
EXPORT_SYMBOL_GPL(kvm_emulate_msr_read);

@@ -1945,21 +1958,11 @@ int kvm_emulate_msr_write(struct kvm_vcpu *vcpu, u32 index, u64 data)
{
	if (!kvm_msr_allowed(vcpu, index, KVM_MSR_FILTER_WRITE))
		return KVM_MSR_RET_FILTERED;
	return kvm_set_msr_ignored_check(vcpu, index, data, false);
}
EXPORT_SYMBOL_GPL(kvm_emulate_msr_write);

int __kvm_emulate_msr_read(struct kvm_vcpu *vcpu, u32 index, u64 *data)
{
	return kvm_get_msr_ignored_check(vcpu, index, data, false);
	return __kvm_emulate_msr_write(vcpu, index, data);
}
EXPORT_SYMBOL_GPL(__kvm_emulate_msr_read);
EXPORT_SYMBOL_GPL(kvm_emulate_msr_write);

int __kvm_emulate_msr_write(struct kvm_vcpu *vcpu, u32 index, u64 data)
{
	return kvm_set_msr_ignored_check(vcpu, index, data, false);
}
EXPORT_SYMBOL_GPL(__kvm_emulate_msr_write);

static void complete_userspace_rdmsr(struct kvm_vcpu *vcpu)
{