Can be used to send debug keys to Xen.
Signed-off-by: Yu Zhiguo <yuzg@xxxxxxxxxxxxxx>
diff -r baccadfd9418 -r 60150e519923 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c Fri May 14 08:05:05 2010 +0100
+++ b/tools/libxl/libxl.c Thu May 20 01:39:03 2010 +0800
@@ -2807,6 +2807,15 @@
return 0;
}
+int libxl_send_debug_keys(struct libxl_ctx *ctx, char *keys)
+{
+ int rc;
+
+ rc = xc_send_debug_keys(ctx->xch, keys);
+
+ return rc;
+}
+
uint32_t libxl_vm_get_start_time(struct libxl_ctx *ctx, uint32_t domid)
{
char *dompath = libxl_xs_get_dompath(ctx, domid);
diff -r baccadfd9418 -r 60150e519923 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h Fri May 14 08:05:05 2010 +0100
+++ b/tools/libxl/libxl.h Thu May 20 01:39:03 2010 +0800
@@ -511,6 +511,7 @@
int libxl_send_trigger(struct libxl_ctx *ctx, uint32_t domid,
char *trigger_name, uint32_t vcpuid);
int libxl_send_sysrq(struct libxl_ctx *ctx, uint32_t domid, char sysrq);
+int libxl_send_debug_keys(struct libxl_ctx *ctx, char *keys);
uint32_t libxl_vm_get_start_time(struct libxl_ctx *ctx, uint32_t domid);
#endif /* LIBXL_H */
diff -r baccadfd9418 -r 60150e519923 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c Fri May 14 08:05:05 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.c Thu May 20 01:39:03 2010 +0800
@@ -3167,6 +3167,38 @@
exit(0);
}
+int main_debug_keys(int argc, char **argv)
+{
+ int opt = 0;
+ char *keys;
+ int rc;
+
+ while ((opt = getopt(argc, argv, "h")) != -1) {
+ switch (opt) {
+ case 'h':
+ help("debug-keys");
+ exit(0);
+ default:
+ fprintf(stderr, "option not supported\n");
+ break;
+ }
+ }
+ if (optind >= argc) {
+ help("debug-keys");
+ exit(2);
+ }
+
+ keys = argv[optind];
+
+ rc = libxl_send_debug_keys(&ctx, keys);
+ if (rc) {
+ fprintf(stderr, "cannot send debug keys: %s\n", keys);
+ exit(1);
+ }
+
+ exit(0);
+}
+
int main_top(int argc, char **argv)
{
int opt;
diff -r baccadfd9418 -r 60150e519923 tools/libxl/xl_cmdimpl.h
--- a/tools/libxl/xl_cmdimpl.h Fri May 14 08:05:05 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.h Thu May 20 01:39:03 2010 +0800
@@ -44,6 +44,7 @@
int main_rename(int argc, char **argv);
int main_trigger(int argc, char **argv);
int main_sysrq(int argc, char **argv);
+int main_debug_keys(int argc, char **argv);
int main_top(int argc, char **argv);
int main_networkattach(int argc, char **argv);
int main_networklist(int argc, char **argv);
diff -r baccadfd9418 -r 60150e519923 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c Fri May 14 08:05:05 2010 +0100
+++ b/tools/libxl/xl_cmdtable.c Thu May 20 01:39:03 2010 +0800
@@ -182,6 +182,11 @@
"Send a sysrq to a domain",
"<Domain> <letter>",
},
+ { "debug-keys",
+ &main_debug_keys,
+ "Send debug keys to Xen",
+ "<Keys>",
+ },
{ "top",
&main_top,
"Monitor a host and the domains in real time",
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|