X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=vl.c;h=0348eb4e61522433ed4a64b40664dbca28d8663b;hb=9781e0401ad7d2d30e48fd532372d4ef80be58b6;hp=73de9c385493380b895345c1fe626385321c8f1f;hpb=5c047c0d3f7d732620ece04d5f8574d19ea1626d;p=qemu diff --git a/vl.c b/vl.c index 73de9c3..0348eb4 100644 --- a/vl.c +++ b/vl.c @@ -3451,37 +3451,21 @@ void qemu_del_vm_change_state_handler(VMChangeStateEntry *e) qemu_free (e); } -static void vm_state_notify(int running) +static void vm_state_notify(int running, int reason) { VMChangeStateEntry *e; for (e = vm_change_state_head.lh_first; e; e = e->entries.le_next) { - e->cb(e->opaque, running); + e->cb(e->opaque, running, reason); } } -/* XXX: support several handlers */ -static VMStopHandler *vm_stop_cb; -static void *vm_stop_opaque; - -int qemu_add_vm_stop_handler(VMStopHandler *cb, void *opaque) -{ - vm_stop_cb = cb; - vm_stop_opaque = opaque; - return 0; -} - -void qemu_del_vm_stop_handler(VMStopHandler *cb, void *opaque) -{ - vm_stop_cb = NULL; -} - void vm_start(void) { if (!vm_running) { cpu_enable_ticks(); vm_running = 1; - vm_state_notify(1); + vm_state_notify(1, 0); qemu_rearm_alarm_timer(alarm_timer); } } @@ -3491,12 +3475,7 @@ void vm_stop(int reason) if (vm_running) { cpu_disable_ticks(); vm_running = 0; - if (reason != 0) { - if (vm_stop_cb) { - vm_stop_cb(vm_stop_opaque, reason); - } - } - vm_state_notify(0); + vm_state_notify(0, reason); } }