> -----Original Message----- > From: Jason Gunthorpe <j...@nvidia.com> > Sent: Thursday, February 6, 2025 5:47 PM > To: Daniel P. Berrangé <berra...@redhat.com> > Cc: Shameerali Kolothum Thodi > <shameerali.kolothum.th...@huawei.com>; qemu-...@nongnu.org; > qemu-devel@nongnu.org; eric.au...@redhat.com; > peter.mayd...@linaro.org; nicol...@nvidia.com; ddut...@redhat.com; > Linuxarm <linux...@huawei.com>; Wangzhou (B) > <wangzh...@hisilicon.com>; jiangkunkun <jiangkun...@huawei.com>; > Jonathan Cameron <jonathan.came...@huawei.com>; > zhangfei....@linaro.org; nath...@nvidia.com > Subject: Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable > nested SMMUv3 > > On Thu, Feb 06, 2025 at 05:10:32PM +0000, Daniel P. Berrangé wrote: > > On Thu, Feb 06, 2025 at 01:02:38PM -0400, Jason Gunthorpe wrote: > > > On Thu, Feb 06, 2025 at 03:07:06PM +0000, Shameerali Kolothum Thodi > wrote: > > > > > If we set the physical/guest SMMU relationship directly, then at the > > > > > time the VFIO device is plugged, we can diagnose the incorrectly > > > > > placed VFIO device, and better reason about behaviour. > > > > > > > > Agree. > > > > > > Can you just take in a VFIO cdev FD reference on this command line: > > > > > > -device arm-smmuv3-accel,id=smmuv2,bus=pcie.2 > > > > > > And that will lock the pSMMU/vSMMU relationship? > > > > We shouldn't assume any VFIO device exists in the QEMU cnofig at the > time > > we realize the virtual ssmu. I expect the SMMU may be cold plugged, > while > > the VFIO devices may be hot plugged arbitrarly later, and we should have > > the association initialized the SMMU is realized. > > This is not supported kernel side, you can't instantiate a vIOMMU > without a VFIO device that uses it. For security.
I think that is fine if Qemu knows about association beforehand. During vIOMMU instantiation it can cross check whether the user specified pSMMU <->vSMMU is correct for the device. Also how do we do it with multiple VF devices under a pSUMMU ? Which cdev fd in that case? Thanks, Shameer