On 2012-08-22 14:27, Julien Grall wrote: > This is the fifth version of patch series about ioport registration. > The fourth version was sent few months ago > (https://lists.gnu.org/archive/html/qemu-devel/2012-04/msg01396.html). > > Some part of QEMU still use register_ioport* functions to register ioport. > These functions doesn't allow to use Memory Listener on it. > > Modifications between V1 and V2: > - Remove the use of get_system_io. Instead of use isa and pci IO > address space. > - Avoid allocation of PortioList. Use the different device > structure. > - Still remove register_ioport* (hw/dma.c, hw/apm.c, > hw/acpi_piix4.c). > - Use MemoryRegion when we have only a range of ioport. > - For some functions, add IO address space as > argument. > - Add isa_address_space_io function > > Modifications between V2 and V3: > - Remove some register_ioport_* on hw/vt82c686.c. > - Split smb ioport part in new patch. > - Still replace MemoryRegion when we have only a range of ioport. > - Fix read/write ioports prototype to be compliant with memory callback. > > Modifications between V3 and V4: > - Fix compilation in hw/dma.c > - Fix address conversion (hw/dma.c, hw/acpi_piix4.c) with MemorySection. > Indeed the new version use offset from MemorySection start instead of 0. > > Modifications between V4 and V4: > - Rebase on qemu upstream. > - Forget some ioport_register_* in acpi_piix4.c. > - Register 0x3b0 - 0x3df range for cirrus instead of ioport by ioport. > > Julien Grall (8): > isa: add isa_address_space_io > hw/acpi_piix4.c: replace register_ioport* > hw/cirrus_vga.c: replace register_ioport* > hw/serial.c: replace register_ioport* > hw/pc.c: replace register_ioport* > hw/dma.c: replace register_ioport* > hw/apm.c: replace register_ioport* > smb: replace_register_ioport* > > hw/acpi_piix4.c | 160 > +++++++++++++++++++++++++++++++++++++++++------------ > hw/apm.c | 24 ++++++-- > hw/apm.h | 5 +- > hw/cirrus_vga.c | 42 ++++++++------ > hw/dma.c | 108 ++++++++++++++++++++++++------------ > hw/isa-bus.c | 5 ++ > hw/isa.h | 1 + > hw/mips_mipssim.c | 3 +- > hw/pc.c | 58 ++++++++++++++----- > hw/pc.h | 2 +- > hw/pm_smbus.c | 7 +- > hw/pm_smbus.h | 6 +- > hw/serial.c | 8 ++- > hw/vt82c686.c | 20 ++++++- > 14 files changed, 325 insertions(+), 124 deletions(-) >
Nice, only few users of register_ioport_read/write remaining after this. Hope we can drop those functions soon. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux