Messages in this thread Patch in this message | | | From | Alexey Kardashevskiy <> | Subject | [PATCH] iommu: adding missing kvm_iommu_map_pages/kvm_iommu_unmap_pages | Date | Mon, 11 Feb 2013 16:09:02 +1100 |
| |
The IOMMU API implements groups creating/deletion, device binding and IOMMU map/unmap operations.
The POWERPC implementation uses most of the API except map/unmap operations which are implemented on POWERPC using hypercalls.
However in order to link a kernel with the CONFIG_IOMMU_API enabled, the empty kvm_iommu_map_pages/kvm_iommu_unmap_pages have to be defined, so does the patch.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Cc: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/kernel/iommu.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 31c4fdc..7c309fe 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c @@ -36,6 +36,7 @@ #include <linux/hash.h> #include <linux/fault-inject.h> #include <linux/pci.h> +#include <linux/kvm_host.h> #include <asm/io.h> #include <asm/prom.h> #include <asm/iommu.h> @@ -860,3 +861,19 @@ void iommu_free_coherent(struct iommu_table *tbl, size_t size, free_pages((unsigned long)vaddr, get_order(size)); } } + +#ifdef CONFIG_IOMMU_API +/* + * SPAPR TCE API + */ + +/* POWERPC does not use IOMMU API for mapping/unmapping */ +int kvm_iommu_map_pages(struct kvm *kvm, struct kvm_memory_slot *slot) +{ + return 0; +} +void kvm_iommu_unmap_pages(struct kvm *kvm, struct kvm_memory_slot *slot) +{ +} + +#endif /* CONFIG_IOMMU_API */ -- 1.7.10.4
| |