[Qemu-devel] [PATCH v2] qxl: add io_port_to_string

2011-07-07 Thread Alon Levy
---
 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] qxl: add io_port_to_string

2011-06-24 Thread Alon Levy
---
 hw/qxl.c |   64 +-
 1 files changed, 63 insertions(+), 1 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index 3d5c823..b4bc376 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -350,6 +350,67 @@ 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_NOTIFY_OOM_ASYNC:
+return QXL_IO_NOTIFY_OOM_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:
+return QXL_IO_FLUSH_SURFACES;
+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)
 {
@@ -1009,7 +1070,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));
 /* be nice to buggy guest drivers */
 if (io_port = QXL_IO_UPDATE_AREA_ASYNC 
 io_port = QXL_IO_DESTROY_ALL_SURFACES_ASYNC) {
-- 
1.7.5.4