[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 RESEND] libxl: Add none to vga parameter
Il 11/03/2014 16:09, Paul Durrant ha scritto: -----Original Message----- From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel- bounces@xxxxxxxxxxxxx] On Behalf Of Fabio Fantoni Sent: 22 February 2014 10:37 To: xen-devel@xxxxxxxxxxxxxxxxxxx Cc: Anthony Perard; Fabio Fantoni; Ian Jackson; Ian Campbell; Stefano Stabellini Subject: [Xen-devel] [PATCH v3 RESEND] libxl: Add none to vga parameter Usage: vga="none" Make possible to not have an emulated vga on hvm domUs. Signed-off-by: Fabio Fantoni <fabio.fantoni@xxxxxxx> --- Changes in v3: - set video_memkb to 0 if vga is none. - remove a check on one condition no more needed. Changes in v2: - libxl_dm.c: if vga is none, on qemu traditional: - add -vga none parameter. - do not add -videoram parameter. --- docs/man/xl.cfg.pod.5 | 2 +- tools/libxl/libxl_create.c | 6 ++++++ tools/libxl/libxl_dm.c | 5 +++++ tools/libxl/libxl_types.idl | 1 + tools/libxl/xl_cmdimpl.c | 2 ++ 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index e15a49f..2f36143 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -1082,7 +1082,7 @@ This option is deprecated, use vga="stdvga" instead. =item B<vga="STRING"> -Selects the emulated video card (stdvga|cirrus). +Selects the emulated video card (none|stdvga|cirrus). The default is cirrus. =item B<vnc=BOOLEAN> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index a604cd8..9110394 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -226,6 +226,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, switch (b_info->device_model_version) { case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: switch (b_info->u.hvm.vga.kind) { + case LIBXL_VGA_INTERFACE_TYPE_NONE: + b_info->video_memkb = 0;I've just been testing this patch in conjunction with my secondary emulator series and this zeroing of the video memory is problematic. I've implemented a secondary console emulator and so still need a vram allocation, so can we still allow a specified videoram value even if the default is zero? Paul If I remember correctly video_memkb is set with xl parameter "videoram" before setdefault of libxl_create.c, therefore the video_memkb will be 0 anyway. I added zeroing of video_memkb after advice of anthony perard: http://lists.xen.org/archives/html/xen-devel/2013-11/msg03692.htmlThe patch v2 didn't set videoram to zero and it works. If zeroing of videoram is not needed for something else we could just revert the change made in v3, otherwise we need to make "videoram" xl parameter work despite the zeroing. Can Anthony perard or someone else tell me if it is necessary to set to zero the videoram if an emulated video card is not present? Thanks for any reply. + break; case LIBXL_VGA_INTERFACE_TYPE_STD: if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) b_info->video_memkb = 8 * 1024; @@ -246,6 +249,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: default: switch (b_info->u.hvm.vga.kind) { + case LIBXL_VGA_INTERFACE_TYPE_NONE: + b_info->video_memkb = 0; + break; case LIBXL_VGA_INTERFACE_TYPE_STD: if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) b_info->video_memkb = 16 * 1024; diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index f6f7bbd..761bb61 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -217,6 +217,9 @@ static char ** libxl__build_device_model_args_old(libxl__gc *gc, break; case LIBXL_VGA_INTERFACE_TYPE_CIRRUS: break; + case LIBXL_VGA_INTERFACE_TYPE_NONE: + flexarray_append_pair(dm_args, "-vga", "none"); + break; } if (b_info->u.hvm.boot) { @@ -515,6 +518,8 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, GCSPRINTF("vga.vram_size_mb=%d", libxl__sizekb_to_mb(b_info->video_memkb))); break; + case LIBXL_VGA_INTERFACE_TYPE_NONE: + break; } if (b_info->u.hvm.boot) { diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 649ce50..b5a8387 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -153,6 +153,7 @@ libxl_shutdown_reason = Enumeration("shutdown_reason", [ libxl_vga_interface_type = Enumeration("vga_interface_type", [ (1, "CIRRUS"), (2, "STD"), + (3, "NONE"), ], init_val = 1) libxl_vendor_device = Enumeration("vendor_device", [ diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 4fc46eb..4d720b4 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -1667,6 +1667,8 @@ skip_vfb: b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_STD; } else if (!strcmp(buf, "cirrus")) { b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_CIRRUS; + } else if (!strcmp(buf, "none")) { + b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_NONE; } else { fprintf(stderr, "Unknown vga \"%s\" specified\n", buf); exit(1); -- 1.7.9.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |