KVM: SVM: correctly trace irq injection
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 <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Родитель
f78978aa3a
Коммит
9fb2d2b4ff
|
@ -2917,9 +2917,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;
|
||||
control->int_ctl &= ~V_INTR_PRIO_MASK;
|
||||
|
@ -2933,6 +2930,9 @@ static void svm_set_irq(struct kvm_vcpu *vcpu)
|
|||
|
||||
BUG_ON(!(gif_set(svm)));
|
||||
|
||||
trace_kvm_inj_virq(vcpu->arch.interrupt.nr);
|
||||
++vcpu->stat.irq_injections;
|
||||
|
||||
svm->vmcb->control.event_inj = vcpu->arch.interrupt.nr |
|
||||
SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_INTR;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче