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

Re: [Xen-devel] [PATCH v4 RESEND] tools/libxl: Improve videoram setting



On Mon, 2013-01-28 at 15:03 +0000, Fabio Fantoni wrote:
> tools/libxl: Improve videoram setting
> 
> - If videoram setting is less than 8 mb shows error and exit.
> - Added videoram setting for qemu upstream with cirrus (added in qemu 1.3).

Which version of qemu does Xen currently ship? Do we need some compat
code with work with e.g. qemu 1.2 or do older versions silently accept +
ignore this option?

> - Updated xl.cfg man.
> 
> Signed-off-by: Fabio Fantoni <fabio.fantoni@xxxxxxxxxx>
> ---
>   docs/man/xl.cfg.pod.5      |   14 +++++---------
>   tools/libxl/libxl_create.c |    4 ++++
>   tools/libxl/libxl_dm.c     |    6 ++++++
>   3 files changed, 15 insertions(+), 9 deletions(-)
> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> index caba162..9c5cdcd 100644
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -974,19 +974,15 @@ in the B<VFB_SPEC_STRING> for configuring virtual 
> frame buffer devices
> 
>   Sets the amount of RAM which the emulated video card will contain,
>   which in turn limits the resolutions and bit depths which will be
> -available. This option is only available when using the B<stdvga>
> -option (see below).
> +available.
>   The default amount of video ram for stdvga is 8MB which is sufficient
> -for e.g. 1600x1200 at 32bpp.
> +for e.g. 1600x1200 at 32bpp and videoram option is currently working
> +only when using the qemu-xen-traditional device-model.
> 
>   When using the emulated Cirrus graphics card (B<stdvga=0>)
>   the amount of video ram is fixed at 4MB which is sufficient
> -for 1024x768 at 32 bpp.
> -
> -videoram option is currently only available when using the
> -qemu-xen-traditional device-model. Upstream qemu-xen device-model
> -currently does not support changing the amount of video memory for the
> -emulated graphics device.
> +for 1024x768 at 32 bpp and videoram option is currently working
> +only when using the upstream qemu-xen device-model.
> 
>   =item B<stdvga=BOOLEAN>
> 
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index a8dfe61..55014e5 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -199,6 +199,10 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>               b_info->shadow_memkb = 0;
>           if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
>               b_info->video_memkb = 8 * 1024;
> +        else if (b_info->video_memkb < 8192){
> +            LIBXL__LOG(CTX, LIBXL__LOG_ERROR,"videoram must be at least 
> 8 mb");

Unfortunately the patch is whitespace damaged and doesn't apply. The
indentation is off too (might be related to the whitespace damage?)

> +            return ERROR_INVAL;
> +        }
>           if (b_info->u.hvm.timer_mode == LIBXL_TIMER_MODE_DEFAULT)
>               b_info->u.hvm.timer_mode =
>                   LIBXL_TIMER_MODE_NO_DELAY_FOR_MISSED_TICKS;
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 51f9914..465b1fd 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -430,6 +430,12 @@ static char ** 
> libxl__build_device_model_args_new(libxl__gc *gc,
>               break;
>           case LIBXL_VGA_INTERFACE_TYPE_CIRRUS:
>               flexarray_vappend(dm_args, "-vga", "cirrus", NULL);
> +            if (b_info->video_memkb) {
> +                flexarray_vappend(dm_args, "-global",
> +                libxl__sprintf(gc, "vga.vram_size_mb=%d",
> +                libxl__sizekb_to_mb(b_info->video_memkb)),
> +                NULL);
> +            }

The indentation here is wrong as well.

Ian.



_______________________________________________
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®.