[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 2012-03-23 16:08, Julien Grall wrote:
> 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 ?

I haven't looked at details. Maybe it is just a combination of "use case
not yet considered, but can easily be added" and "need to switch legacy
code to new scheme". Then this still remains the better option than this
hook. Avi?

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.