Loading hw/acpi.c +16 −12 Original line number Diff line number Diff line Loading @@ -496,6 +496,20 @@ static void piix4_reset(void *opaque) } } static void piix4_powerdown(void *opaque, int irq, int power_failing) { #if defined(TARGET_I386) PIIX4PMState *s = opaque; if (!s) { qemu_system_shutdown_request(); } else if (s->pmen & PWRBTN_EN) { s->pmsts |= PWRBTN_EN; pm_update_sci(s); } #endif } i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, qemu_irq sci_irq) { Loading Loading @@ -545,6 +559,8 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, s->tmr_timer = qemu_new_timer(vm_clock, pm_tmr_timer, s); qemu_system_powerdown = *qemu_allocate_irqs(piix4_powerdown, s, 1); register_savevm("piix4_pm", 0, 1, pm_save, pm_load, s); s->smbus = i2c_init_bus(NULL, "i2c"); Loading @@ -554,18 +570,6 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, return s->smbus; } #if defined(TARGET_I386) void qemu_system_powerdown(void) { if (!pm_state) { qemu_system_shutdown_request(); } else if (pm_state->pmen & PWRBTN_EN) { pm_state->pmsts |= PWRBTN_EN; pm_update_sci(pm_state); } } #endif #define GPE_BASE 0xafe0 #define PCI_BASE 0xae00 #define PCI_EJ_BASE 0xae08 Loading hw/sun4m.c +1 −8 Original line number Diff line number Diff line Loading @@ -451,13 +451,6 @@ static void slavio_timer_init_all(target_phys_addr_t addr, qemu_irq master_irq, #define MISC_MDM 0x01b00000 #define MISC_SYS 0x01f00000 static qemu_irq slavio_powerdown; void qemu_system_powerdown(void) { qemu_irq_raise(slavio_powerdown); } static void slavio_misc_init(target_phys_addr_t base, target_phys_addr_t aux1_base, target_phys_addr_t aux2_base, qemu_irq irq, Loading Loading @@ -494,7 +487,7 @@ static void slavio_misc_init(target_phys_addr_t base, } sysbus_connect_irq(s, 0, irq); sysbus_connect_irq(s, 1, fdc_tc); slavio_powerdown = qdev_get_gpio_in(dev, 0); qemu_system_powerdown = qdev_get_gpio_in(dev, 0); } static void ecc_init(target_phys_addr_t base, qemu_irq irq, uint32_t version) Loading hw/sun4u.c +0 −4 Original line number Diff line number Diff line Loading @@ -254,10 +254,6 @@ static void cpu_set_irq(void *opaque, int irq, int level) } } void qemu_system_powerdown(void) { } typedef struct ResetData { CPUState *env; uint64_t reset_addr; Loading sysemu.h +1 −8 Original line number Diff line number Diff line Loading @@ -47,14 +47,7 @@ void qemu_system_powerdown_request(void); int qemu_shutdown_requested(void); int qemu_reset_requested(void); int qemu_powerdown_requested(void); #ifdef NEED_CPU_H #if !defined(TARGET_SPARC) && !defined(TARGET_I386) // Please implement a power failure function to signal the OS #define qemu_system_powerdown() do{}while(0) #else void qemu_system_powerdown(void); #endif #endif extern qemu_irq qemu_system_powerdown; void qemu_system_reset(void); void do_savevm(Monitor *mon, const char *name); Loading vl.c +5 −2 Original line number Diff line number Diff line Loading @@ -4281,6 +4281,8 @@ static int vm_can_run(void) return 1; } qemu_irq qemu_system_powerdown; static void main_loop(void) { int r; Loading Loading @@ -4321,8 +4323,9 @@ static void main_loop(void) qemu_system_reset(); resume_all_vcpus(); } if (qemu_powerdown_requested()) qemu_system_powerdown(); if (qemu_powerdown_requested()) { qemu_irq_raise(qemu_system_powerdown); } if ((r = qemu_vmstop_requested())) vm_stop(r); } Loading Loading
hw/acpi.c +16 −12 Original line number Diff line number Diff line Loading @@ -496,6 +496,20 @@ static void piix4_reset(void *opaque) } } static void piix4_powerdown(void *opaque, int irq, int power_failing) { #if defined(TARGET_I386) PIIX4PMState *s = opaque; if (!s) { qemu_system_shutdown_request(); } else if (s->pmen & PWRBTN_EN) { s->pmsts |= PWRBTN_EN; pm_update_sci(s); } #endif } i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, qemu_irq sci_irq) { Loading Loading @@ -545,6 +559,8 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, s->tmr_timer = qemu_new_timer(vm_clock, pm_tmr_timer, s); qemu_system_powerdown = *qemu_allocate_irqs(piix4_powerdown, s, 1); register_savevm("piix4_pm", 0, 1, pm_save, pm_load, s); s->smbus = i2c_init_bus(NULL, "i2c"); Loading @@ -554,18 +570,6 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base, return s->smbus; } #if defined(TARGET_I386) void qemu_system_powerdown(void) { if (!pm_state) { qemu_system_shutdown_request(); } else if (pm_state->pmen & PWRBTN_EN) { pm_state->pmsts |= PWRBTN_EN; pm_update_sci(pm_state); } } #endif #define GPE_BASE 0xafe0 #define PCI_BASE 0xae00 #define PCI_EJ_BASE 0xae08 Loading
hw/sun4m.c +1 −8 Original line number Diff line number Diff line Loading @@ -451,13 +451,6 @@ static void slavio_timer_init_all(target_phys_addr_t addr, qemu_irq master_irq, #define MISC_MDM 0x01b00000 #define MISC_SYS 0x01f00000 static qemu_irq slavio_powerdown; void qemu_system_powerdown(void) { qemu_irq_raise(slavio_powerdown); } static void slavio_misc_init(target_phys_addr_t base, target_phys_addr_t aux1_base, target_phys_addr_t aux2_base, qemu_irq irq, Loading Loading @@ -494,7 +487,7 @@ static void slavio_misc_init(target_phys_addr_t base, } sysbus_connect_irq(s, 0, irq); sysbus_connect_irq(s, 1, fdc_tc); slavio_powerdown = qdev_get_gpio_in(dev, 0); qemu_system_powerdown = qdev_get_gpio_in(dev, 0); } static void ecc_init(target_phys_addr_t base, qemu_irq irq, uint32_t version) Loading
hw/sun4u.c +0 −4 Original line number Diff line number Diff line Loading @@ -254,10 +254,6 @@ static void cpu_set_irq(void *opaque, int irq, int level) } } void qemu_system_powerdown(void) { } typedef struct ResetData { CPUState *env; uint64_t reset_addr; Loading
sysemu.h +1 −8 Original line number Diff line number Diff line Loading @@ -47,14 +47,7 @@ void qemu_system_powerdown_request(void); int qemu_shutdown_requested(void); int qemu_reset_requested(void); int qemu_powerdown_requested(void); #ifdef NEED_CPU_H #if !defined(TARGET_SPARC) && !defined(TARGET_I386) // Please implement a power failure function to signal the OS #define qemu_system_powerdown() do{}while(0) #else void qemu_system_powerdown(void); #endif #endif extern qemu_irq qemu_system_powerdown; void qemu_system_reset(void); void do_savevm(Monitor *mon, const char *name); Loading
vl.c +5 −2 Original line number Diff line number Diff line Loading @@ -4281,6 +4281,8 @@ static int vm_can_run(void) return 1; } qemu_irq qemu_system_powerdown; static void main_loop(void) { int r; Loading Loading @@ -4321,8 +4323,9 @@ static void main_loop(void) qemu_system_reset(); resume_all_vcpus(); } if (qemu_powerdown_requested()) qemu_system_powerdown(); if (qemu_powerdown_requested()) { qemu_irq_raise(qemu_system_powerdown); } if ((r = qemu_vmstop_requested())) vm_stop(r); } Loading