[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 05/11] qxl: add io_port_to_string
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 05/11] qxl: add io_port_to_string |
Date: |
Wed, 3 Aug 2011 12:37:40 +0200 |
From: Alon Levy <address@hidden>
Signed-off-by: Alon Levy <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/qxl.c | 40 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/hw/qxl.c b/hw/qxl.c
index 416bd48..6e66021 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -409,6 +409,43 @@ 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";
+ }
+ static const char *io_port_to_string[QXL_IO_RANGE_SIZE + 1] = {
+ [QXL_IO_NOTIFY_CMD] = "QXL_IO_NOTIFY_CMD",
+ [QXL_IO_NOTIFY_CURSOR] = "QXL_IO_NOTIFY_CURSOR",
+ [QXL_IO_UPDATE_AREA] = "QXL_IO_UPDATE_AREA",
+ [QXL_IO_UPDATE_IRQ] = "QXL_IO_UPDATE_IRQ",
+ [QXL_IO_NOTIFY_OOM] = "QXL_IO_NOTIFY_OOM",
+ [QXL_IO_RESET] = "QXL_IO_RESET",
+ [QXL_IO_SET_MODE] = "QXL_IO_SET_MODE",
+ [QXL_IO_LOG] = "QXL_IO_LOG",
+ [QXL_IO_MEMSLOT_ADD] = "QXL_IO_MEMSLOT_ADD",
+ [QXL_IO_MEMSLOT_DEL] = "QXL_IO_MEMSLOT_DEL",
+ [QXL_IO_DETACH_PRIMARY] = "QXL_IO_DETACH_PRIMARY",
+ [QXL_IO_ATTACH_PRIMARY] = "QXL_IO_ATTACH_PRIMARY",
+ [QXL_IO_CREATE_PRIMARY] = "QXL_IO_CREATE_PRIMARY",
+ [QXL_IO_DESTROY_PRIMARY] = "QXL_IO_DESTROY_PRIMARY",
+ [QXL_IO_DESTROY_SURFACE_WAIT] = "QXL_IO_DESTROY_SURFACE_WAIT",
+ [QXL_IO_DESTROY_ALL_SURFACES] = "QXL_IO_DESTROY_ALL_SURFACES",
+#if SPICE_INTERFACE_QXL_MINOR >= 1
+ [QXL_IO_UPDATE_AREA_ASYNC] = "QXL_IO_UPDATE_AREA_ASYNC",
+ [QXL_IO_MEMSLOT_ADD_ASYNC] = "QXL_IO_MEMSLOT_ADD_ASYNC",
+ [QXL_IO_CREATE_PRIMARY_ASYNC] = "QXL_IO_CREATE_PRIMARY_ASYNC",
+ [QXL_IO_DESTROY_PRIMARY_ASYNC] = "QXL_IO_DESTROY_PRIMARY_ASYNC",
+ [QXL_IO_DESTROY_SURFACE_ASYNC] = "QXL_IO_DESTROY_SURFACE_ASYNC",
+ [QXL_IO_DESTROY_ALL_SURFACES_ASYNC]
+ = "QXL_IO_DESTROY_ALL_SURFACES_ASYNC",
+ [QXL_IO_FLUSH_SURFACES_ASYNC] = "QXL_IO_FLUSH_SURFACES_ASYNC",
+ [QXL_IO_FLUSH_RELEASE] = "QXL_IO_FLUSH_RELEASE",
+#endif
+ };
+ return io_port_to_string[io_port];
+}
+
/* called from spice server thread context only */
static int interface_get_command(QXLInstance *sin, struct QXLCommandExt *ext)
{
@@ -1005,7 +1042,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",
+ __func__, io_port, io_port_to_string(io_port));
return;
}
--
1.7.1
- [Qemu-devel] [PULL] spice: async i/o for qxl, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 02/11] spice: add qemu_spice_display_init_common, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 04/11] qxl: fix surface tracking & locking, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 01/11] spice: add worker wrapper functions., Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 08/11] qxl: only disallow specific io's in vga mode, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 06/11] qxl: error handling fixes and cleanups., Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 07/11] qxl: make qxl_guest_bug take variable arguments, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 03/11] spice/qxl: move worker wrappers, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 05/11] qxl: add io_port_to_string,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 10/11] qxl: add QXL_IO_FLUSH_{SURFACES, RELEASE} for guest S3&S4 support, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 11/11] qxl: bump pci rev, Gerd Hoffmann, 2011/08/03
- [Qemu-devel] [PATCH 09/11] qxl: async io support using new spice api, Gerd Hoffmann, 2011/08/03
- Re: [Qemu-devel] [PULL] spice: async i/o for qxl, Anthony Liguori, 2011/08/04