summaryrefslogtreecommitdiffstats
path: root/hw/i386/pc_piix.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé2019-10-18 15:59:09 +0200
committerPaolo Bonzini2019-10-24 14:24:54 +0200
commit4501d317b50e52de090192aab6244060fbe42da0 (patch)
tree4b938b99fc8523547b7304083a11d90fe5319bb3 /hw/i386/pc_piix.c
parenthw/i386/pc: Move gsi_state creation code (diff)
downloadqemu-4501d317b50e52de090192aab6244060fbe42da0.tar.gz
qemu-4501d317b50e52de090192aab6244060fbe42da0.tar.xz
qemu-4501d317b50e52de090192aab6244060fbe42da0.zip
hw/i386/pc: Extract pc_i8259_create()
The i8259 creation code is common to all PC machines, extract the common code. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191018135910.24286-5-philmd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/i386/pc_piix.c')
-rw-r--r--hw/i386/pc_piix.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 0cc951a0b5..648dc9ab2d 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -82,7 +82,6 @@ static void pc_init1(MachineState *machine,
ISABus *isa_bus;
PCII440FXState *i440fx_state;
int piix3_devfn = -1;
- qemu_irq *i8259;
qemu_irq smi_irq;
GSIState *gsi_state;
DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
@@ -209,18 +208,8 @@ static void pc_init1(MachineState *machine,
}
isa_bus_irqs(isa_bus, x86ms->gsi);
- if (kvm_pic_in_kernel()) {
- i8259 = kvm_i8259_init(isa_bus);
- } else if (xen_enabled()) {
- i8259 = xen_interrupt_controller_init();
- } else {
- i8259 = i8259_init(isa_bus, pc_allocate_cpu_irq());
- }
+ pc_i8259_create(isa_bus, gsi_state->i8259_irq);
- for (i = 0; i < ISA_NUM_IRQS; i++) {
- gsi_state->i8259_irq[i] = i8259[i];
- }
- g_free(i8259);
if (pcmc->pci_enabled) {
ioapic_init_gsi(gsi_state, "i440fx");
}