[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 1/2] libxl: Add none to vga parameter



On Tue, Nov 19, 2013 at 03:57:08PM +0100, Fabio Fantoni wrote:
> Usage:
>   vga="none"
> 
> With upstream qemu it was impossible to disable emulated vga,
> even with -nographic qemu parameter setted with nographic xl
> paramter.
> 
> Changes from v1:
> - libxl_dm.c:
>  if vga is none:
>   - add -vga none paramter
>   - do not add -videoram parameter.
> 
> Signed-off-by: Fabio Fantoni <fabio.fantoni@xxxxxxx>
> ---
>  docs/man/xl.cfg.pod.5       |    2 +-
>  tools/libxl/libxl_create.c  |    4 ++++
>  tools/libxl/libxl_dm.c      |    8 +++++++-
>  tools/libxl/libxl_types.idl |    1 +
>  tools/libxl/xl_cmdimpl.c    |    2 ++
>  5 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> index 3dedd61..402a414 100644
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -1050,7 +1050,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 2bb33e9..a9735d0 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -222,6 +222,8 @@ 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:
> +                break;
>              case LIBXL_VGA_INTERFACE_TYPE_STD:
>                  if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
>                      b_info->video_memkb = 8 * 1024;
> @@ -242,6 +244,8 @@ 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:
> +                break;
>              case LIBXL_VGA_INTERFACE_TYPE_STD:
>                  if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
>                      b_info->video_memkb = 16 * 1024;

I believe you need to set the video_memkb here to 0 in both cases,
otherwise we might end up with -1 later.

> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 7be0a50..ce63c9a 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -187,7 +187,8 @@ static char ** 
> libxl__build_device_model_args_old(libxl__gc *gc,
>              flexarray_append(dm_args, "-nographic");
>          }
>  
> -        if (b_info->video_memkb) {
> +        if (b_info->video_memkb
> +            && b_info->u.hvm.vga.kind != LIBXL_VGA_INTERFACE_TYPE_NONE) {
>              flexarray_vappend(dm_args, "-videoram",
>                      libxl__sprintf(gc, "%d",
>                                     libxl__sizekb_to_mb(b_info->video_memkb)),

Once video_memkb is 0, then this change will no be necessary.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.