This is the fourth version of patch series about ioport registration. For the moment some part of QEMU use register_ioport* functions to register ioport. These functions don't permit the logging of range with Memory Listener.
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. 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 | 168 ++++++++++++++++++++++++++++++++++++++++------------- hw/apm.c | 24 ++++++-- hw/apm.h | 5 +- hw/cirrus_vga.c | 38 +++++++----- 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, 326 insertions(+), 127 deletions(-) -- Julien Grall