From: Juergen Gross Date: Mon, 18 Jan 2016 08:04:00 +0000 (+0100) Subject: xenstore: add init-xenstore-domain parameter to specify cmdline X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=83c365e6395f39c7ff91785b400682173d5e5d04;p=people%2Fliuw%2Flibxenctrl-split%2Fxen.git xenstore: add init-xenstore-domain parameter to specify cmdline Add a parameter to init-xenstore-domain for support of arbitrary parameters for the xenstore domain. Signed-off-by: Juergen Gross Acked-by: Ian Campbell Acked-by: Daniel De Graaf --- diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c index ecced046cb..238007b254 100644 --- a/tools/helpers/init-xenstore-domain.c +++ b/tools/helpers/init-xenstore-domain.c @@ -17,6 +17,7 @@ static uint32_t domid = ~0; static char *kernel; static char *ramdisk; static char *flask; +static char *param; static int memory; static struct option options[] = { @@ -24,6 +25,7 @@ static struct option options[] = { { "memory", 1, NULL, 'm' }, { "flask", 1, NULL, 'f' }, { "ramdisk", 1, NULL, 'r' }, + { "param", 1, NULL, 'p' }, { NULL, 0, NULL, 0 } }; @@ -39,7 +41,8 @@ static void usage(void) " --kernel kernel file of the xenstore domain, mandatory\n" " --memory size of the domain in MB, mandatory\n" " --flask optional flask label of the domain\n" -" --ramdisk optional ramdisk file for the domain\n"); +" --ramdisk optional ramdisk file for the domain\n" +" --param optional additional parameters for the domain\n"); } static int build(xc_interface *xch) @@ -103,7 +106,11 @@ static int build(xc_interface *xch) fprintf(stderr, "Xenbus setup ioctl failed\n"); goto err; } - snprintf(cmdline, 512, "--event %d --internal-db", rv); + + if ( param ) + snprintf(cmdline, 512, "--event %d --internal-db %s", rv, param); + else + snprintf(cmdline, 512, "--event %d --internal-db", rv); dom = xc_dom_allocate(xch, cmdline, NULL); rv = xc_dom_kernel_file(dom, kernel); @@ -233,6 +240,9 @@ int main(int argc, char** argv) case 'r': ramdisk = optarg; break; + case 'p': + param = optarg; + break; default: usage(); return 2;