[PATCH v6 06/19] hw/i386/pc_piix.c: remove SMI and piix4_pm initialisation from pc_init_isa()

Mark Cave-Ayland posted 19 patches 2 months, 3 weeks ago
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>
There is a newer version of this series
[PATCH v6 06/19] hw/i386/pc_piix.c: remove SMI and piix4_pm initialisation from pc_init_isa()
Posted by Mark Cave-Ayland 2 months, 3 weeks ago
These are based upon the PIIX4 PCI chipset and so can never be used on an isapc machine.

Signed-off-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/pc_piix.c | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index da2de88383..e58a7b3977 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -441,8 +441,6 @@ static void pc_init_isa(MachineState *machine)
     MemoryRegion *system_memory = get_system_memory();
     MemoryRegion *system_io = get_system_io();
     ISABus *isa_bus;
-    Object *piix4_pm = NULL;
-    qemu_irq smi_irq;
     GSIState *gsi_state;
     MemoryRegion *ram_memory;
     MemoryRegion *rom_memory = system_memory;
@@ -597,23 +595,6 @@ static void pc_init_isa(MachineState *machine)
     }
 #endif
 
-    if (piix4_pm) {
-        smi_irq = qemu_allocate_irq(pc_acpi_smi_interrupt, first_cpu, 0);
-
-        qdev_connect_gpio_out_named(DEVICE(piix4_pm), "smi-irq", 0, smi_irq);
-        pcms->smbus = I2C_BUS(qdev_get_child_bus(DEVICE(piix4_pm), "i2c"));
-        /* TODO: Populate SPD eeprom data.  */
-        smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
-
-        object_property_add_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP,
-                                 TYPE_HOTPLUG_HANDLER,
-                                 (Object **)&x86ms->acpi_dev,
-                                 object_property_allow_set_link,
-                                 OBJ_PROP_LINK_STRONG);
-        object_property_set_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP,
-                                 piix4_pm, &error_abort);
-    }
-
     if (machine->nvdimms_state->is_enabled) {
         nvdimm_init_acpi_state(machine->nvdimms_state, system_io,
                                x86_nvdimm_acpi_dsmio,
-- 
2.43.0


Re: [PATCH v6 06/19] hw/i386/pc_piix.c: remove SMI and piix4_pm initialisation from pc_init_isa()
Posted by Xiaoyao Li 2 months, 2 weeks ago
On 8/22/2025 8:11 PM, Mark Cave-Ayland wrote:
> These are based upon the PIIX4 PCI chipset and so can never be used on an isapc machine.
> 
> Signed-off-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>

> ---
>   hw/i386/pc_piix.c | 19 -------------------
>   1 file changed, 19 deletions(-)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index da2de88383..e58a7b3977 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -441,8 +441,6 @@ static void pc_init_isa(MachineState *machine)
>       MemoryRegion *system_memory = get_system_memory();
>       MemoryRegion *system_io = get_system_io();
>       ISABus *isa_bus;
> -    Object *piix4_pm = NULL;
> -    qemu_irq smi_irq;
>       GSIState *gsi_state;
>       MemoryRegion *ram_memory;
>       MemoryRegion *rom_memory = system_memory;
> @@ -597,23 +595,6 @@ static void pc_init_isa(MachineState *machine)
>       }
>   #endif
>   
> -    if (piix4_pm) {
> -        smi_irq = qemu_allocate_irq(pc_acpi_smi_interrupt, first_cpu, 0);
> -
> -        qdev_connect_gpio_out_named(DEVICE(piix4_pm), "smi-irq", 0, smi_irq);
> -        pcms->smbus = I2C_BUS(qdev_get_child_bus(DEVICE(piix4_pm), "i2c"));
> -        /* TODO: Populate SPD eeprom data.  */
> -        smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
> -
> -        object_property_add_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP,
> -                                 TYPE_HOTPLUG_HANDLER,
> -                                 (Object **)&x86ms->acpi_dev,
> -                                 object_property_allow_set_link,
> -                                 OBJ_PROP_LINK_STRONG);
> -        object_property_set_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP,
> -                                 piix4_pm, &error_abort);
> -    }
> -
>       if (machine->nvdimms_state->is_enabled) {
>           nvdimm_init_acpi_state(machine->nvdimms_state, system_io,
>                                  x86_nvdimm_acpi_dsmio,