Signed-off-by: liguang <lig.f...@cn.fujitsu.com> --- hw/acpi_ich9.c | 4 ++-- hw/ich9.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/acpi_ich9.c b/hw/acpi_ich9.c index d2f9808..b78a32e 100644 --- a/hw/acpi_ich9.c +++ b/hw/acpi_ich9.c @@ -176,7 +176,7 @@ const VMStateDescription vmstate_ich9_pm = { } }; -static void pm_reset(void *opaque) +void pm_reset(void *opaque) { ICH9LPCPMRegs *pm = opaque; ich9_pm_iospace_update(pm, 0); @@ -224,7 +224,7 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm, memory_region_add_subregion(&pm->io, ICH9_PMIO_SMI_EN, &pm->io_smi); pm->irq = sci_irq; - qemu_register_reset(pm_reset, pm); + pm->powerdown_notifier.notify = pm_powerdown_req; qemu_register_powerdown_notifier(&pm->powerdown_notifier); } diff --git a/hw/ich9.h b/hw/ich9.h index dbc4495..35a1daf 100644 --- a/hw/ich9.h +++ b/hw/ich9.h @@ -20,6 +20,7 @@ void ich9_lpc_set_irq(void *opaque, int irq_num, int level); int ich9_lpc_map_irq(PCIDevice *pci_dev, int intx); PCIINTxRoute ich9_route_intx_pin_to_irq(void *opaque, int pirq_pin); void ich9_lpc_pm_init(PCIDevice *pci_lpc, qemu_irq cmos_s3); +void pm_reset(void *opaque); PCIBus *ich9_d2pbr_init(PCIBus *bus, int devfn, int sec_bus); i2c_bus *ich9_smb_init(PCIBus *bus, int devfn, uint32_t smb_io_base); -- 1.7.2.5