[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 51/52] xl: add new xl command set-parameters
Add a new xl command "set-parameters" to set hypervisor parameters at runtime similar to boot time parameters via command line. Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- docs/man/xl.pod.1.in | 5 +++++ tools/xl/xl.h | 1 + tools/xl/xl_cmdtable.c | 5 +++++ tools/xl/xl_misc.c | 20 ++++++++++++++++++++ 4 files changed, 31 insertions(+) diff --git a/docs/man/xl.pod.1.in b/docs/man/xl.pod.1.in index 16c83066fe..3d5f2f7359 100644 --- a/docs/man/xl.pod.1.in +++ b/docs/man/xl.pod.1.in @@ -822,6 +822,11 @@ Pass the VNC password to vncviewer via stdin. Send debug I<keys> to Xen. It is the same as pressing the Xen "conswitch" (Ctrl-A by default) three times and then pressing "keys". +=item B<set-parameters> I<params> + +Set hypervisor parameters as specified in I<params>. This allows for some +boot parameters of the hypervisor to be modified in the running systems. + =item B<dmesg> [I<OPTIONS>] Reads the Xen message buffer, similar to dmesg on a Linux system. The diff --git a/tools/xl/xl.h b/tools/xl/xl.h index aa95b77146..5d3d2a4835 100644 --- a/tools/xl/xl.h +++ b/tools/xl/xl.h @@ -154,6 +154,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_set_parameters(int argc, char **argv); int main_dmesg(int argc, char **argv); int main_top(int argc, char **argv); int main_networkattach(int argc, char **argv); diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c index 2c71a9f776..ba0159df67 100644 --- a/tools/xl/xl_cmdtable.c +++ b/tools/xl/xl_cmdtable.c @@ -309,6 +309,11 @@ struct cmd_spec cmd_table[] = { "Send debug keys to Xen", "<Keys>", }, + { "set-parameters", + &main_set_parameters, 0, 1, + "Set hypervisor parameters", + "<Params>", + }, { "dmesg", &main_dmesg, 0, 0, "Read and/or clear dmesg buffer", diff --git a/tools/xl/xl_misc.c b/tools/xl/xl_misc.c index 9c6227af23..dcf940a6d4 100644 --- a/tools/xl/xl_misc.c +++ b/tools/xl/xl_misc.c @@ -155,6 +155,26 @@ int main_debug_keys(int argc, char **argv) return EXIT_SUCCESS; } +int main_set_parameters(int argc, char **argv) +{ + int opt; + char *params; + + SWITCH_FOREACH_OPT(opt, "", NULL, "set-parameters", 1) { + /* No options */ + } + + params = argv[optind]; + + if (libxl_set_parameters(ctx, params)) { + fprintf(stderr, "cannot set parameters: %s\n", params); + fprintf(stderr, "Use \"xl dmesg\" to look for possible reason.\n"); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} + int main_devd(int argc, char **argv) { int ret = 0, opt = 0, daemonize = 1; -- 2.12.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |