diff mbox series

[v4,06/30] hw/i386/pc_piix: Associate pci_map_irq_fn as soon as PCI bus is created

Message ID 20221221170003.2929-7-shentey@gmail.com
State New
Headers show
Series This series consolidates the implementations of the PIIX3 and PIIX4 south | expand

Commit Message

Bernhard Beschow Dec. 21, 2022, 4:59 p.m. UTC
Observe that the pci_map_irq_fn's don't depend on the south bridge
instance. So associate them immediately when the PCI bus is created to
keep things logically together.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 hw/i386/pc_piix.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Bernhard Beschow Jan. 4, 2023, 7:42 p.m. UTC | #1
Am 21. Dezember 2022 16:59:39 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>Observe that the pci_map_irq_fn's don't depend on the south bridge
>instance. So associate them immediately when the PCI bus is created to
>keep things logically together.
>
>Signed-off-by: Bernhard Beschow <shentey@gmail.com>

This patch was new in v4 and therefore still lacks review. It could be squashed into https://lists.nongnu.org/archive/html/qemu-devel/2022-11/msg03312.html for a cleaner history.

Best regards,
Bernhard
>---
> hw/i386/pc_piix.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
>diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
>index e4bb8994da..bfa7cb513b 100644
>--- a/hw/i386/pc_piix.c
>+++ b/hw/i386/pc_piix.c
>@@ -229,6 +229,9 @@ static void pc_init1(MachineState *machine,
>                               x86ms->below_4g_mem_size,
>                               x86ms->above_4g_mem_size,
>                               pci_memory, ram_memory);
>+        pci_bus_map_irqs(pci_bus,
>+                         xen_enabled() ? xen_pci_slot_get_pirq
>+                                       : pci_slot_get_pirq);
>         pcms->bus = pci_bus;
> 
>         pci_dev = pci_create_simple_multifunction(pci_bus, -1, true, type);
>@@ -236,10 +239,6 @@ static void pc_init1(MachineState *machine,
>         piix3->pic = x86ms->gsi;
>         piix3_devfn = piix3->dev.devfn;
>         isa_bus = ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0"));
>-
>-        pci_bus_map_irqs(pci_bus,
>-                         xen_enabled() ? xen_pci_slot_get_pirq
>-                                       : pci_slot_get_pirq);
>     } else {
>         pci_bus = NULL;
>         isa_bus = isa_bus_new(NULL, get_system_memory(), system_io,
diff mbox series

Patch

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index e4bb8994da..bfa7cb513b 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -229,6 +229,9 @@  static void pc_init1(MachineState *machine,
                               x86ms->below_4g_mem_size,
                               x86ms->above_4g_mem_size,
                               pci_memory, ram_memory);
+        pci_bus_map_irqs(pci_bus,
+                         xen_enabled() ? xen_pci_slot_get_pirq
+                                       : pci_slot_get_pirq);
         pcms->bus = pci_bus;
 
         pci_dev = pci_create_simple_multifunction(pci_bus, -1, true, type);
@@ -236,10 +239,6 @@  static void pc_init1(MachineState *machine,
         piix3->pic = x86ms->gsi;
         piix3_devfn = piix3->dev.devfn;
         isa_bus = ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0"));
-
-        pci_bus_map_irqs(pci_bus,
-                         xen_enabled() ? xen_pci_slot_get_pirq
-                                       : pci_slot_get_pirq);
     } else {
         pci_bus = NULL;
         isa_bus = isa_bus_new(NULL, get_system_memory(), system_io,