summary refs log tree commit diff stats
path: root/hw/qxl.c
diff options
context:
space:
mode:
authorUri Lublin <uril@redhat.com>2012-05-10 16:24:53 +0300
committerGerd Hoffmann <kraxel@redhat.com>2012-05-14 10:22:18 +0200
commit3f6297b922622236f7d7a6c0ff85169e95cb6138 (patch)
tree16c03f9a78f27dd0d1deef744a40d1713e96dcfe /hw/qxl.c
parent94d1991445fa3582c042ee4e5b72606e2fc39cc2 (diff)
downloadfocaccia-qemu-3f6297b922622236f7d7a6c0ff85169e95cb6138.tar.gz
focaccia-qemu-3f6297b922622236f7d7a6c0ff85169e95cb6138.zip
qxl: set size of PCI IO BAR correctly (16) for revision 2
Also move it up into switch(qxl->revision) block

Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/qxl.c')
-rw-r--r--hw/qxl.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/hw/qxl.c b/hw/qxl.c
index 6c11e70049..3da3399934 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1746,13 +1746,16 @@ static int qxl_init_common(PCIQXLDevice *qxl)
     switch (qxl->revision) {
     case 1: /* spice 0.4 -- qxl-1 */
         pci_device_rev = QXL_REVISION_STABLE_V04;
+        io_size = 8;
         break;
     case 2: /* spice 0.6 -- qxl-2 */
         pci_device_rev = QXL_REVISION_STABLE_V06;
+        io_size = 16;
         break;
     case 3: /* qxl-3 */
     default:
         pci_device_rev = QXL_DEFAULT_REVISION;
+        io_size = msb_mask(QXL_IO_RANGE_SIZE * 2 - 1);
         break;
     }
 
@@ -1770,11 +1773,6 @@ static int qxl_init_common(PCIQXLDevice *qxl)
     memory_region_init_alias(&qxl->vram32_bar, "qxl.vram32", &qxl->vram_bar,
                              0, qxl->vram32_size);
 
-    io_size = msb_mask(QXL_IO_RANGE_SIZE * 2 - 1);
-    if (qxl->revision == 1) {
-        io_size = 8;
-    }
-
     memory_region_init_io(&qxl->io_bar, &qxl_io_ops, qxl,
                           "qxl-ioports", io_size);
     if (qxl->id == 0) {