linux/drivers/vdpa
Xie Yongji 8c773d53fb vduse: Implement an MMU-based software IOTLB
This implements an MMU-based software IOTLB to support mapping
kernel dma buffer into userspace dynamically. The basic idea
behind it is treating MMU (VA->PA) as IOMMU (IOVA->PA). The
software IOTLB will set up MMU mapping instead of IOMMU mapping
for the DMA transfer so that the userspace process is able to
use its virtual address to access the dma buffer in kernel.

To avoid security issue, a bounce-buffering mechanism is
introduced to prevent userspace accessing the original buffer
directly which may contain other kernel data. During the mapping,
unmapping, the software IOTLB will copy the data from the original
buffer to the bounce buffer and back, depending on the direction
of the transfer. And the bounce-buffer addresses will be mapped
into the user address space instead of the original one.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20210831103634.33-12-xieyongji@bytedance.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2021-09-06 07:20:58 -04:00
..
ifcvf vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00
mlx5 vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00
vdpa_sim vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00
vdpa_user vduse: Implement an MMU-based software IOTLB 2021-09-06 07:20:58 -04:00
virtio_pci vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00
Kconfig vdpa/mlx5: Add support for control VQ and MAC setting 2021-09-05 16:23:08 -04:00
Makefile vdpa: introduce virtio pci driver 2021-05-03 04:55:51 -04:00
vdpa.c vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00