[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 16/25] hw/i386/pc_q35: Populate interrupt handlers before realizin
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 16/25] hw/i386/pc_q35: Populate interrupt handlers before realizing LPC PCI function |
Date: |
Wed, 21 Feb 2024 22:16:16 +0100 |
From: Bernhard Beschow <shentey@gmail.com>
The interrupt handlers need to be populated before the device is realized since
internal devices such as the RTC are wired during realize(). If the interrupt
handlers aren't populated, devices such as the RTC will be wired with a NULL
interrupt handler, i.e. MC146818RtcState::irq is NULL.
Fixes: fc11ca08bc29 "hw/i386/q35: Realize LPC PCI function before accessing it"
Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-ID: <20240217104644.19755-1-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/i386/pc_q35.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index ab7750c346..53fb3db26d 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -228,10 +228,10 @@ static void pc_q35_init(MachineState *machine)
lpc_dev = DEVICE(lpc);
qdev_prop_set_bit(lpc_dev, "smm-enabled",
x86_machine_is_smm_enabled(x86ms));
- pci_realize_and_unref(lpc, host_bus, &error_fatal);
for (i = 0; i < IOAPIC_NUM_PINS; i++) {
qdev_connect_gpio_out_named(lpc_dev, ICH9_GPIO_GSI, i, x86ms->gsi[i]);
}
+ pci_realize_and_unref(lpc, host_bus, &error_fatal);
rtc_state = ISA_DEVICE(object_resolve_path_component(OBJECT(lpc), "rtc"));
--
2.41.0
- [PULL 06/25] hw/ppc/ppc440_pcix: Move ppc440_pcix.c to hw/pci-host/, (continued)
- [PULL 06/25] hw/ppc/ppc440_pcix: Move ppc440_pcix.c to hw/pci-host/, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 07/25] hw/i2c/smbus_slave: Add object path on error prints, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 08/25] hw/i386/pc_piix: Share pc_cmos_init() invocation between pc and isapc machines, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 09/25] hw/i386/pc: Store pointers to IDE buses in PCMachineState, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 10/25] hw/i386/pc: Do pc_cmos_init_late() from pc_machine_done(), Philippe Mathieu-Daudé, 2024/02/21
- [PULL 11/25] hw/i386/x86: Turn apic_xrupt_override into class attribute, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 12/25] hw/i386/pc: Merge pc_guest_info_init() into pc_machine_initfn(), Philippe Mathieu-Daudé, 2024/02/21
- [PULL 13/25] hw/i386/pc: Defer smbios_set_defaults() to machine_done, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 14/25] hw/i386/pc: Confine system flash handling to pc_sysfw, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 15/25] hw/i386/pc_sysfw: Inline pc_system_flash_create() and remove it, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 16/25] hw/i386/pc_q35: Populate interrupt handlers before realizing LPC PCI function,
Philippe Mathieu-Daudé <=
- [PULL 17/25] hw/isa/meson.build: Sort alphabetically, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 18/25] hw/ide: Add the possibility to disable the CompactFlash device in the build, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 19/25] hw/ide: Split qdev.c into ide-bus.c and ide-dev.c, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 20/25] hw/ide: Move IDE DMA related definitions to a separate header ide-dma.h, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 21/25] hw/ide: Move IDE device related definitions to ide-dev.h, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 23/25] hw/ide: Remove the include/hw/ide.h legacy file, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 22/25] hw/ide: Move IDE bus related definitions to a new header ide-bus.h, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 24/25] hw/ide: Stop exposing internal.h to non-IDE files, Philippe Mathieu-Daudé, 2024/02/21
- [PULL 25/25] hw/sparc/leon3: Fix wrong usage of DO_UPCAST macro, Philippe Mathieu-Daudé, 2024/02/21
- Re: [PULL 00/25] Misc HW patches for 2024-02-21, Philippe Mathieu-Daudé, 2024/02/22