KVM: Use kvm_set_irq to inject interrupts
... instead of using the pic and ioapic variants Signed-off-by: Amit Shah <amit.shah@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
Родитель
94c935a1ee
Коммит
29c8fa32c5
|
@ -596,10 +596,8 @@ void kvm_free_pit(struct kvm *kvm)
|
|||
static void __inject_pit_timer_intr(struct kvm *kvm)
|
||||
{
|
||||
mutex_lock(&kvm->lock);
|
||||
kvm_ioapic_set_irq(kvm->arch.vioapic, 0, 1);
|
||||
kvm_ioapic_set_irq(kvm->arch.vioapic, 0, 0);
|
||||
kvm_pic_set_irq(pic_irqchip(kvm), 0, 1);
|
||||
kvm_pic_set_irq(pic_irqchip(kvm), 0, 0);
|
||||
kvm_set_irq(kvm, 0, 1);
|
||||
kvm_set_irq(kvm, 0, 0);
|
||||
mutex_unlock(&kvm->lock);
|
||||
}
|
||||
|
||||
|
|
|
@ -1956,13 +1956,7 @@ long kvm_arch_vm_ioctl(struct file *filp,
|
|||
goto out;
|
||||
if (irqchip_in_kernel(kvm)) {
|
||||
mutex_lock(&kvm->lock);
|
||||
if (irq_event.irq < 16)
|
||||
kvm_pic_set_irq(pic_irqchip(kvm),
|
||||
irq_event.irq,
|
||||
irq_event.level);
|
||||
kvm_ioapic_set_irq(kvm->arch.vioapic,
|
||||
irq_event.irq,
|
||||
irq_event.level);
|
||||
kvm_set_irq(kvm, irq_event.irq, irq_event.level);
|
||||
mutex_unlock(&kvm->lock);
|
||||
r = 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче