vdpa: multiple address spaces support
authorGautam Dawar <gautam.dawar@xilinx.com>
Wed, 30 Mar 2022 18:03:46 +0000 (23:33 +0530)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 31 May 2022 16:44:27 +0000 (12:44 -0400)
commitdb9adcbf4286ad1c1fca091a870db6e49bb0df07
tree2d2c265ee15bf7ddf4db3adf8083f136213ffb36
parentd4821902e43453b85b31329441a9f6ac071228a8
vdpa: multiple address spaces support

This patches introduces the multiple address spaces support for vDPA
device. This idea is to identify a specific address space via an
dedicated identifier - ASID.

During vDPA device allocation, vDPA device driver needs to report the
number of address spaces supported by the device then the DMA mapping
ops of the vDPA device needs to be extended to support ASID.

This helps to isolate the environments for the virtqueue that will not
be assigned directly. E.g in the case of virtio-net, the control
virtqueue will not be assigned directly to guest.

As a start, simply claim 1 virtqueue groups and 1 address spaces for
all vDPA devices. And vhost-vDPA will simply reject the device with
more than 1 virtqueue groups or address spaces.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Gautam Dawar <gdawar@xilinx.com>
Message-Id: <20220330180436.24644-7-gdawar@xilinx.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/alibaba/eni_vdpa.c
drivers/vdpa/ifcvf/ifcvf_main.c
drivers/vdpa/mlx5/net/mlx5_vnet.c
drivers/vdpa/vdpa.c
drivers/vdpa/vdpa_sim/vdpa_sim.c
drivers/vdpa/vdpa_user/vduse_dev.c
drivers/vdpa/virtio_pci/vp_vdpa.c
drivers/vhost/vdpa.c
include/linux/vdpa.h