On SVM interrupts are injected by svm_set_irq() not svm_inject_irq().
The later is used only to wait for irq window.

Signed-off-by: Gleb Natapov <g...@redhat.com>

ChangeLog:
 v1->v2:
  - fix stupid cut&paste error.

diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 58c91f5..69b16a7 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -2831,8 +2831,6 @@ static inline void svm_inject_irq(struct vcpu_svm *svm, 
int irq)
 {
        struct vmcb_control_area *control;
 
-       trace_kvm_inj_virq(irq);
-
        ++svm->vcpu.stat.irq_injections;
        control = &svm->vmcb->control;
        control->int_vector = irq;
@@ -2847,6 +2845,8 @@ static void svm_set_irq(struct kvm_vcpu *vcpu)
 
        BUG_ON(!(gif_set(svm)));
 
+       trace_kvm_inj_virq(vcpu->arch.interrupt.nr);
+
        svm->vmcb->control.event_inj = vcpu->arch.interrupt.nr |
                SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_INTR;
 }
--
                        Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to