aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/vmx.c
diff options
context:
space:
mode:
authorZhang, Yanmin <yanmin_zhang@linux.intel.com>2010-04-19 01:32:45 -0400
committerAvi Kivity <avi@redhat.com>2010-04-19 05:36:50 -0400
commitff9d07a0e7ce756a183e7c2e483aec452ee6b574 (patch)
treec355079734dc14700228f78fdd8ad824c0f80db0 /arch/x86/kvm/vmx.c
parent39447b386c846bbf1c56f6403c5282837486200f (diff)
KVM: Implement perf callbacks for guest sampling
Below patch implements the perf_guest_info_callbacks on kvm. Signed-off-by: Zhang Yanmin <yanmin_zhang@linux.intel.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r--arch/x86/kvm/vmx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 686492ed3079..82be6dac3d25 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -3654,8 +3654,11 @@ static void vmx_complete_interrupts(struct vcpu_vmx *vmx)
3654 3654
3655 /* We need to handle NMIs before interrupts are enabled */ 3655 /* We need to handle NMIs before interrupts are enabled */
3656 if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR && 3656 if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR &&
3657 (exit_intr_info & INTR_INFO_VALID_MASK)) 3657 (exit_intr_info & INTR_INFO_VALID_MASK)) {
3658 kvm_before_handle_nmi(&vmx->vcpu);
3658 asm("int $2"); 3659 asm("int $2");
3660 kvm_after_handle_nmi(&vmx->vcpu);
3661 }
3659 3662
3660 idtv_info_valid = idt_vectoring_info & VECTORING_INFO_VALID_MASK; 3663 idtv_info_valid = idt_vectoring_info & VECTORING_INFO_VALID_MASK;
3661 3664