spapr/iommu: Enable in-kernel TCE acceleration via VFIO KVM device
commit9ded780c4cc92d15a977dba589d64862e25a340e
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Tue, 6 Feb 2018 18:08:24 +0000 (6 11:08 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 6 Feb 2018 18:08:24 +0000 (6 11:08 -0700)
tree64a081469be91b7bacadf05e97d6766885e7a44e
parent07bc681a331311e9c51d1cd8933739a80cd57af8
spapr/iommu: Enable in-kernel TCE acceleration via VFIO KVM device

In order to enable TCE operations support in KVM, we have to inform
the KVM about VFIO groups being attached to specific LIOBNs;
the necessary bits are implemented already by IOMMU MR and VFIO.

This defines get_attr() for the SPAPR TCE IOMMU MR which makes VFIO
call the KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE ioctl and establish
LIOBN-to-IOMMU link.

This changes spapr_tce_set_need_vfio() to avoid TCE table reallocation
if the kernel supports the TCE acceleration.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
[aw - remove unnecessary sys/ioctl.h include]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
hw/ppc/spapr_iommu.c
target/ppc/kvm.c
target/ppc/kvm_ppc.h