KVM: VMX: Remove vmx->msr_offset_efer
authorAvi Kivity <avi@redhat.com>
Thu, 29 Oct 2009 09:00:16 +0000 (11:00 +0200)
committerAvi Kivity <avi@redhat.com>
Thu, 3 Dec 2009 07:32:23 +0000 (09:32 +0200)
This variable is used to communicate between a caller and a callee; switch
to a function argument instead.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/vmx.c

index a5f3f3ec69e606a6ae89d7433eee38dcd1939416..c9cc9596e1a6510a0f3d1219c9aa989613901299 100644 (file)
@@ -101,7 +101,6 @@ struct vcpu_vmx {
        struct shared_msr_entry *guest_msrs;
        int                   nmsrs;
        int                   save_nmsrs;
-       int                   msr_offset_efer;
 #ifdef CONFIG_X86_64
        u64                   msr_host_kernel_gs_base;
        u64                   msr_guest_kernel_gs_base;
@@ -584,14 +583,11 @@ static void reload_tss(void)
        load_TR_desc();
 }
 
-static bool update_transition_efer(struct vcpu_vmx *vmx)
+static bool update_transition_efer(struct vcpu_vmx *vmx, int efer_offset)
 {
-       int efer_offset = vmx->msr_offset_efer;
        u64 guest_efer;
        u64 ignore_bits;
 
-       if (efer_offset < 0)
-               return false;
        guest_efer = vmx->vcpu.arch.shadow_efer;
 
        /*
@@ -926,8 +922,8 @@ static void setup_msrs(struct vcpu_vmx *vmx)
                        move_msr_up(vmx, index, save_nmsrs++);
        }
 #endif
-       vmx->msr_offset_efer = index = __find_msr_index(vmx, MSR_EFER);
-       if (index >= 0 && update_transition_efer(vmx))
+       index = __find_msr_index(vmx, MSR_EFER);
+       if (index >= 0 && update_transition_efer(vmx, index))
                move_msr_up(vmx, index, save_nmsrs++);
 
        vmx->save_nmsrs = save_nmsrs;