qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/39] Memory API, batch 2: PCI devices


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v3 00/39] Memory API, batch 2: PCI devices
Date: Fri, 05 Aug 2011 10:34:43 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 08/04/2011 08:05 AM, 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.

This patchset should be merged after

   memory: synchronize dirty bitmap before unmapping a range
   memory: use signed arithmetic

I'll merge these two patches ASAP btw.

The whole series is awesome. The mechanical patches are simple enough that it was taking longer to write the response than to review them so for anything I haven't explicitly responded to,

Reviewed-by: Anthony Liguori <address@hidden>

Once you update the few cosmetic issues and correct the virtio patch, I'll apply this series.

Regards,

Anthony Liguori


though there's no hard dependency.

Changes from v2:
  - added patch from Michael simplifying virtio-pci config setup

Changes from v1:
  - cmd646 type fix
  - folded a fixlet into its parent

Avi Kivity (38):
   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: concert 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

Michael S. Tsirkin (1):
   virtio-pci: get config on init

  exec-memory.h      |    2 +
  exec.c             |   10 ++
  hw/ac97.c          |   88 ++++++-----
  hw/apb_pci.c       |    1 +
  hw/bonito.c        |    1 +
  hw/cirrus_vga.c    |  458 ++++++++++++++++-----------------------------------
  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      |   30 ++--
  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    |   14 +--
  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    |   45 ++++--
  hw/vga-isa.c       |   11 +-
  hw/vga-pci.c       |   27 +---
  hw/vga.c           |  179 ++++++++-------------
  hw/vga_int.h       |   18 +--
  hw/virtio-pci.c    |   93 +++++------
  hw/virtio-pci.h    |    3 +-
  hw/vmware_vga.c    |  153 +++++++++---------
  hw/wdt_i6300esb.c  |   43 ++++--
  hw/xen_platform.c  |   83 ++++++----
  79 files changed, 1658 insertions(+), 2082 deletions(-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]