vringh: IOTLB support
authorJason Wang <jasowang@redhat.com>
Thu, 26 Mar 2020 14:01:20 +0000 (22:01 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 1 Apr 2020 16:06:26 +0000 (12:06 -0400)
commit9ad9c49cfe970b053bb0ef323b682dd1b4d4f8a0
tree92f1cb32d9e41467a75d1c3e5fa973cc5eefc9fa
parent0bbe30668d89ec8a309f28ced6d092c90fb23e8c
vringh: IOTLB support

This patch implements the third memory accessor for vringh besides
current kernel and userspace accessors. This idea is to allow vringh
to do the address translation through an IOTLB which is implemented
via vhost_map interval tree. Users should setup and IOVA to PA mapping
in this IOTLB.

This allows us to:

- Use vringh to access virtqueues with vIOMMU
- Use vringh to implement software virtqueues for vDPA devices

Signed-off-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20200326140125.19794-5-jasowang@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/Kconfig
drivers/vhost/vringh.c
include/linux/vringh.h