All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6] tools/libxl: Improve videoram setting
@ 2013-02-11 14:07 fantonifabio
  2013-02-15 12:27 ` Stefano Stabellini
  0 siblings, 1 reply; 6+ messages in thread
From: fantonifabio @ 2013-02-11 14:07 UTC (permalink / raw)
  To: xen-devel; +Cc: Fabio Fantoni, Ian.Campbell, Stefano.Stabellini

From: Fabio Fantoni <fabio.fantoni@heliman.it>

- 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).
- Updated xl.cfg man.
- Default and minimal videoram changed to 16 mb if stdvga is set and upstream
  qemu is being used. This is required by qemu 1.4 to avoid a xen memory error
  (qemu 1.3 doesn't complain about it, probably buggy).

Changes from v5:
- Default and minimal videoram changed to 16 mb if stdvga is set and upstream
  qemu is being used.

Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>
---
 docs/man/xl.cfg.pod.5      |   14 +++++---------
 tools/libxl/libxl_create.c |   18 +++++++++++++++++-
 tools/libxl/libxl_dm.c     |    6 ++++++
 3 files changed, 28 insertions(+), 10 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..fa81f88 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -197,8 +197,24 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     case LIBXL_DOMAIN_TYPE_HVM:
         if (b_info->shadow_memkb == LIBXL_MEMKB_DEFAULT)
             b_info->shadow_memkb = 0;
-        if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
+
+        if (b_info->u.hvm.vga.kind == LIBXL_VGA_INTERFACE_TYPE_STD &&
+            b_info->device_model_version ==
+            LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
+                if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
+                    b_info->video_memkb = 16 * 1024;
+                else if (b_info->video_memkb < (16 * 1024) ){
+                    LOG(ERROR,
+                    "videoram must be at least 16 mb with stdvga");
+                    return ERROR_INVAL;
+                }
+        } else if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
             b_info->video_memkb = 8 * 1024;
+        else if (b_info->video_memkb < (8 * 1024) ){
+            LOG(ERROR,"videoram must be at least 8 mb");
+            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);
+            }
             break;
         }
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v6] tools/libxl: Improve videoram setting
  2013-02-11 14:07 [PATCH v6] tools/libxl: Improve videoram setting fantonifabio
@ 2013-02-15 12:27 ` Stefano Stabellini
  2013-02-15 13:46   ` Ian Campbell
  0 siblings, 1 reply; 6+ messages in thread
From: Stefano Stabellini @ 2013-02-15 12:27 UTC (permalink / raw)
  To: fantonifabio; +Cc: xen-devel, Ian Campbell, Fabio Fantoni, Stefano Stabellini

On Mon, 11 Feb 2013, fantonifabio@tiscali.it wrote:
> From: Fabio Fantoni <fabio.fantoni@heliman.it>
> 
> - 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).
> - Updated xl.cfg man.
> - Default and minimal videoram changed to 16 mb if stdvga is set and upstream
>   qemu is being used. This is required by qemu 1.4 to avoid a xen memory error
>   (qemu 1.3 doesn't complain about it, probably buggy).
> 
> Changes from v5:
> - Default and minimal videoram changed to 16 mb if stdvga is set and upstream
>   qemu is being used.
> 
> Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  docs/man/xl.cfg.pod.5      |   14 +++++---------
>  tools/libxl/libxl_create.c |   18 +++++++++++++++++-
>  tools/libxl/libxl_dm.c     |    6 ++++++
>  3 files changed, 28 insertions(+), 10 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..fa81f88 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -197,8 +197,24 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>      case LIBXL_DOMAIN_TYPE_HVM:
>          if (b_info->shadow_memkb == LIBXL_MEMKB_DEFAULT)
>              b_info->shadow_memkb = 0;
> -        if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
> +
> +        if (b_info->u.hvm.vga.kind == LIBXL_VGA_INTERFACE_TYPE_STD &&
> +            b_info->device_model_version ==
> +            LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
> +                if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
> +                    b_info->video_memkb = 16 * 1024;
> +                else if (b_info->video_memkb < (16 * 1024) ){
> +                    LOG(ERROR,
> +                    "videoram must be at least 16 mb with stdvga");
> +                    return ERROR_INVAL;
> +                }
> +        } else if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
>              b_info->video_memkb = 8 * 1024;
> +        else if (b_info->video_memkb < (8 * 1024) ){
> +            LOG(ERROR,"videoram must be at least 8 mb");
> +            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);
> +            }
>              break;
>          }
>  
> -- 
> 1.7.9.5
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6] tools/libxl: Improve videoram setting
  2013-02-15 12:27 ` Stefano Stabellini
@ 2013-02-15 13:46   ` Ian Campbell
  2013-02-16 14:57     ` Fabio Fantoni
  0 siblings, 1 reply; 6+ messages in thread
From: Ian Campbell @ 2013-02-15 13:46 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: xen-devel, Fabio Fantoni, fantonifabio

On Fri, 2013-02-15 at 12:27 +0000, Stefano Stabellini wrote:
> On Mon, 11 Feb 2013, fantonifabio@tiscali.it wrote:
> > From: Fabio Fantoni <fabio.fantoni@heliman.it>
> > 
> > - 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).
> > - Updated xl.cfg man.
> > - Default and minimal videoram changed to 16 mb if stdvga is set and upstream
> >   qemu is being used. This is required by qemu 1.4 to avoid a xen memory error
> >   (qemu 1.3 doesn't complain about it, probably buggy).
> > 
> > Changes from v5:
> > - Default and minimal videoram changed to 16 mb if stdvga is set and upstream
> >   qemu is being used.
> > 
> > Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Applied, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6] tools/libxl: Improve videoram setting
  2013-02-15 13:46   ` Ian Campbell
@ 2013-02-16 14:57     ` Fabio Fantoni
  2013-02-28 10:55       ` Fabio Fantoni
  0 siblings, 1 reply; 6+ messages in thread
From: Fabio Fantoni @ 2013-02-16 14:57 UTC (permalink / raw)
  To: Ian Campbell; +Cc: fantonifabio, xen-devel, Stefano Stabellini

Il 15/02/2013 14:46, Ian Campbell ha scritto:
> On Fri, 2013-02-15 at 12:27 +0000, Stefano Stabellini wrote:
>> On Mon, 11 Feb 2013, fantonifabio@tiscali.it wrote:
>>> From: Fabio Fantoni <fabio.fantoni@heliman.it>
>>>
>>> - 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).
>>> - Updated xl.cfg man.
>>> - Default and minimal videoram changed to 16 mb if stdvga is set and upstream
>>>    qemu is being used. This is required by qemu 1.4 to avoid a xen memory error
>>>    (qemu 1.3 doesn't complain about it, probably buggy).
>>>
>>> Changes from v5:
>>> - Default and minimal videoram changed to 16 mb if stdvga is set and upstream
>>>    qemu is being used.
>>>
>>> Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>
>> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Applied, thanks.
>
This patch should be backported to xen 4.2.x for fix crash of qemu 1.4 
with stdvga (tested with debian experimental package)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6] tools/libxl: Improve videoram setting
  2013-02-16 14:57     ` Fabio Fantoni
@ 2013-02-28 10:55       ` Fabio Fantoni
  2013-03-01 12:18         ` Ian Jackson
  0 siblings, 1 reply; 6+ messages in thread
From: Fabio Fantoni @ 2013-02-28 10:55 UTC (permalink / raw)
  To: Fabio Fantoni; +Cc: xen-devel, Ian Campbell, Stefano Stabellini


[-- Attachment #1.1: Type: text/plain, Size: 1271 bytes --]

Il 16/02/2013 15:57, Fabio Fantoni ha scritto:
> Il 15/02/2013 14:46, Ian Campbell ha scritto:
>> On Fri, 2013-02-15 at 12:27 +0000, Stefano Stabellini wrote:
>>> On Mon, 11 Feb 2013, fantonifabio@tiscali.it wrote:
>>>> From: Fabio Fantoni <fabio.fantoni@heliman.it>
>>>>
>>>> - 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).
>>>> - Updated xl.cfg man.
>>>> - Default and minimal videoram changed to 16 mb if stdvga is set 
>>>> and upstream
>>>>    qemu is being used. This is required by qemu 1.4 to avoid a xen 
>>>> memory error
>>>>    (qemu 1.3 doesn't complain about it, probably buggy).
>>>>
>>>> Changes from v5:
>>>> - Default and minimal videoram changed to 16 mb if stdvga is set 
>>>> and upstream
>>>>    qemu is being used.
>>>>
>>>> Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>
>>> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>> Applied, thanks.
>>

> This patch should be backported to xen 4.2.x for fix crash of qemu 1.4 
> with stdvga (tested with debian experimental package)

Sorry for another mail about this, I see that 4.2.2 is near to be 
released but this patch is not backported.


[-- Attachment #1.2: Firma crittografica S/MIME --]
[-- Type: application/pkcs7-signature, Size: 4510 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6] tools/libxl: Improve videoram setting
  2013-02-28 10:55       ` Fabio Fantoni
@ 2013-03-01 12:18         ` Ian Jackson
  0 siblings, 0 replies; 6+ messages in thread
From: Ian Jackson @ 2013-03-01 12:18 UTC (permalink / raw)
  To: fantonifabio; +Cc: Fabio Fantoni, xen-devel, Stefano Stabellini, Ian Campbell

Fabio Fantoni writes ("Re: [Xen-devel] [PATCH v6] tools/libxl: Improve videoram setting"):
> Sorry for another mail about this, I see that 4.2.2 is near to be 
> released but this patch is not backported.

Please don't apologise.  Thanks for the reminder and I'm sorry that we
haven't dealt with this yet.

However, the commit (2e814a017155b885e4d4b5a88dc05e7367a9722a in
xen.git) doesn't apply cleanly to 4.2.  There's a docs conflict.
Would you like to fix up the conflict and post a backport ?

Thanks,
Ian.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-03-01 12:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-11 14:07 [PATCH v6] tools/libxl: Improve videoram setting fantonifabio
2013-02-15 12:27 ` Stefano Stabellini
2013-02-15 13:46   ` Ian Campbell
2013-02-16 14:57     ` Fabio Fantoni
2013-02-28 10:55       ` Fabio Fantoni
2013-03-01 12:18         ` Ian Jackson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.