From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEOn3-0006QB-OG for qemu-devel@nongnu.org; Wed, 19 Sep 2012 14:14:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TEOmx-000099-MC for qemu-devel@nongnu.org; Wed, 19 Sep 2012 14:14:25 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:18669) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEOmx-00008v-HX for qemu-devel@nongnu.org; Wed, 19 Sep 2012 14:14:19 -0400 From: Julien Grall Date: Wed, 19 Sep 2012 12:50:01 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH V10 0/8] memory: unify ioport registration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: jan.kiszka@siemens.com, avi@redhat.com Cc: Julien Grall , Stefano.Stabellini@eu.citrix.com, qemu-devel@nongnu.org, afaerber@suse.de, kraxel@redhat.com This is the tenth version of patch series about ioport registration. 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 V5: - Rebase on qemu upstream; - Forget some ioport_register_* in acpi_piix4.c; - Register 0x3b0 - 0x3df range for cirrus instead of ioport by ioport. Modifications between V5 and V6: - Add read function on cirrus ioport (forget on the previous patch); - Rework PM memory range handling; - Fix PCI_BASE in acpi_piix4.c (wrong conversion during port); - Rewrite isa_address_space_io to use ISA bus address space; - Fix compilation in vt82c686.c. Modifications between V6 and V7: - acpi_piix4: use memory_region_set_enabled instead of a boolean. I'm not sure about this modification (adviced by Avi); - Fix device endianness in acpi_piix4 (reported by Avi); - Avoid dependencies between patches and reorder it (reported by Jan). Some code moved from acpi_piix4 patch to smb/apm patches; Modifications between V7 and V8: - Fix device endianness in smb patch, I forgot some on previous version; - Register pm io region at initialization with default value instead of at first call to pm_io_space_update (reported by Jan). Modifications between V8 and V9: - Fix size constraint in pm_io_ops (reported by Jan). Modifications between V9 and V10: - Fix compile error with format string in hw/dma.c; - Rebase on master as hw/pc.c and hw/cirrus_vga.c was modified. Julien Grall (8): isa: add isa_address_space_io hw/apm.c: replace register_ioport* smb: replace_register_ioport* 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/acpi_piix4.c | 174 ++++++++++++++++++++++++++++++++++++++++------------- hw/apm.c | 24 ++++++-- hw/apm.h | 5 +- hw/cirrus_vga.c | 48 +++++++++------ hw/dma.c | 108 ++++++++++++++++++++++----------- hw/isa-bus.c | 9 +++ hw/isa.h | 1 + hw/mips_mipssim.c | 3 +- hw/pc.c | 49 ++++++++++++--- 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, 339 insertions(+), 125 deletions(-) -- Julien Grall