mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
hw/i386/pc: Extract pc_gsi_create()
The GSI creation code is common to all PC machines, extract the common code. Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191018135910.24286-2-philmd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6508799707
commit
417258f139
4 changed files with 19 additions and 16 deletions
15
hw/i386/pc.c
15
hw/i386/pc.c
|
@ -355,6 +355,21 @@ void gsi_handler(void *opaque, int n, int level)
|
|||
qemu_set_irq(s->ioapic_irq[n], level);
|
||||
}
|
||||
|
||||
GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled)
|
||||
{
|
||||
GSIState *s;
|
||||
|
||||
s = g_new0(GSIState, 1);
|
||||
if (kvm_ioapic_in_kernel()) {
|
||||
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);
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
static void ioport80_write(void *opaque, hwaddr addr, uint64_t data,
|
||||
unsigned size)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue