[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 00/39] Memory API, batch 2: PCI devices
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v4 00/39] Memory API, batch 2: PCI devices |
Date: |
Mon, 8 Aug 2011 18:16:46 +0300 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Aug 08, 2011 at 04:08:53PM +0300, Avi Kivity wrote:
> This is a mostly mindless conversion of all QEMU PCI devices to the memory
> API.
> After this patchset is applied, it is no longer possible to create a PCI
> device
> using the old API.
>
> An immediate benefit is that PCI BARs that overlap each other are now handled
> correctly: currently, the sequence
>
> map BAR 0
> map BAR 1 at an overlapping address
> unmap either BAR 0 or BAR 1
>
> will leave a hole where the overlap exists. With the patchset, the memory map
> is restored correctly.
>
> Note that overlaps of PCI BARs with memory or non-PCI resources are still not
> resolved correctly; this will be fixed later on.
>
> The vga patches have ugly intermediate states; however the result is fairly
> clean.
>
> Changes from v3:
> - dropped virtio-pci config patch; will be fixed outside this patchset if
> necessary
> - minor style fixes
>
> Changes from v2:
> - added patch from Michael simplifying virtio-pci config setup
>
> Changes from v1:
> - cmd646 type fix
> - folded a fixlet into its parent
For the series:
Acked-by: Michael S. Tsirkin <address@hidden>
> Avi Kivity (39):
> memory: rename PORTIO_END to PORTIO_END_OF_LIST
> pci: add API to get a BAR's mapped address
> vmsvga: don't remember pci BAR address in callback any more
> vga: convert vga and its derivatives to the memory API
> cirrus: simplify mmio BAR access functions
> cirrus: simplify bitblt BAR access functions
> cirrus: simplify vga window mmio access functions
> vga: simplify vga window mmio access functions
> cirrus: simplify linear framebuffer access functions
> Integrate I/O memory regions into qemu
> pci: pass I/O address space to new PCI bus
> pci: allow I/O BARs to be registered with pci_register_bar_region()
> rtl8139: convert to memory API
> ac97: convert to memory API
> e1000: convert to memory API
> eepro100: convert to memory API
> es1370: convert to memory API
> ide: convert to memory API
> ivshmem: convert to memory API
> virtio-pci: convert to memory API
> ahci: convert to memory API
> intel-hda: convert to memory API
> lsi53c895a: convert to memory API
> ppc: convert to memory API
> ne2000: convert to memory API
> pcnet: convert to memory API
> i6300esb: convert to memory API
> isa-mmio: convert to memory API
> sun4u: convert to memory API
> ehci: convert to memory API
> uhci: convert to memory API
> xen-platform: convert to memory API
> msix: convert to memory API
> pci: remove pci_register_bar_simple()
> pci: convert pci rom to memory API
> pci: remove pci_register_bar()
> pci: fold BAR mapping function into its caller
> pci: rename pci_register_bar_region() to pci_register_bar()
> pci: remove support for pre memory API BARs
>
> exec-memory.h | 5 +
> exec.c | 10 ++
> hw/ac97.c | 88 ++++++-----
> hw/apb_pci.c | 1 +
> hw/bonito.c | 1 +
> hw/cirrus_vga.c | 459 ++++++++++++++++-----------------------------------
> hw/cuda.c | 6 +-
> hw/e1000.c | 113 ++++++--------
> hw/eepro100.c | 181 ++++-----------------
> hw/es1370.c | 43 +++--
> hw/escc.c | 42 +++---
> hw/escc.h | 2 +-
> hw/grackle_pci.c | 8 +-
> hw/gt64xxx.c | 4 +-
> hw/heathrow_pic.c | 29 ++--
> hw/ide.h | 2 +-
> hw/ide/ahci.c | 31 ++--
> hw/ide/ahci.h | 2 +-
> hw/ide/cmd646.c | 204 +++++++++++++++---------
> hw/ide/ich.c | 3 +-
> hw/ide/macio.c | 36 +++--
> hw/ide/pci.c | 25 ++--
> hw/ide/pci.h | 19 ++-
> hw/ide/piix.c | 63 ++++++--
> hw/ide/via.c | 64 ++++++--
> hw/intel-hda.c | 35 +++--
> hw/isa.h | 2 +
> hw/isa_mmio.c | 29 ++--
> hw/ivshmem.c | 158 +++++++------------
> hw/lance.c | 31 ++--
> hw/lsi53c895a.c | 257 +++++++-----------------------
> hw/mac_dbdma.c | 32 ++--
> hw/mac_dbdma.h | 4 +-
> hw/mac_nvram.c | 39 ++---
> hw/macio.c | 73 ++++-----
> hw/msix.c | 64 +++-----
> hw/msix.h | 6 +-
> hw/ne2000-isa.c | 13 +--
> hw/ne2000.c | 77 ++++++---
> hw/ne2000.h | 8 +-
> hw/openpic.c | 81 +++++-----
> hw/openpic.h | 2 +-
> hw/pc.h | 4 +-
> hw/pc_piix.c | 6 +-
> hw/pci.c | 133 +++++-----------
> hw/pci.h | 26 ++--
> hw/pci_internals.h | 3 +-
> hw/pcnet-pci.c | 74 +++++----
> hw/pcnet.h | 4 +-
> hw/piix_pci.c | 14 +-
> hw/ppc4xx_pci.c | 1 +
> hw/ppc_mac.h | 27 ++--
> hw/ppc_newworld.c | 34 ++--
> hw/ppc_oldworld.c | 27 ++--
> hw/ppc_prep.c | 2 +-
> hw/ppce500_pci.c | 7 +-
> hw/prep_pci.c | 8 +-
> hw/prep_pci.h | 4 +-
> hw/qxl-render.c | 2 +-
> hw/qxl.c | 129 ++++++----------
> hw/qxl.h | 6 +-
> hw/rtl8139.c | 70 ++++----
> hw/sh_pci.c | 4 +-
> hw/sun4u.c | 53 +++----
> hw/unin_pci.c | 16 ++-
> hw/usb-ehci.c | 36 +---
> hw/usb-ohci.c | 2 +-
> hw/usb-uhci.c | 41 +++--
> hw/versatile_pci.c | 2 +-
> hw/vga-isa-mm.c | 46 ++++--
> hw/vga-isa.c | 10 +-
> hw/vga-pci.c | 27 +---
> hw/vga.c | 178 +++++++-------------
> hw/vga_int.h | 18 +--
> hw/virtio-pci.c | 86 ++++------
> hw/virtio-pci.h | 3 +-
> hw/vmware_vga.c | 153 +++++++++---------
> hw/wdt_i6300esb.c | 43 ++++--
> hw/xen_platform.c | 82 ++++++----
> memory.h | 2 +-
> 80 files changed, 1650 insertions(+), 2085 deletions(-)
>
> --
> 1.7.5.3
- [Qemu-devel] [PATCH v4 18/39] ide: convert to memory API, (continued)
- [Qemu-devel] [PATCH v4 18/39] ide: convert to memory API, Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 06/39] cirrus: simplify bitblt BAR access functions, Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 24/39] ppc: convert to memory API, Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 20/39] virtio-pci: convert to memory API, Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 38/39] pci: rename pci_register_bar_region() to pci_register_bar(), Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 39/39] pci: remove support for pre memory API BARs, Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 28/39] isa-mmio: convert to memory API, Avi Kivity, 2011/08/08
- [Qemu-devel] [PATCH v4 07/39] cirrus: simplify vga window mmio access functions, Avi Kivity, 2011/08/08
- Re: [Qemu-devel] [PATCH v4 00/39] Memory API, batch 2: PCI devices,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PATCH v4 00/39] Memory API, batch 2: PCI devices, Anthony Liguori, 2011/08/08