[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 4/5] libxl: Makes libxl be able to call Qemu upstream for XenPV guest.
From: Anthony PERARD <anthony.perard@xxxxxxxxxx> In libxl_build_device_model_args_new: - Adds -xen-attach options to the list of arguments to Qemu. - Adds -vga xenfb options when vnc and sdl are not set. - Remove disk list from the command line for XenPV as they will be read from xenstore by Qemu. --- tools/libxl/libxl.c | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 0ddeac0..c8fe82c 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1261,6 +1261,10 @@ static char ** libxl_build_device_model_args_new(libxl__gc *gc, flexarray_set(dm_args, num++, "-xen-domid"); flexarray_set(dm_args, num++, libxl__sprintf(gc, "%d", info->domid)); + if (info->type == XENPV) { + flexarray_set(dm_args, num++, "-xen-attach"); + } + if (info->dom_name) { flexarray_set(dm_args, num++, "-name"); flexarray_set(dm_args, num++, info->dom_name); @@ -1292,6 +1296,12 @@ static char ** libxl_build_device_model_args_new(libxl__gc *gc, if (info->sdl) { flexarray_set(dm_args, num++, "-sdl"); } + + if (info->type == XENPV && !info->nographic) { + flexarray_set(dm_args, num++, "-vga"); + flexarray_set(dm_args, num++, "xenfb"); + } + if (info->keymap) { flexarray_set(dm_args, num++, "-k"); flexarray_set(dm_args, num++, info->keymap); @@ -1378,16 +1388,18 @@ static char ** libxl_build_device_model_args_new(libxl__gc *gc, flexarray_set(dm_args, num++, "-m"); flexarray_set(dm_args, num++, libxl__sprintf(gc, "%d", info->target_ram)); - disks = libxl_device_disk_list(libxl__gc_owner(gc), info->domid, &nb); - for (i; i < nb; i++) { - if ( disks[i].is_cdrom ) { - flexarray_set(dm_args, num++, "-cdrom"); - flexarray_set(dm_args, num++, libxl__strdup(gc, disks[i].physpath)); - } else { - flexarray_set(dm_args, num++, libxl__sprintf(gc, "-%s", disks[i].virtpath)); - flexarray_set(dm_args, num++, libxl__strdup(gc, disks[i].physpath)); + if (info->type == XENFV) { + disks = libxl_device_disk_list(libxl__gc_owner(gc), info->domid, &nb); + for (i; i < nb; i++) { + if (disks[i].is_cdrom) { + flexarray_set(dm_args, num++, "-cdrom"); + flexarray_set(dm_args, num++, libxl__strdup(gc, disks[i].physpath)); + } else { + flexarray_set(dm_args, num++, libxl__sprintf(gc, "-%s", disks[i].virtpath)); + flexarray_set(dm_args, num++, libxl__strdup(gc, disks[i].physpath)); + } + libxl_device_disk_destroy(&disks[i]); } - libxl_device_disk_destroy(&disks[i]); } free(disks); flexarray_set(dm_args, num++, NULL); -- 1.7.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |