[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 06/23] hw/isa/piix3: Move ISA bus IRQ assignments into host de
From: |
Bernhard Beschow |
Subject: |
[PATCH v7 06/23] hw/isa/piix3: Move ISA bus IRQ assignments into host device |
Date: |
Sun, 12 Feb 2023 13:37:48 +0100 |
Having the south bridge assign the ISA interrupts to the ISA bus itself
makes the south bridge more self contained. Furthermore, it allows ISA
interrupt wiring in pci_piix3_realize() which will be used in subsequent
patches.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/i386/pc_piix.c | 6 +++---
hw/isa/piix3.c | 2 ++
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 5ea8d4a585..dbddc3d060 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -245,10 +245,10 @@ static void pc_init1(MachineState *machine,
object_property_set_bool(OBJECT(pci_dev), "smm-enabled",
x86_machine_is_smm_enabled(x86ms),
&error_abort);
- pci_realize_and_unref(pci_dev, pci_bus, &error_fatal);
-
piix3 = PIIX3_PCI_DEVICE(pci_dev);
piix3->pic = x86ms->gsi;
+ pci_realize_and_unref(pci_dev, pci_bus, &error_fatal);
+
piix3_devfn = piix3->dev.devfn;
isa_bus = ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0"));
rtc_state = ISA_DEVICE(object_resolve_path_component(OBJECT(pci_dev),
@@ -259,6 +259,7 @@ static void pc_init1(MachineState *machine,
piix4_pm = NULL;
isa_bus = isa_bus_new(NULL, get_system_memory(), system_io,
&error_abort);
+ isa_bus_irqs(isa_bus, x86ms->gsi);
rtc_state = isa_new(TYPE_MC146818_RTC);
qdev_prop_set_int32(DEVICE(rtc_state), "base_year", 2000);
@@ -267,7 +268,6 @@ static void pc_init1(MachineState *machine,
i8257_dma_init(isa_bus, 0);
pcms->hpet_enabled = false;
}
- isa_bus_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 27bd4dbf65..007225a96e 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -302,6 +302,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_irqs(isa_bus, d->pic);
+
i8257_dma_init(isa_bus, 0);
/* RTC */
--
2.39.1
- [PATCH v7 03/23] hw/i386/pc_piix: Allow for setting properties before realizing PIIX3 south bridge, (continued)
- [PATCH v7 03/23] hw/i386/pc_piix: Allow for setting properties before realizing PIIX3 south bridge, Bernhard Beschow, 2023/02/12
- [PATCH v7 04/23] hw/isa/piix3: Create USB controller in host device, Bernhard Beschow, 2023/02/12
- [PATCH v7 12/23] hw/isa/piix3: Drop the "3" from PIIX base class, Bernhard Beschow, 2023/02/12
- [PATCH v7 14/23] hw/isa/piix4: Remove unused inbound ISA interrupt lines, Bernhard Beschow, 2023/02/12
- [PATCH v7 09/23] hw/isa/piix3: Resolve redundant PIIX_NUM_PIC_IRQS, Bernhard Beschow, 2023/02/12
- [PATCH v7 08/23] hw/isa/piix3: Wire up ACPI interrupt internally, Bernhard Beschow, 2023/02/12
- [PATCH v7 07/23] hw/isa/piix3: Create IDE controller in host device, Bernhard Beschow, 2023/02/12
- [PATCH v7 10/23] hw/isa/piix3: Rename pci_piix3_props for sharing with PIIX4, Bernhard Beschow, 2023/02/12
- [PATCH v7 15/23] hw/isa/piix4: Reuse struct PIIXState from PIIX3, Bernhard Beschow, 2023/02/12
- [PATCH v7 05/23] hw/isa/piix3: Create power management controller in host device, Bernhard Beschow, 2023/02/12
- [PATCH v7 06/23] hw/isa/piix3: Move ISA bus IRQ assignments into host device,
Bernhard Beschow <=
- [PATCH v7 13/23] hw/isa/piix4: Make PIIX4's ACPI and USB functions optional, Bernhard Beschow, 2023/02/12
- [PATCH v7 16/23] hw/isa/piix4: Create the "intr" property during init() already, Bernhard Beschow, 2023/02/12
- [PATCH v7 17/23] hw/isa/piix4: Rename reset control operations to match PIIX3, Bernhard Beschow, 2023/02/12
- [PATCH v7 21/23] hw/isa/piix: Rename functions to be shared for interrupt triggering, Bernhard Beschow, 2023/02/12
- [PATCH v7 22/23] hw/isa/piix: Consolidate IRQ triggering, Bernhard Beschow, 2023/02/12
- [PATCH v7 18/23] hw/isa/piix3: Merge hw/isa/piix4.c, Bernhard Beschow, 2023/02/12
- [PATCH v7 11/23] hw/isa/piix3: Rename piix3_reset() for sharing with PIIX4, Bernhard Beschow, 2023/02/12
- [PATCH v7 19/23] hw/isa/piix: Harmonize names of reset control memory regions, Bernhard Beschow, 2023/02/12
- [PATCH v7 20/23] hw/isa/piix: Reuse PIIX3 base class' realize method in PIIX4, Bernhard Beschow, 2023/02/12
- [PATCH v7 23/23] hw/isa/piix: Share PIIX3's base class with PIIX4, Bernhard Beschow, 2023/02/12