From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tj75t-0007G9-GI for qemu-devel@nongnu.org; Thu, 13 Dec 2012 06:36:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tj75s-0008DB-3e for qemu-devel@nongnu.org; Thu, 13 Dec 2012 06:36:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:11914) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tj75r-0008D7-RI for qemu-devel@nongnu.org; Thu, 13 Dec 2012 06:36:48 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qBDBakQ3000957 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 13 Dec 2012 06:36:47 -0500 From: Alon Levy Date: Thu, 13 Dec 2012 13:36:42 +0200 Message-Id: <1355398603-22186-1-git-send-email-alevy@redhat.com> In-Reply-To: <50C86E8B.5020705@redhat.com> References: <50C86E8B.5020705@redhat.com> Subject: [Qemu-devel] [PATCH 1/2] qxl: stop using non revision 4 rom fields for revision < 4 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kraxel@redhat.com Signed-off-by: Alon Levy --- 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