qxl: add user-friendly bar size properties
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 17 Feb 2012 14:03:24 +0000 (15:03 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 21 Feb 2012 09:36:05 +0000 (10:36 +0100)
Add two properties to specify bar sizes in megabytes instead of bytes,
which is alot more user-friendly.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/qxl.c
hw/qxl.h

index 38bb90e..87ad49a 100644 (file)
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1557,11 +1557,17 @@ static DisplayChangeListener display_listener = {
 static void qxl_init_ramsize(PCIQXLDevice *qxl, uint32_t ram_min_mb)
 {
     /* vga ram (bar 0) */
+    if (qxl->ram_size_mb != -1) {
+        qxl->vga.vram_size = qxl->ram_size_mb * 1024 * 1024;
+    }
     if (qxl->vga.vram_size < ram_min_mb * 1024 * 1024) {
         qxl->vga.vram_size = ram_min_mb * 1024 * 1024;
     }
 
     /* vram (surfaces, bar 1) */
+    if (qxl->vram_size_mb != -1) {
+        qxl->vram_size = qxl->vram_size_mb * 1024 * 1024;
+    }
     if (qxl->vram_size < 4096) {
         qxl->vram_size = 4096;
     }
@@ -1860,6 +1866,8 @@ static Property qxl_properties[] = {
         DEFINE_PROP_UINT32("debug", PCIQXLDevice, debug, 0),
         DEFINE_PROP_UINT32("guestdebug", PCIQXLDevice, guestdebug, 0),
         DEFINE_PROP_UINT32("cmdlog", PCIQXLDevice, cmdlog, 0),
+        DEFINE_PROP_UINT32("ram_size_mb",  PCIQXLDevice, ram_size_mb, -1),
+        DEFINE_PROP_UINT32("vram_size_mb", PCIQXLDevice, vram_size_mb, -1),
         DEFINE_PROP_END_OF_LIST(),
 };
 
index 766aa6d..d062991 100644 (file)
--- a/hw/qxl.h
+++ b/hw/qxl.h
@@ -89,6 +89,10 @@ typedef struct PCIQXLDevice {
 
     /* io bar */
     MemoryRegion       io_bar;
+
+    /* user-friendly properties (in megabytes) */
+    uint32_t          ram_size_mb;
+    uint32_t          vram_size_mb;
 } PCIQXLDevice;
 
 #define PANIC_ON(x) if ((x)) {                         \