xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Jim Fehlig <jfehlig@suse.com>
To: libvir-list@redhat.com
Cc: Jim Fehlig <jfehlig@suse.com>, xen-devel@lists.xen.org
Subject: [PATCH 2/5] Xen: Defer setting default vram value to Xen drivers
Date: Fri, 19 Sep 2014 13:23:11 -0600	[thread overview]
Message-ID: <1411154594-14871-3-git-send-email-jfehlig@suse.com> (raw)
In-Reply-To: <1411154594-14871-1-git-send-email-jfehlig@suse.com>

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@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 */
+            return 64 * 1024;
+        }
+    }
+
     return 0;
 }
 
-- 
1.8.4.5

  parent reply	other threads:[~2014-09-19 19:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-19 19:23 [PATCH 0/5] libxl: user-specified domain config improvements Jim Fehlig
2014-09-19 19:23 ` [PATCH 1/5] libxl: Copy user-specified keymap to libxl build info struct Jim Fehlig
2014-09-19 19:23 ` Jim Fehlig [this message]
2014-10-06  8:04   ` [libvirt] [PATCH 2/5] Xen: Defer setting default vram value to Xen drivers Michal Privoznik
2014-09-19 19:23 ` [PATCH 3/5] libxl: Add function to determine device model type Jim Fehlig
2014-09-19 19:23 ` [PATCH 4/5] libxl: Implement basic video device selection Jim Fehlig
2014-10-14  8:47   ` [libvirt] " John Ferlan
     [not found]   ` <543CE32F.8070407@redhat.com>
2014-10-16 19:16     ` Jim Fehlig
2014-09-19 19:23 ` [PATCH 5/5] libxl: Support user-specified <emulator> Jim Fehlig
2014-10-06  8:04   ` [libvirt] " Michal Privoznik
2014-10-06  8:03 ` [libvirt] [PATCH 0/5] libxl: user-specified domain config improvements Michal Privoznik
     [not found] ` <1411154594-14871-4-git-send-email-jfehlig@suse.com>
2014-10-06  8:04   ` [libvirt] [PATCH 3/5] libxl: Add function to determine device model type Michal Privoznik
     [not found]   ` <54324CF3.8050507@redhat.com>
2014-10-10 21:22     ` Jim Fehlig
     [not found] ` <54324CEE.5000505@redhat.com>
2014-10-10 21:23   ` [libvirt] [PATCH 0/5] libxl: user-specified domain config improvements Jim Fehlig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1411154594-14871-3-git-send-email-jfehlig@suse.com \
    --to=jfehlig@suse.com \
    --cc=libvir-list@redhat.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).