[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2] qxl: add io_port_to_string
From: |
Alon Levy |
Subject: |
[Qemu-devel] [PATCH v2] qxl: add io_port_to_string |
Date: |
Thu, 7 Jul 2011 18:50:47 +0200 |
---
hw/qxl.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/hw/qxl.c b/hw/qxl.c
index 9116c99..f3312f0 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -407,6 +407,65 @@ static const char *qxl_mode_to_string(int mode)
return "INVALID";
}
+static const char *io_port_to_string(uint32_t io_port)
+{
+ if (io_port >= QXL_IO_RANGE_SIZE) {
+ return "out of range";
+ }
+ switch(io_port) {
+ case QXL_IO_NOTIFY_CMD:
+ return "QXL_IO_NOTIFY_CMD";
+ case QXL_IO_NOTIFY_CURSOR:
+ return "QXL_IO_NOTIFY_CURSOR";
+ case QXL_IO_UPDATE_AREA:
+ return "QXL_IO_UPDATE_AREA";
+ case QXL_IO_UPDATE_IRQ:
+ return "QXL_IO_UPDATE_IRQ";
+ case QXL_IO_NOTIFY_OOM:
+ return "QXL_IO_NOTIFY_OOM";
+ case QXL_IO_RESET:
+ return "QXL_IO_RESET";
+ case QXL_IO_SET_MODE:
+ return "QXL_IO_SET_MODE";
+ case QXL_IO_LOG:
+ return "QXL_IO_LOG";
+ case QXL_IO_MEMSLOT_ADD:
+ return "QXL_IO_MEMSLOT_ADD";
+ case QXL_IO_MEMSLOT_DEL:
+ return "QXL_IO_MEMSLOT_DEL";
+ case QXL_IO_DETACH_PRIMARY:
+ return "QXL_IO_DETACH_PRIMARY";
+ case QXL_IO_ATTACH_PRIMARY:
+ return "QXL_IO_ATTACH_PRIMARY";
+ case QXL_IO_CREATE_PRIMARY:
+ return "QXL_IO_CREATE_PRIMARY";
+ case QXL_IO_DESTROY_PRIMARY:
+ return "QXL_IO_DESTROY_PRIMARY";
+ case QXL_IO_DESTROY_SURFACE_WAIT:
+ return "QXL_IO_DESTROY_SURFACE_WAIT";
+ case QXL_IO_DESTROY_ALL_SURFACES:
+ return "QXL_IO_DESTROY_ALL_SURFACES";
+ case QXL_IO_UPDATE_AREA_ASYNC:
+ return "QXL_IO_UPDATE_AREA_ASYNC";
+ case QXL_IO_MEMSLOT_ADD_ASYNC:
+ return "QXL_IO_MEMSLOT_ADD_ASYNC";
+ case QXL_IO_CREATE_PRIMARY_ASYNC:
+ return "QXL_IO_CREATE_PRIMARY_ASYNC";
+ case QXL_IO_DESTROY_PRIMARY_ASYNC:
+ return "QXL_IO_DESTROY_PRIMARY_ASYNC";
+ case QXL_IO_DESTROY_SURFACE_ASYNC:
+ return "QXL_IO_DESTROY_SURFACE_ASYNC";
+ case QXL_IO_DESTROY_ALL_SURFACES_ASYNC:
+ return "QXL_IO_DESTROY_ALL_SURFACES_ASYNC";
+ case QXL_IO_FLUSH_SURFACES_ASYNC:
+ return "QXL_IO_FLUSH_SURFACES_ASYNC";
+ case QXL_IO_FLUSH_RELEASE:
+ return "QXL_IO_FLUSH_RELEASE";
+ }
+ // not reached?
+ return "error in io_port_to_string";
+}
+
/* called from spice server thread context only */
static int interface_get_command(QXLInstance *sin, struct QXLCommandExt *ext)
{
@@ -997,7 +1056,8 @@ static void ioport_write(void *opaque, uint32_t addr,
uint32_t val)
default:
if (d->mode == QXL_MODE_NATIVE || d->mode == QXL_MODE_COMPAT)
break;
- dprint(d, 1, "%s: unexpected port 0x%x in vga mode\n", __FUNCTION__,
io_port);
+ dprint(d, 1, "%s: unexpected port 0x%x (%s) in vga mode\n",
+ __FUNCTION__, io_port, io_port_to_string(io_port));
return;
}
--
1.7.5.4
- [Qemu-devel] [PATCH v2] async + suspend reworked, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: use update_area_async in qxl-render, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: use QXL_REVISION_*, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: bump pci rev, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: only disallow specific io's in vga mode, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: make qxl_guest_bug take variable arguments, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: add QXL_IO_FLUSH_{SURFACES, RELEASE} for guest S3&S4 support, Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: error handling fixes and cleanups., Alon Levy, 2011/07/07
- [Qemu-devel] [PATCH v2] qxl: add io_port_to_string,
Alon Levy <=
- [Qemu-devel] [PATCH v2] qxl: async I/O, Alon Levy, 2011/07/07
[Qemu-devel] [PATCH v2] qxl: remove qxl_destroy_primary(), Alon Levy, 2011/07/07
[Qemu-devel] [PATCH v2] spice/qxl: move worker wrappers, Alon Levy, 2011/07/07
[Qemu-devel] [PATCH v2] qxl: fix surface tracking & locking, Alon Levy, 2011/07/07
[Qemu-devel] [PATCH v2] spice: add qemu_spice_display_init_common, Alon Levy, 2011/07/07