On Sat, Mar 01, 2025 at 12:16:00PM +0800, Zhangfei Gao wrote: > On Wed, 26 Feb 2025 at 01:33, Nicolin Chen <nicolinc@xxxxxxxxxx> wrote: > > > > As the vIOMMU infrastructure series part-3, this introduces a new vEVENTQ > > object. The existing FAULT object provides a nice notification pathway to > > the user space with a queue already, so let vEVENTQ reuse that. > > > > Mimicing the HWPT structure, add a common EVENTQ structure to support its > > derivatives: IOMMUFD_OBJ_FAULT (existing) and IOMMUFD_OBJ_VEVENTQ (new). > > > > An IOMMUFD_CMD_VEVENTQ_ALLOC is introduced to allocate vEVENTQ object for > > vIOMMUs. One vIOMMU can have multiple vEVENTQs in different types but can > > not support multiple vEVENTQs in the same type. > > > > The forwarding part is fairly simple but might need to replace a physical > > device ID with a virtual device ID in a driver-level event data structure. > > So, this also adds some helpers for drivers to use. > > > > As usual, this series comes with the selftest coverage for this new ioctl > > and with a real world use case in the ARM SMMUv3 driver. > > > > This is on Github: > > https://github.com/nicolinc/iommufd/commits/iommufd_veventq-v8 > > Paring QEMU branch for testing: > > https://github.com/nicolinc/qemu/commits/wip/for_iommufd_veventq-v8 > > Thanks Nico > > Tested-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> > > After rebase on your branch > https://github.com/Linaro/linux-kernel-warpdrive/tree/iommufd_veventq-v8 > https://github.com/Linaro/qemu/tree/for_iommufd_veventq-v8 > > Tested with multi-device in guests, with io page faults happen. Thanks for testing! Nicolin