From 36de39d501907e4dc36995bb82849ab8edd0b1fa Mon Sep 17 00:00:00 2001 From: Dmytro Firsov Date: Wed, 15 May 2024 00:27:50 +0300 Subject: [PATCH] xen-shell-cmd: add optional paramenters for pausing domain on creation Previously f_paused flag was introduced to domain configuration struct. Add optional parameter for "xu create" command to left created domain paused after creation. Signed-off-by: Dmytro Firsov --- xen-shell-cmd/src/xen_cmds.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/xen-shell-cmd/src/xen_cmds.c b/xen-shell-cmd/src/xen_cmds.c index 12d5579..66451ca 100644 --- a/xen-shell-cmd/src/xen_cmds.c +++ b/xen-shell-cmd/src/xen_cmds.c @@ -33,6 +33,18 @@ uint32_t parse_domid(size_t argc, char **argv) return 0; } +void parse_and_fill_flags(size_t argc, char **argv, struct xen_domain_cfg *cfg) +{ + int i; + + for (i = 0; i < argc; i++) { + /* check if domain should remain paused after creation */ + if (argv[i][0] == '-' && argv[i][1] == 'p') { + cfg->f_paused = 1; + } + } +} + static int domu_create(const struct shell *shell, int argc, char **argv) { int ret; @@ -57,6 +69,8 @@ static int domu_create(const struct shell *shell, int argc, char **argv) return -EINVAL; } + parse_and_fill_flags(argc, argv, cfg); + ret = domain_create(cfg, domid); if (ret < 0) { return ret; /* domain_create should care about error logs */ @@ -165,8 +179,8 @@ SHELL_STATIC_SUBCMD_SET_CREATE( subcmd_xu, SHELL_CMD_ARG(create, NULL, " Create Xen domain\n" - " Usage: create cfg_name [-d ]\n", - domu_create, 2, 2), + " Usage: create cfg_name [-d ] [-p]\n", + domu_create, 2, 3), SHELL_CMD_ARG(destroy, NULL, " Destroy Xen domain\n" " Usage: destroy \n",