The vdpa_sim device supports ownership transfer to a new process, so advertise VHOST_BACKEND_F_NEW_OWNER. User virtual addresses are used by the software iommu, so VHOST_IOTLB_REMAP is required after VHOST_NEW_OWNER, so advertise VHOST_BACKEND_F_IOTLB_REMAP.
Signed-off-by: Steve Sistare <steven.sist...@oracle.com> --- drivers/vdpa/vdpa_sim/vdpa_sim.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c index 8734834983cb..d037869d8a89 100644 --- a/drivers/vdpa/vdpa_sim/vdpa_sim.c +++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c @@ -430,7 +430,13 @@ static u64 vdpasim_get_device_features(struct vdpa_device *vdpa) static u64 vdpasim_get_backend_features(const struct vdpa_device *vdpa) { - return BIT_ULL(VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK); + u64 features = BIT_ULL(VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK) | + BIT_ULL(VHOST_BACKEND_F_NEW_OWNER); + + if (use_va) + features += BIT_ULL(VHOST_BACKEND_F_IOTLB_REMAP); + + return features; } static int vdpasim_set_driver_features(struct vdpa_device *vdpa, u64 features) -- 2.39.3