summary refs log tree commit diff stats
path: root/hw/display/qxl.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2013-03-19 16:59:58 +0100
committerGerd Hoffmann <kraxel@redhat.com>2013-04-16 09:26:21 +0200
commitbfe528b9b99d52693a55f2b803039d68a97bcfb2 (patch)
treea9be53ab78ce943853439cc0ce4897aa7f0729dd /hw/display/qxl.c
parent9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe (diff)
downloadfocaccia-qemu-bfe528b9b99d52693a55f2b803039d68a97bcfb2.tar.gz
focaccia-qemu-bfe528b9b99d52693a55f2b803039d68a97bcfb2.zip
qxl: register QemuConsole for secondary cards
Hook secondary qxl cards properly into the qemu console subsystem.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/qxl.c')
-rw-r--r--hw/display/qxl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index bbc6f56a0d..437f8d0eee 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -1769,7 +1769,10 @@ static void qxl_hw_invalidate(void *opaque)
     PCIQXLDevice *qxl = opaque;
     VGACommonState *vga = &qxl->vga;
 
-    vga->hw_ops->invalidate(vga);
+    if (qxl->mode == QXL_MODE_VGA) {
+        vga->hw_ops->invalidate(vga);
+        return;
+    }
 }
 
 static void qxl_hw_text_update(void *opaque, console_ch_t *chardata)
@@ -2085,6 +2088,7 @@ static int qxl_init_secondary(PCIDevice *dev)
     memory_region_init_ram(&qxl->vga.vram, "qxl.vgavram", qxl->vga.vram_size);
     vmstate_register_ram(&qxl->vga.vram, &qxl->pci.qdev);
     qxl->vga.vram_ptr = memory_region_get_ram_ptr(&qxl->vga.vram);
+    qxl->vga.con = graphic_console_init(&qxl_ops, qxl);
 
     return qxl_init_common(qxl);
 }