[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook
On 03/22/2012 05:44 PM, Jan Kiszka wrote: static void core_region_nop(MemoryListener *listener, diff --git a/ioport.c b/ioport.c index 78a3b89..073ed75 100644 --- a/ioport.c +++ b/ioport.c @@ -28,6 +28,7 @@ #include "ioport.h" #include "trace.h" #include "memory.h" +#include "hw/xen.h" /***********************************************************/ /* IO Port */ @@ -155,6 +156,11 @@ int register_ioport_read(pio_addr_t start, int length, int size, i); ioport_opaque[i] = opaque; } + + if (xen_enabled()) { + xen_map_iorange(start, length, 0); + } + return 0; } @@ -175,7 +181,13 @@ int register_ioport_write(pio_addr_t start, int length, int size, i); ioport_opaque[i] = opaque; } + + if (xen_enabled()) { + xen_map_iorange(start, length, 0); + } + return 0; + } static uint32_t ioport_readb_thunk(void *opaque, uint32_t addr) @@ -260,6 +272,11 @@ void isa_unassign_ioport(pio_addr_t start, int length) ioport_destructor_table[start](ioport_opaque[start]); ioport_destructor_table[start] = NULL; } + + if (xen_enabled()) { + xen_unmap_iorange(start, length, 0); + } + for(i = start; i< start + length; i++) { ioport_read_table[0][i] = NULL; ioport_read_table[1][i] = NULL;memory_listener_register(xen_hooks, system_io)? QEMU doesn't seem to call region_add/region_del for ioport. Moreover, some of ioport are directly register without using memory hook (for example cirrus vga). What is the best way to do it ? Even if that is not yet powerful enough, tuning the hooks is usually better than open-coding. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |