KVM: x86: Open code shared_msr_update() in its only caller
authorSean Christopherson <sean.j.christopherson@intel.com>
Fri, 22 Nov 2019 20:04:50 +0000 (12:04 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 23 Nov 2019 10:29:38 +0000 (11:29 +0100)
Fold shared_msr_update() into its sole user to eliminate its pointless
bounds check, its godawful printk, its misleading comment (it's called
under a global lock), and its woefully inaccurate name.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c

index 3e9ab2d..f5db520 100644 (file)
@@ -262,23 +262,6 @@ static void kvm_on_user_return(struct user_return_notifier *urn)
        }
 }
 
-static void shared_msr_update(unsigned slot, u32 msr)
-{
-       u64 value;
-       unsigned int cpu = smp_processor_id();
-       struct kvm_shared_msrs *smsr = per_cpu_ptr(shared_msrs, cpu);
-
-       /* only read, and nobody should modify it at this time,
-        * so don't need lock */
-       if (slot >= shared_msrs_global.nr) {
-               printk(KERN_ERR "kvm: invalid MSR slot!");
-               return;
-       }
-       rdmsrl_safe(msr, &value);
-       smsr->values[slot].host = value;
-       smsr->values[slot].curr = value;
-}
-
 void kvm_define_shared_msr(unsigned slot, u32 msr)
 {
        BUG_ON(slot >= KVM_NR_SHARED_MSRS);
@@ -290,10 +273,16 @@ EXPORT_SYMBOL_GPL(kvm_define_shared_msr);
 
 static void kvm_shared_msr_cpu_online(void)
 {
-       unsigned i;
+       unsigned int cpu = smp_processor_id();
+       struct kvm_shared_msrs *smsr = per_cpu_ptr(shared_msrs, cpu);
+       u64 value;
+       int i;
 
-       for (i = 0; i < shared_msrs_global.nr; ++i)
-               shared_msr_update(i, shared_msrs_global.msrs[i]);
+       for (i = 0; i < shared_msrs_global.nr; ++i) {
+               rdmsrl_safe(shared_msrs_global.msrs[i], &value);
+               smsr->values[i].host = value;
+               smsr->values[i].curr = value;
+       }
 }
 
 int kvm_set_shared_msr(unsigned slot, u64 value, u64 mask)