[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook |
Date: |
Fri, 23 Mar 2012 17:37:20 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
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
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [QEMU][RFC PATCH 0/6] QEMU disaggregation, Julien Grall, 2012/03/22
- [Qemu-devel] [QEMU][RFC PATCH 6/6] xen: handle qemu disaggregation, Julien Grall, 2012/03/22
- [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Julien Grall, 2012/03/22
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Jan Kiszka, 2012/03/22
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Julien Grall, 2012/03/23
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook,
Jan Kiszka <=
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Avi Kivity, 2012/03/25
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Stefano Stabellini, 2012/03/26
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Avi Kivity, 2012/03/26
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Julien Grall, 2012/03/26
- Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Avi Kivity, 2012/03/26
Re: [Qemu-devel] [QEMU][RFC PATCH 3/6] memory: Add xen memory hook, Anthony Liguori, 2012/03/23
[Qemu-devel] [QEMU][RFC PATCH 1/6] option: Add -xen-dmid, Julien Grall, 2012/03/22
[Qemu-devel] [QEMU][RFC PATCH 4/6] xen-pci: Register PCI in Xen, Julien Grall, 2012/03/22