[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: Makes libxl be able to call Qemu upstream for XenPV guest.
# HG changeset patch # User Anthony PERARD <anthony.perard@xxxxxxxxxx> # Date 1292263185 0 # Node ID f57026cd5d1945b5d7bff3bcfd44e3866913fe45 # Parent cb75d32db0d68563844712abe04ea032ad197637 libxl: Makes libxl be able to call Qemu upstream for XenPV guest. 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. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> committer: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> --- tools/libxl/libxl.c | 32 ++++++++++++++++++++++---------- 1 files changed, 22 insertions(+), 10 deletions(-) diff -r cb75d32db0d6 -r f57026cd5d19 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Mon Dec 13 17:59:02 2010 +0000 +++ b/tools/libxl/libxl.c Mon Dec 13 17:59:45 2010 +0000 @@ -1261,6 +1261,10 @@ static char ** libxl_build_device_model_ 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_ 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); @@ -1374,16 +1384,18 @@ static char ** libxl_build_device_model_ else flexarray_set(dm_args, num++, "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]); + 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]); + } } free(disks); flexarray_set(dm_args, num++, NULL); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |