[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: |
Fri, 24 Jun 2011 15:02:54 +0200 |
---
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
- [Qemu-devel] [PATCH v2] qxl: interface_get_command: fix reported mode, (continued)
[Qemu-devel] [PATCH v2] qxl: abort on panic instead of exit, Alon Levy, 2011/06/24
[Qemu-devel] [PATCH v2] qxl-logger: add timestamp to command log, Alon Levy, 2011/06/24
[Qemu-devel] [PATCH v2] qxl: update and add debug prints, Alon Levy, 2011/06/24
[Qemu-devel] [PATCH v2] qxl: add dev id to guest prints, Alon Levy, 2011/06/24
[Qemu-devel] [PATCH v2] qxl: add io_port_to_string,
Alon Levy <=
[Qemu-devel] [PATCH v2] qxl: update revision to QXL_REVISION_STABLE_V10, Alon Levy, 2011/06/24
[Qemu-devel] [PATCH v2] qxl: add primary_created state, change mode lifetimes, Alon Levy, 2011/06/24
[Qemu-devel] [PATCH v2] qxl: add QXL_IO_FLUSH_{SURFACES, RELEASE} for guest S3&S4 support, Alon Levy, 2011/06/24