Re: [PATCH] QMP: Emit Basic events

2010-01-27 Thread Marcelo Tosatti
On Tue, Jan 26, 2010 at 06:25:08PM -0200, Luiz Capitulino wrote:
 
 While testing QMP on qemu-kvm I found that it's not emitting basic
 events like RESET or POWERDOWN.
 
 The reason is that in QEMU upstream those events are triggered
 in QEMU's main loop (ie. vl.c:main_loop()), but control doesn't
 reach there in qemu-kvm as it has its own main loop in
 qemu-kvm.c:kvm_main_loop().
 
 This commit adds the same set of events there too.
 
 NOTE: The STOP event is not being added because it should be
 triggered in vm_stop() and not in the main loop, this will be
 fixed upstream.
 
 Signed-off-by: Luiz Capitulino lcapitul...@redhat.com

Applied, thanks.

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] QMP: Emit Basic events

2010-01-26 Thread Luiz Capitulino

While testing QMP on qemu-kvm I found that it's not emitting basic
events like RESET or POWERDOWN.

The reason is that in QEMU upstream those events are triggered
in QEMU's main loop (ie. vl.c:main_loop()), but control doesn't
reach there in qemu-kvm as it has its own main loop in
qemu-kvm.c:kvm_main_loop().

This commit adds the same set of events there too.

NOTE: The STOP event is not being added because it should be
triggered in vm_stop() and not in the main loop, this will be
fixed upstream.

Signed-off-by: Luiz Capitulino lcapitul...@redhat.com
---
 qemu-kvm.c |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/qemu-kvm.c b/qemu-kvm.c
index 1c34846..06706c9 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -17,6 +17,7 @@
 #include block.h
 #include compatfd.h
 #include gdbstub.h
+#include monitor.h
 
 #include qemu-kvm.h
 #include libkvm.h
@@ -2124,11 +2125,14 @@ int kvm_main_loop(void)
 vm_stop(0);
 } else
 break;
-} else if (qemu_powerdown_requested())
+} else if (qemu_powerdown_requested()) {
+monitor_protocol_event(QEVENT_POWERDOWN, NULL);
 qemu_irq_raise(qemu_system_powerdown);
-else if (qemu_reset_requested())
+} else if (qemu_reset_requested()) {
+monitor_protocol_event(QEVENT_RESET, NULL);
 qemu_kvm_system_reset();
-else if (kvm_debug_cpu_requested) {
+} else if (kvm_debug_cpu_requested) {
+monitor_protocol_event(QEVENT_DEBUG, NULL);
 gdb_set_stop_cpu(kvm_debug_cpu_requested);
 vm_stop(EXCP_DEBUG);
 kvm_debug_cpu_requested = NULL;
-- 
1.6.6

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html