qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 1/2] qxl: stop using non revision 4 rom fields for r


From: Alon Levy
Subject: [Qemu-devel] [PATCH 1/2] qxl: stop using non revision 4 rom fields for revision < 4
Date: Thu, 13 Dec 2012 13:36:42 +0200

Signed-off-by: Alon Levy <address@hidden>
---
 hw/qxl.c     | 11 +++++++++++
 trace-events |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/hw/qxl.c b/hw/qxl.c
index 3f835b8..8611ee9 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -981,6 +981,12 @@ static void interface_set_client_capabilities(QXLInstance 
*sin,
 {
     PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
 
+    if (qxl->revision < 4) {
+        trace_qxl_set_client_capabilities_unsupported_by_revision(qxl->id,
+                                                              qxl->revision);
+        return;
+    }
+
     if (runstate_check(RUN_STATE_INMIGRATE) ||
         runstate_check(RUN_STATE_POSTMIGRATE)) {
         return;
@@ -1013,6 +1019,11 @@ static int interface_client_monitors_config(QXLInstance 
*sin,
     QXLRom *rom = memory_region_get_ram_ptr(&qxl->rom_bar);
     int i;
 
+    if (qxl->revision < 4) {
+        trace_qxl_client_monitors_config_unsupported_by_device(qxl->id,
+                                                               qxl->revision);
+        return 0;
+    }
     /*
      * Older windows drivers set int_mask to 0 when their ISR is called,
      * then later set it to ~0. So it doesn't relate to the actual interrupts
diff --git a/trace-events b/trace-events
index 6c6cbf1..7d9d62d 100644
--- a/trace-events
+++ b/trace-events
@@ -1006,8 +1006,10 @@ qxl_send_events_vm_stopped(int qid, uint32_t events) "%d 
%d"
 qxl_set_guest_bug(int qid) "%d"
 qxl_interrupt_client_monitors_config(int qid, int num_heads, void *heads) "%d 
%d %p"
 qxl_client_monitors_config_unsupported_by_guest(int qid, uint32_t int_mask, 
void *client_monitors_config) "%d %X %p"
+qxl_client_monitors_config_unsupported_by_device(int qid, int revision) "%d 
revision=%d"
 qxl_client_monitors_config_capped(int qid, int requested, int limit) "%d %d %d"
 qxl_client_monitors_config_crc(int qid, unsigned size, uint32_t crc32) "%d %u 
%u"
+qxl_set_client_capabilities_unsupported_by_revision(int qid, int revision) "%d 
revision=%d"
 
 # hw/qxl-render.c
 qxl_render_blit_guest_primary_initialized(void) ""
-- 
1.8.0.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]