[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 09/29] hw/isa/piix3: Wire PIC IRQs to ISA bus in host device
|
From: |
Bernhard Beschow |
|
Subject: |
[PATCH v8 09/29] hw/isa/piix3: Wire PIC IRQs to ISA bus in host device |
|
Date: |
Sat, 7 Oct 2023 14:38:17 +0200 |
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>
---
hw/i386/pc_piix.c | 2 +-
hw/isa/piix3.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index cd6c00c0b3..5988656279 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -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);
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index 616f5418fa..3e7c42fa68 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -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 */
--
2.42.0
- [PATCH v8 00/29] Consolidate PIIX south bridges, Bernhard Beschow, 2023/10/07
- [PATCH v8 01/29] hw/i386/pc: Merge two if statements into one, Bernhard Beschow, 2023/10/07
- [PATCH v8 02/29] hw/i386/pc_piix: Allow for setting properties before realizing PIIX3 south bridge, Bernhard Beschow, 2023/10/07
- [PATCH v8 03/29] hw/i386/pc_piix: Assign PIIX3's ISA interrupts before its realize(), Bernhard Beschow, 2023/10/07
- [PATCH v8 05/29] hw/i386/pc_piix: Wire PIIX3's ISA interrupts by new "isa-irqs" property, Bernhard Beschow, 2023/10/07
- [PATCH v8 06/29] hw/i386/pc_piix: Remove redundant "piix3" variable, Bernhard Beschow, 2023/10/07
- [PATCH v8 07/29] hw/isa/piix3: Rename "pic" attribute to "isa_irqs_in", Bernhard Beschow, 2023/10/07
- [PATCH v8 08/29] hw/i386/pc_q35: Wire ICH9 LPC function's interrupts before its realize(), Bernhard Beschow, 2023/10/07
- [PATCH v8 09/29] hw/isa/piix3: Wire PIC IRQs to ISA bus in host device,
Bernhard Beschow <=
- [PATCH v8 11/29] hw/isa/piix3: Create IDE controller in host device, Bernhard Beschow, 2023/10/07
- [PATCH v8 10/29] hw/i386/pc: Wire RTC ISA IRQs in south bridges, Bernhard Beschow, 2023/10/07
- [PATCH v8 04/29] hw/isa/piix3: Resolve redundant PIIX_NUM_PIC_IRQS, Bernhard Beschow, 2023/10/07
- [PATCH v8 18/29] hw/isa/piix4: Reuse struct PIIXState from PIIX3, Bernhard Beschow, 2023/10/07
- [PATCH v8 14/29] hw/isa/piix3: Drop the "3" from PIIX base class name, Bernhard Beschow, 2023/10/07
- [PATCH v8 13/29] hw/isa/piix3: Create power management controller in host device, Bernhard Beschow, 2023/10/07
- [PATCH v8 21/29] hw/isa/piix: Allow for optional PIT creation in PIIX3, Bernhard Beschow, 2023/10/07
- [PATCH v8 16/29] hw/isa/piix4: Rename "isa" attribute to "isa_irqs_in", Bernhard Beschow, 2023/10/07
- [PATCH v8 23/29] hw/isa/piix: Share PIIX3's base class with PIIX4, Bernhard Beschow, 2023/10/07
- [PATCH v8 24/29] hw/isa/piix: Reuse PIIX3 base class' realize method in PIIX4, Bernhard Beschow, 2023/10/07