> -----Original Message----- > From: Daniel P. Berrangé <berrange@redhat.com> > Sent: Friday, December 13, 2024 1:20 PM > To: Jason Gunthorpe <jgg@nvidia.com> > Cc: Shameerali Kolothum Thodi > <shameerali.kolothum.thodi@huawei.com>; qemu-arm@nongnu.org; > qemu-devel@nongnu.org; eric.auger@redhat.com; > peter.maydell@linaro.org; nicolinc@nvidia.com; ddutile@redhat.com; > Linuxarm <linuxarm@huawei.com>; Wangzhou (B) > <wangzhou1@hisilicon.com>; jiangkunkun <jiangkunkun@huawei.com>; > Jonathan Cameron <jonathan.cameron@huawei.com>; > zhangfei.gao@linaro.org > Subject: Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable > nested SMMUv3 > > On Fri, Dec 13, 2024 at 08:46:42AM -0400, Jason Gunthorpe wrote: > > On Fri, Dec 13, 2024 at 12:00:43PM +0000, Daniel P. Berrangé wrote: > > > On Fri, Nov 08, 2024 at 12:52:37PM +0000, Shameer Kolothum via wrote: > > > > Hi, > > > > > > > > This series adds initial support for a user-creatable "arm-smmuv3- > nested" > > > > device to Qemu. At present the Qemu ARM SMMUv3 emulation is per > machine > > > > and cannot support multiple SMMUv3s. > > > > > > > > In order to support vfio-pci dev assignment with vSMMUv3, the > physical > > > > SMMUv3 has to be configured in nested mode. Having a pluggable > > > > "arm-smmuv3-nested" device enables us to have multiple vSMMUv3 > for Guests > > > > running on a host with multiple physical SMMUv3s. A few benefits of > doing > > > > this are, > > > > > > I'm not very familiar with arm, but from this description I'm not > > > really seeing how "nesting" is involved here. You're only talking > > > about the host and 1 L1 guest, no L2 guest. > > > > nesting is the term the iommu side is using to refer to the 2 > > dimensional paging, ie a guest page table on top of a hypervisor page > > table. > > > > Nothing to do with vm nesting. > > Ok, that naming is destined to cause confusion for many, given the > commonly understood use of 'nesting' in the context of VMs... > > > > > > Also what is the relation between the physical SMMUv3 and the guest > > > SMMUv3 that's referenced ? Is this in fact some form of host device > > > passthrough rather than nesting ? > > > > It is an acceeleration feature, the iommu HW does more work instead of > > the software emulating things. Similar to how the 2d paging option in > > KVM is an acceleration feature. > > > > All of the iommu series on vfio are creating paravirtualized iommu > > models inside the VM. They access various levels of HW acceleration to > > speed up the paravirtualization. > > ... describing it as a HW accelerated iommu makes it significantly clearer > to me what this proposal is about. Perhaps the device is better named as > "arm-smmuv3-accel" ? Agree. There were similar previous comments from reviewers that current smmuv3 already has emulated stage 1 and stage 2 support and refers to that as "nested" in code. So this will be renamed as above. Thanks, Shameer
© 2016 - 2025 Red Hat, Inc.