qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 0/7] AMD IOMMU emulation patchset
@ 2010-07-14  5:45 Eduard - Gabriel Munteanu
  2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 1/7] Generic IOMMU layer Eduard - Gabriel Munteanu
                   ` (6 more replies)
  0 siblings, 7 replies; 42+ messages in thread
From: Eduard - Gabriel Munteanu @ 2010-07-14  5:45 UTC (permalink / raw)
  To: joro; +Cc: qemu-devel, Eduard - Gabriel Munteanu, avi, kvm, paul

Hi everybody,

This is my work on the AMD IOMMU emulation project. I've put this, along
with the SeaBIOS patches (which you need to test), in my Git repos here:

http://repo.or.cz/w/qemu-kvm/amd-iommu.git
http://repo.or.cz/w/seabios/amd-iommu.git

While it works for Linux guests (didn't try anything else), it's not yet
complete. But the ported devices work, and so may others that either
don't do DMA (VGA for example) or they're not on a PCI bus.

Passing devices from a guest to a nested guest also works. It seems no
modifications were needed for that (well, except getting a host kernel
on which nested SVM works right ;), and I'd recommend 2.6.34.1), but I
only tested with the rtl8139. Will test soon with a doubly nested guest
to cover that scenario as well, along with testing other emulated hw.

I'd like your opinions on this. Perhaps you could test it and report if
you find any issues. Some things aren't done/complete yet:
- fixing the theoretical AIO issue, but it's not a priority right now
- actually testing that access checking works (should inject faults)
- implementing skipped translation levels
- a translation cache might be a good idea
- implementing features not used by Linux (e.g. interrupt remapping)

That being said, any feedback is welcome.


	Thanks,
	Eduard

P.S.: I'd also like to thank Paul Brook for his help on figuring out
some aspects of the IOMMU layer.


Eduard - Gabriel Munteanu (7):
  Generic IOMMU layer
  AMD IOMMU emulation
  pci: call IOMMU hooks
  ide: IOMMU support
  rtl8139: IOMMU support
  eepro100: IOMMU support
  ac97: IOMMU support

 Makefile.target |    3 +
 configure       |   11 +
 hw/ac97.c       |   20 ++-
 hw/amd_iommu.c  |  621 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/eepro100.c   |  141 +++++++++----
 hw/ide/core.c   |   46 +++--
 hw/iommu.c      |   82 ++++++++
 hw/iommu.h      |  260 +++++++++++++++++++++++
 hw/pc.c         |    4 +
 hw/pc.h         |    3 +
 hw/pci.c        |   21 ++
 hw/pci_ids.h    |    2 +
 hw/pci_regs.h   |    1 +
 hw/qdev.h       |    6 +
 hw/rtl8139.c    |   98 ++++++----
 15 files changed, 1225 insertions(+), 94 deletions(-)
 create mode 100644 hw/amd_iommu.c
 create mode 100644 hw/iommu.c
 create mode 100644 hw/iommu.h

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2010-07-15 17:42 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-14  5:45 [Qemu-devel] [RFC PATCH 0/7] AMD IOMMU emulation patchset Eduard - Gabriel Munteanu
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 1/7] Generic IOMMU layer Eduard - Gabriel Munteanu
2010-07-14  6:07   ` malc
2010-07-14 22:47     ` Eduard - Gabriel Munteanu
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 2/7] AMD IOMMU emulation Eduard - Gabriel Munteanu
2010-07-14 20:16   ` Paul Brook
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 3/7] pci: call IOMMU hooks Eduard - Gabriel Munteanu
2010-07-14  7:37   ` Isaku Yamahata
2010-07-14 22:50     ` Eduard - Gabriel Munteanu
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 4/7] ide: IOMMU support Eduard - Gabriel Munteanu
2010-07-14 13:53   ` [Qemu-devel] " Paul Brook
2010-07-14 18:33     ` Joerg Roedel
2010-07-14 20:13       ` Paul Brook
2010-07-14 21:29         ` Anthony Liguori
2010-07-14 22:24           ` Chris Wright
2010-07-15 10:28             ` Paul Brook
2010-07-15 16:52               ` Chris Wright
2010-07-15 17:02                 ` Avi Kivity
2010-07-15 17:17                   ` Chris Wright
2010-07-15 17:22                     ` Avi Kivity
2010-07-15 17:25                       ` Chris Wright
2010-07-15 17:27                     ` Eduard - Gabriel Munteanu
2010-07-15 17:22                   ` Joerg Roedel
2010-07-15 17:14                 ` Chris Wright
2010-07-15  9:10           ` Joerg Roedel
2010-07-15 12:45             ` Anthony Liguori
2010-07-15 14:45               ` Joerg Roedel
2010-07-15 16:45               ` Eduard - Gabriel Munteanu
2010-07-15 17:42                 ` Anthony Liguori
2010-07-15 10:33           ` Paul Brook
2010-07-15 12:42             ` Anthony Liguori
2010-07-15 14:02               ` Paul Brook
2010-07-14 23:39         ` Eduard - Gabriel Munteanu
2010-07-15  9:22         ` Joerg Roedel
2010-07-15 10:49           ` Paul Brook
2010-07-15 14:59             ` Joerg Roedel
2010-07-14 23:11     ` Eduard - Gabriel Munteanu
2010-07-15 10:58       ` Paul Brook
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 5/7] rtl8139: " Eduard - Gabriel Munteanu
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 6/7] eepro100: " Eduard - Gabriel Munteanu
2010-07-14  5:45 ` [Qemu-devel] [RFC PATCH 7/7] ac97: " Eduard - Gabriel Munteanu
2010-07-14  6:09   ` malc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).