Jan Kiszka a écrit :
On 2013-06-17 22:39, Hervé Poussineau wrote:
Jan Kiszka a écrit :
On 2013-06-17 09:32, Paolo Bonzini wrote:
Il 16/06/2013 20:20, Hervé Poussineau ha scritto:
Hervé Poussineau a écrit :
These proposed patches aim at removing the .old_portio member of
MemoryRegionOps structure, and replacing their usage by .read/.write
handlers.
Ping.
Jan has patches that do something similar, so I was hoping he'd look at it.
Jan, are you back from vacation? :)
Yes, and that is the problem. ;)
>From a quick glance, I'm a bit skeptical, Hervé, that your patches are
addressing all corner cases like mine. Did you see
http://thread.gmane.org/gmane.comp.emulators.qemu/210188?
Jan
My patches are less intrusive than yours, because they are probably less
complex. They don't change subpage handling, they don't remove the
register_ioport_*, and they don't move ioport handling to memory core.
However, my patches do not add a new base address field in MemoryRegion,
and also simplify cpu_in/out to be simply a call to
address_space_read/write (like yours).
I don't really care whatever way is chosen. I'm only interested to be
able to put I/O address space into memory space, so I can improve PReP
emulation.
Refactorings like the subpage changes are required to break up the BQL
also for PIO dispatching. So we need the complete rework. But, of
course, I'm open for improvement suggestions.
I'm planning to rebase my series on top of Paolo's changes soon and will
then post. Would you mind rebasing what you need additionally on top of
that?
Not a problem.
Moreover, with your patches, if devices registering ports with portio_*
functions can be added in the system memory address space, it will be
enough for me, and I'll happily drop my patches.
Hervé