KVM: nVMX: Update guest activity state field on L2 exits
authorJan Kiszka <jan.kiszka@siemens.com>
Sat, 4 Jan 2014 17:47:24 +0000 (18:47 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 17 Jan 2014 09:22:18 +0000 (10:22 +0100)
Set guest activity state in L1's VMCS according to the VCPUs mp_state.
This ensures we report the correct state in case we L2 executed HLT or
if we put L2 into HLT state and it was now woken up by an event.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c

index f9a54331c8082355f965f6f69c076b5844fe864c..407b05c29d7bbe7830766c1871bb1f79949e993a 100644 (file)
@@ -8219,6 +8219,10 @@ static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
                vmcs_read32(GUEST_INTERRUPTIBILITY_INFO);
        vmcs12->guest_pending_dbg_exceptions =
                vmcs_readl(GUEST_PENDING_DBG_EXCEPTIONS);
+       if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED)
+               vmcs12->guest_activity_state = GUEST_ACTIVITY_HLT;
+       else
+               vmcs12->guest_activity_state = GUEST_ACTIVITY_ACTIVE;
 
        if ((vmcs12->pin_based_vm_exec_control & PIN_BASED_VMX_PREEMPTION_TIMER) &&
            (vmcs12->vm_exit_controls & VM_EXIT_SAVE_VMX_PREEMPTION_TIMER))
This page took 0.032956 seconds and 5 git commands to generate.