diff options
author | Zhang, Yanmin <yanmin_zhang@linux.intel.com> | 2010-04-19 01:32:45 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-04-19 05:36:50 -0400 |
commit | ff9d07a0e7ce756a183e7c2e483aec452ee6b574 (patch) | |
tree | c355079734dc14700228f78fdd8ad824c0f80db0 /arch/x86/kvm/vmx.c | |
parent | 39447b386c846bbf1c56f6403c5282837486200f (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.c | 5 |
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 | ||