]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
kvm tools: Add 'kvm debug' command
authorPekka Enberg <penberg@kernel.org>
Thu, 2 Jun 2011 09:11:28 +0000 (12:11 +0300)
committerPekka Enberg <penberg@kernel.org>
Thu, 2 Jun 2011 09:11:28 +0000 (12:11 +0300)
This patch adds a 'kvm debug' command that's currently an alias for

  kill -3 `pidof kvm`

which prints out debugging diagnostics for guests.

Suggested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
tools/kvm/Makefile
tools/kvm/include/kvm/kvm-debug.h [new file with mode: 0644]
tools/kvm/kvm-cmd.c
tools/kvm/kvm-debug.c [new file with mode: 0644]

index 8fa7ca83c3de6c9d673cf1445c6f2b4040a5adf2..a05a6b1613ba33b395b46dc3ff703822e16dc4ed 100644 (file)
@@ -16,16 +16,17 @@ CSCOPE = cscope
 TAGS = ctags
 
 OBJS   += cpuid.o
-OBJS   += read-write.o
+OBJS   += disk/core.o
+OBJS   += hw/rtc.o
+OBJS   += hw/serial.o
 OBJS   += interrupt.o
 OBJS   += ioport.o
-OBJS   += kvm.o
 OBJS   += kvm-cpu.o
+OBJS   += kvm.o
 OBJS   += main.o
 OBJS   += mmio.o
 OBJS   += pci.o
-OBJS   += hw/rtc.o
-OBJS   += hw/serial.o
+OBJS   += read-write.o
 OBJS   += term.o
 OBJS   += util.o
 OBJS   += virtio/blk.o
@@ -33,22 +34,22 @@ OBJS        += virtio/console.o
 OBJS   += virtio/core.o
 OBJS   += virtio/net.o
 OBJS   += virtio/rng.o
-OBJS    += util/parse-options.o
-OBJS    += util/strbuf.o
-OBJS    += kvm-help.o
-OBJS    += kvm-cmd.o
-OBJS    += kvm-run.o
-OBJS    += disk/qcow.o
-OBJS   += disk/core.o
-OBJS    += disk/raw.o
-OBJS    += disk/blk.o
-OBJS    += mptable.o
-OBJS    += threadpool.o
-OBJS    += irq.o
-OBJS    += rbtree.o
-OBJS    += util/rbtree-interval.o
-OBJS    += virtio/9p.o
-OBJS    += ioeventfd.o
+OBJS   += disk/blk.o
+OBJS   += disk/qcow.o
+OBJS   += disk/raw.o
+OBJS   += ioeventfd.o
+OBJS   += irq.o
+OBJS   += kvm-cmd.o
+OBJS   += kvm-debug.o
+OBJS   += kvm-help.o
+OBJS   += kvm-run.o
+OBJS   += mptable.o
+OBJS   += rbtree.o
+OBJS   += threadpool.o
+OBJS   += util/parse-options.o
+OBJS   += util/rbtree-interval.o
+OBJS   += util/strbuf.o
+OBJS   += virtio/9p.o
 
 
 FLAGS_BFD=$(CFLAGS) -lbfd
diff --git a/tools/kvm/include/kvm/kvm-debug.h b/tools/kvm/include/kvm/kvm-debug.h
new file mode 100644 (file)
index 0000000..190cf31
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef KVM__DEBUG_H
+#define KVM__DEBUG_H
+
+int kvm_cmd_debug(int argc, const char **argv, const char *prefix);
+
+#endif
index e545d149f556f4bc6f403bac3d03c120505130b6..2ea51a57ca5fc6a8db93bae1f52b4db067c8e417 100644 (file)
@@ -5,11 +5,13 @@
 #include <assert.h>
 
 /* user defined header files */
-#include <kvm/kvm-cmd.h>
-#include <kvm/kvm-help.h>
-#include <kvm/kvm-run.h>
+#include "kvm/kvm-debug.h"
+#include "kvm/kvm-help.h"
+#include "kvm/kvm-cmd.h"
+#include "kvm/kvm-run.h"
 
 struct cmd_struct kvm_commands[] = {
+       { "debug", kvm_cmd_debug, NULL,         0 },
        { "help",  kvm_cmd_help,  NULL,         0 },
        { "run",   kvm_cmd_run,   kvm_run_help, 0 },
        { NULL,    NULL,          NULL,         0 },
diff --git a/tools/kvm/kvm-debug.c b/tools/kvm/kvm-debug.c
new file mode 100644 (file)
index 0000000..58782dd
--- /dev/null
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <string.h>
+
+#include <kvm/util.h>
+#include <kvm/kvm-cmd.h>
+#include <kvm/kvm-debug.h>
+
+int kvm_cmd_debug(int argc, const char **argv, const char *prefix)
+{
+       return system("kill -3 $(pidof kvm)");
+}