[PATCH 0/7] AMD IOMMU emulation patchset v4

Eduard - Gabriel Munteanu
2010-08-28T14:56:46Z

Hi,

I rebased my work on mst's PCI tree and, hopefully, fixed issues raised by
others. Here's a summary of the changes:
- made it apply to mst/pci
- moved some AMD IOMMU stuff in a reset handler
- dropped range_covers_range() (wasn't the same as ranges_overlap(), but the
latter was better anyway)
- used 'expand' to remove tabs in pci_regs.h before applying the useful changes
- fixed the endianness mistake spotted by Blue (though ldq_phys wasn't needed)

As for Anthony's suggestion to simply sed-convert all devices, I'd rather go
through them one at a time and do it manually. 'sed' would not only mess
indentation, but also it isn't straightforward to get the 'PCIDevice *' you
need to pass to the pci_* helpers. (I'll try to focus on conversion next so we
can poison the old stuff.)

I also added (read "spelled it out myself") malc's ACK to the ac97 patch.
Nothing changed since his last review.

Please have a look and merge if you like it.

Thanks,
Eduard

Eduard - Gabriel Munteanu (7):
pci: expand tabs to spaces in pci_regs.h
pci: memory access API and IOMMU support
AMD IOMMU emulation
ide: use the PCI memory access interface
rtl8139: use the PCI memory access interface
eepro100: use the PCI memory access interface
ac97: use the PCI memory access interface

Makefile.target | 2 +-
dma-helpers.c | 46 ++-
dma.h | 21 +-
hw/ac97.c | 6 +-
hw/amd_iommu.c | 663 ++++++++++++++++++++++++++
hw/eepro100.c | 86 ++--
hw/ide/core.c | 15 +-
hw/ide/internal.h | 39 ++
hw/ide/macio.c | 4 +-
hw/ide/pci.c | 7 +
hw/pc.c | 2 +
hw/pci.c | 185 ++++++++-
hw/pci.h | 74 +++
hw/pci_ids.h | 2 +
hw/pci_internals.h | 12 +
hw/pci_regs.h | 1331 ++++++++++++++++++++++++++--------------------------
hw/rtl8139.c | 99 +++--
qemu-common.h | 1 +
18 files changed, 1827 insertions(+), 768 deletions(-)
create mode 100644 hw/amd_iommu.c
rewrite hw/pci_regs.h (90%)