Messages in this thread |  | | | From | Joerg Roedel <> | | Subject | [PATCH 0/11] Factor VT-d KVM functions into a generic API | | Date | Thu, 4 Dec 2008 18:28:45 +0100 |
| |
This patch series makes the current KVM device passthrough code generic enough so that other IOMMU implementation can also plug into this code. It works by factoring the functions Vt-d code exports to KVM into a generic interface which allows different backends.
This is the third version of the patchset. I rebased these patches onto the 13-patches post of Han Weidongs multiple device assignment work and included changes to the commit-messages according the comments I got from the review.
This a basic implementation of a generic interface. It can and should be improved later to support more types of hardware IOMMUs then VT-d and AMD IOMMU.
Since I have no VT-d hardware available these patches are only compile tested for now.
Please review, comment and test these patches.
Thanks,
Joerg
diffstat: arch/ia64/Kconfig | 3 + arch/ia64/include/asm/kvm_host.h | 2 +- arch/ia64/kvm/Makefile | 4 +- arch/ia64/kvm/kvm-ia64.c | 3 +- arch/x86/Kconfig | 3 + arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/Makefile | 4 +- arch/x86/kvm/x86.c | 3 +- drivers/base/Makefile | 1 + drivers/base/iommu.c | 100 +++++++++++++++++++++++++++++++ drivers/pci/intel-iommu.c | 121 ++++++++++++++++++++++--------------- include/linux/intel-iommu.h | 21 ------- include/linux/iommu.h | 112 +++++++++++++++++++++++++++++++++++ include/linux/kvm_host.h | 6 +- virt/kvm/{vtd.c => iommu.c} | 45 +++++++-------- virt/kvm/kvm_main.c | 2 +- 16 files changed, 326 insertions(+), 106 deletions(-)
|  |