From 29b6fe5aeb7217880b0b91ed9e539491fd28fd92 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Fri, 3 Jul 2026 14:53:08 +0100 Subject: [PATCH] hw/acpi/ich9: move initial property values into ich9_reset_properties() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20260703135512.3213964-7-mark.caveayland@nutanix.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/acpi/ich9.c | 8 ++++++-- hw/isa/lpc_ich9.c | 1 + include/hw/acpi/ich9.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 5c7dfb2c69..5e8f8a7eaf 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -388,9 +388,8 @@ static void ich9_pm_set_keep_pci_slot_hpc(Object *obj, bool value, Error **errp) s->pm.keep_pci_slot_hpc = value; } -void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm) +void ich9_pm_reset_properties(ICH9LPCPMRegs *pm) { - static const uint32_t gpe0_len = ICH9_PMIO_GPE0_LEN; pm->acpi_memory_hotplug.is_enabled = true; pm->disable_s3 = 0; pm->disable_s4 = 0; @@ -398,6 +397,11 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm) pm->acpi_pci_hotplug.use_acpi_hotplug_bridge = true; pm->keep_pci_slot_hpc = true; pm->enable_tco = true; +} + +void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm) +{ + static const uint32_t gpe0_len = ICH9_PMIO_GPE0_LEN; object_property_add_uint32_ptr(obj, ACPI_PM_PROP_PM_IO_BASE, &pm->pm_io_base, OBJ_PROP_FLAG_READ); diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 9cec18a378..edf9783ec8 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -701,6 +701,7 @@ static void ich9_lpc_initfn(Object *obj) &lpc->smi_negotiated_features, OBJ_PROP_FLAG_READ); + ich9_pm_reset_properties(&lpc->pm); ich9_pm_add_properties(obj, &lpc->pm); } diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h index 019f0915c1..30990fcef5 100644 --- a/include/hw/acpi/ich9.h +++ b/include/hw/acpi/ich9.h @@ -81,6 +81,8 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm, qemu_irq sci_irq); void ich9_pm_iospace_update(ICH9LPCPMRegs *pm, uint32_t pm_io_base); extern const VMStateDescription vmstate_ich9_pm; +void ich9_pm_reset_properties(ICH9LPCPMRegs *pm); + void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm); void ich9_pm_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev,