Instead of using qemu_system_reset_request() to reset when a watchdog triggers,
let watchdog_perform_action() decide what to do, as stated in the BiteSizedTasks
wiki page.

Signed-off-by: Nikos Filippakis <[email protected]>
---
 hw/timer/m48t59.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/timer/m48t59.c b/hw/timer/m48t59.c
index bbcfeb2..57811e7 100644
--- a/hw/timer/m48t59.c
+++ b/hw/timer/m48t59.c
@@ -30,6 +30,7 @@
 #include "hw/sysbus.h"
 #include "hw/isa/isa.h"
 #include "exec/address-spaces.h"
+#include "sysemu/watchdog.h"
 
 //#define DEBUG_NVRAM
 
@@ -223,7 +224,7 @@ static void watchdog_cb (void *opaque)
        NVRAM->buffer[0x1FF7] = 0x00;
        NVRAM->buffer[0x1FFC] &= ~0x40;
         /* May it be a hw CPU Reset instead ? */
-        qemu_system_reset_request();
+        watchdog_perform_action();
     } else {
        qemu_set_irq(NVRAM->IRQ, 1);
        qemu_set_irq(NVRAM->IRQ, 0);
-- 
1.9.1


Reply via email to