This enables in-kernel acceleration of TCE hypercalls (H_PUT_TCE, H_PUT_TCE_INDIRECT, H_STUFF_TCE). This implements acceleration for both real and virtual modes.
This was made on top of both: [PATCH v1 00/16] powernv: vfio: Add Dynamic DMA windows (DDW) [PATCH v1 0/7] powerpc/iommu: kvm: Enable MultiTCE support Alexey Kardashevskiy (13): KVM: PPC: Account TCE pages in locked_vm KVM: PPC: Rework kvmppc_spapr_tce_table to support variable page size KVM: PPC: Enable IOMMU_API for KVM_BOOK3S_64 permanently KVM: PPC: Reserve KVM_CAP_SPAPR_TCE_VFIO capability number KVM: PPC: Reserve KVM_CAP_SPAPR_TCE_64 capability number KVM: PPC: Add @offset to kvmppc_spapr_tce_table KVM: PPC: Add support for 64bit TCE windows KVM: PPC: Add hugepage support for IOMMU in-kernel handling KVM: PPC: Add page_shift support for in-kernel H_PUT_TCE/etc handlers KVM: PPC: Fix kvmppc_gpa_to_hva_and_get() to return host physical address KVM: PPC: Associate IOMMU group with guest copy of TCE table KVM: PPC: vfio kvm device: support spapr tce KVM: PPC: Add support for IOMMU in-kernel handling Documentation/virtual/kvm/api.txt | 51 ++++ Documentation/virtual/kvm/devices/vfio.txt | 20 +- arch/powerpc/include/asm/kvm_host.h | 41 ++- arch/powerpc/include/asm/kvm_ppc.h | 9 +- arch/powerpc/include/uapi/asm/kvm.h | 9 + arch/powerpc/kernel/iommu.c | 6 +- arch/powerpc/kvm/Kconfig | 2 + arch/powerpc/kvm/Makefile | 3 + arch/powerpc/kvm/book3s_64_vio.c | 389 +++++++++++++++++++++++++++-- arch/powerpc/kvm/book3s_64_vio_hv.c | 177 ++++++++++++- arch/powerpc/kvm/book3s_hv.c | 3 + arch/powerpc/kvm/powerpc.c | 25 +- include/uapi/linux/kvm.h | 12 + virt/kvm/vfio.c | 69 +++++ 14 files changed, 775 insertions(+), 41 deletions(-) -- 2.0.0 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev