mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
hw/i386: De-duplicate gsi_handler() to remove kvm_pc_gsi_handler()
Both gsi_handler() and kvm_pc_gsi_handler() have the same content, except one comment. Move the comment, and de-duplicate the code. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6c730e4af9
commit
64c033badd
4 changed files with 2 additions and 16 deletions
|
@ -48,18 +48,6 @@ void kvm_pc_setup_irq_routing(bool pci_enabled)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvm_pc_gsi_handler(void *opaque, int n, int level)
|
|
||||||
{
|
|
||||||
GSIState *s = opaque;
|
|
||||||
|
|
||||||
if (n < ISA_NUM_IRQS) {
|
|
||||||
/* Kernel will forward to both PIC and IOAPIC */
|
|
||||||
qemu_set_irq(s->i8259_irq[n], level);
|
|
||||||
} else {
|
|
||||||
qemu_set_irq(s->ioapic_irq[n], level);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct KVMIOAPICState KVMIOAPICState;
|
typedef struct KVMIOAPICState KVMIOAPICState;
|
||||||
|
|
||||||
struct KVMIOAPICState {
|
struct KVMIOAPICState {
|
||||||
|
|
|
@ -344,10 +344,8 @@ GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled)
|
||||||
s = g_new0(GSIState, 1);
|
s = g_new0(GSIState, 1);
|
||||||
if (kvm_ioapic_in_kernel()) {
|
if (kvm_ioapic_in_kernel()) {
|
||||||
kvm_pc_setup_irq_routing(pci_enabled);
|
kvm_pc_setup_irq_routing(pci_enabled);
|
||||||
*irqs = qemu_allocate_irqs(kvm_pc_gsi_handler, s, GSI_NUM_PINS);
|
|
||||||
} else {
|
|
||||||
*irqs = qemu_allocate_irqs(gsi_handler, s, GSI_NUM_PINS);
|
|
||||||
}
|
}
|
||||||
|
*irqs = qemu_allocate_irqs(gsi_handler, s, GSI_NUM_PINS);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
|
@ -295,6 +295,7 @@ void gsi_handler(void *opaque, int n, int level)
|
||||||
|
|
||||||
trace_x86_gsi_interrupt(n, level);
|
trace_x86_gsi_interrupt(n, level);
|
||||||
if (n < ISA_NUM_IRQS) {
|
if (n < ISA_NUM_IRQS) {
|
||||||
|
/* Under KVM, Kernel will forward to both PIC and IOAPIC */
|
||||||
qemu_set_irq(s->i8259_irq[n], level);
|
qemu_set_irq(s->i8259_irq[n], level);
|
||||||
}
|
}
|
||||||
qemu_set_irq(s->ioapic_irq[n], level);
|
qemu_set_irq(s->ioapic_irq[n], level);
|
||||||
|
|
|
@ -515,7 +515,6 @@ int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n,
|
||||||
int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n,
|
int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n,
|
||||||
qemu_irq irq);
|
qemu_irq irq);
|
||||||
void kvm_irqchip_set_qemuirq_gsi(KVMState *s, qemu_irq irq, int gsi);
|
void kvm_irqchip_set_qemuirq_gsi(KVMState *s, qemu_irq irq, int gsi);
|
||||||
void kvm_pc_gsi_handler(void *opaque, int n, int level);
|
|
||||||
void kvm_pc_setup_irq_routing(bool pci_enabled);
|
void kvm_pc_setup_irq_routing(bool pci_enabled);
|
||||||
void kvm_init_irq_routing(KVMState *s);
|
void kvm_init_irq_routing(KVMState *s);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue