[libvirt] [PATCH 2/5] Xen: Defer setting default vram value to Xen drivers

Michal Privoznik mprivozn at redhat.com
Mon Oct 6 08:04:09 UTC 2014


On 19.09.2014 21:23, Jim Fehlig wrote:
> Allow the Xen drivers to determine default vram values.  Sane
> default vaules depend on the device model being used, so the
> drivers are in the best position to determine the defaults.
>
> For the legacy xen driver, it is best to maintain the existing
> logic for setting default vram values to ensure there are no
> regressions.  The libxl driver currently does not support
> configuring a video device.  Support will be added in a
> subsequent patch, where the benefit of this change will be
> reaped.
>
> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
> ---
>   src/conf/domain_conf.c |  4 ++++
>   src/xen/xen_driver.c   | 19 +++++++++++++++++++
>   2 files changed, 23 insertions(+)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index bb4a4cb..1de2650 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -9696,6 +9696,10 @@ int
>   virDomainVideoDefaultRAM(const virDomainDef *def,
>                            int type)
>   {
> +    /* Defer setting default vram to the Xen drivers */
> +    if (def->virtType == VIR_DOMAIN_VIRT_XEN)
> +        return 0;
> +
>       switch (type) {
>           /* Weird, QEMU defaults to 9 MB ??! */
>       case VIR_DOMAIN_VIDEO_TYPE_VGA:
> diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
> index 11ae8f9..7438ebb 100644
> --- a/src/xen/xen_driver.c
> +++ b/src/xen/xen_driver.c
> @@ -353,6 +353,25 @@ xenDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
>           return -1;
>       }
>
> +    if (dev->type == VIR_DOMAIN_DEVICE_VIDEO && dev->data.video->vram == 0) {
> +        switch (dev->data.video->type) {
> +        case VIR_DOMAIN_VIDEO_TYPE_VGA:
> +        case VIR_DOMAIN_VIDEO_TYPE_CIRRUS:
> +        case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
> +            dev->data.video->vram = 9 * 1024;
> +        break;
> +
> +        case VIR_DOMAIN_VIDEO_TYPE_XEN:
> +            /* Original Xen PVFB hardcoded to 4 MB */
> +            dev->data.video->vram = 4 * 1024;
> +            break;
> +
> +        case VIR_DOMAIN_VIDEO_TYPE_QXL:
> +        /* Use 64M as the minimal video video memory for qxl device */

Indentation's off.

> +            return 64 * 1024;
> +        }
> +    }
> +
>       return 0;
>   }
>
>

  Michal




More information about the libvir-list mailing list