mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
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: Chao Gao <chao.gao@intel.com> Tested-by: Rick Edgecombe <rick.p.edgecombe@intel.com> Link: https://lore.kernel.org/r/20250812025606.74625-3-chao.gao@intel.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
d2dcf25a4c
commit
db07f3d0eb
|
|
@ -1933,22 +1933,6 @@ 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)
|
||||
{
|
||||
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);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kvm_emulate_msr_read);
|
||||
|
||||
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);
|
||||
|
|
@ -1961,6 +1945,25 @@ int __kvm_emulate_msr_write(struct kvm_vcpu *vcpu, u32 index, u64 data)
|
|||
}
|
||||
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_emulate_msr_read(vcpu, index, data);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kvm_emulate_msr_read);
|
||||
|
||||
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_emulate_msr_write(vcpu, index, data);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kvm_emulate_msr_write);
|
||||
|
||||
|
||||
static void complete_userspace_rdmsr(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
if (!vcpu->run->msr.error) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user