]> git.proxmox.com Git - qemu.git/commitdiff
target-sparc: use notifier for signaling guest system_powerdown command
authorIgor Mammedov <imammedo@redhat.com>
Wed, 5 Sep 2012 21:06:24 +0000 (23:06 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 25 Sep 2012 23:37:41 +0000 (18:37 -0500)
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/sun4m.c

index 0f909b5f86763f583d9daadc6157ecd58c5064d4..c98cd5ec3f5fedd91c85f9bb3c7405862b7c7825 100644 (file)
@@ -472,6 +472,17 @@ static void slavio_timer_init_all(target_phys_addr_t addr, qemu_irq master_irq,
     }
 }
 
+static qemu_irq  slavio_system_powerdown;
+
+static void slavio_powerdown_req(Notifier *n, void *opaque)
+{
+    qemu_irq_raise(slavio_system_powerdown);
+}
+
+static Notifier slavio_system_powerdown_notifier = {
+    .notify = slavio_powerdown_req
+};
+
 #define MISC_LEDS 0x01600000
 #define MISC_CFG  0x01800000
 #define MISC_DIAG 0x01a00000
@@ -514,7 +525,8 @@ static void slavio_misc_init(target_phys_addr_t base,
     }
     sysbus_connect_irq(s, 0, irq);
     sysbus_connect_irq(s, 1, fdc_tc);
-    qemu_system_powerdown = qdev_get_gpio_in(dev, 0);
+    slavio_system_powerdown = qdev_get_gpio_in(dev, 0);
+    qemu_register_powerdown_notifier(&slavio_system_powerdown_notifier);
 }
 
 static void ecc_init(target_phys_addr_t base, qemu_irq irq, uint32_t version)