hw/isa/piix3: Wire PIC IRQs to ISA bus in host device
Thie PIIX3 south bridge implements both the PIC and the ISA bus, so wiring the interrupts there makes the device model more self-contained. Furthermore, this allows the ISA interrupts to be wired to internal child devices in pci_piix3_realize() which will be performed in subsequent patches. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Message-Id: <20231007123843.127151-10-shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
295385127e
commit
64127940ae
@ -293,6 +293,7 @@ static void pc_init1(MachineState *machine,
|
||||
} else {
|
||||
isa_bus = isa_bus_new(NULL, system_memory, system_io,
|
||||
&error_abort);
|
||||
isa_bus_register_input_irqs(isa_bus, x86ms->gsi);
|
||||
|
||||
rtc_state = isa_new(TYPE_MC146818_RTC);
|
||||
qdev_prop_set_int32(DEVICE(rtc_state), "base_year", 2000);
|
||||
@ -301,7 +302,6 @@ static void pc_init1(MachineState *machine,
|
||||
i8257_dma_init(isa_bus, 0);
|
||||
pcms->hpet_enabled = false;
|
||||
}
|
||||
isa_bus_register_input_irqs(isa_bus, x86ms->gsi);
|
||||
|
||||
if (x86ms->pic == ON_OFF_AUTO_ON || x86ms->pic == ON_OFF_AUTO_AUTO) {
|
||||
pc_i8259_create(isa_bus, gsi_state->i8259_irq);
|
||||
|
@ -278,6 +278,8 @@ static void pci_piix3_realize(PCIDevice *dev, Error **errp)
|
||||
memory_region_add_subregion_overlap(pci_address_space_io(dev),
|
||||
PIIX_RCR_IOPORT, &d->rcr_mem, 1);
|
||||
|
||||
isa_bus_register_input_irqs(isa_bus, d->isa_irqs_in);
|
||||
|
||||
i8257_dma_init(isa_bus, 0);
|
||||
|
||||
/* RTC */
|
||||
|
Loading…
Reference in New Issue
Block a user