On Thu, Mar 17, 2022 at 05:47:36AM +0000, Tian, Kevin wrote: > > From: Robin Murphy > > Sent: Tuesday, March 15, 2022 6:49 PM > > > > On 2022-03-14 19:44, Matthew Rosato wrote: > > > s390x will introduce an additional domain type that is used for > > > managing IOMMU owned by KVM. Define the type here and add an > > > interface for allocating a specified type vs the default type. > > > > I'm also not a huge fan of adding a new domain_alloc interface like > > this, however if it is justifiable, then please make it take struct > > device rather than struct bus_type as an argument. > > > > It also sounds like there may be a degree of conceptual overlap here > > with what Jean-Philippe is working on for sharing pagetables between KVM > > and SMMU for Android pKVM, so it's probably worth some thought over > > whether there's any scope for common interfaces in terms of actual > > implementation. > > Same here. Yan Zhao is working on page table sharing between KVM > and VT-d. This is one important usage to build atop iommufd and > a set of common interfaces are definitely necessary here. 😊 I always thought 'page table sharing with KVM' is SVA - ie it requires PRI in the IOMMU driver as the KVM page table is fully unpinned and dynamic. This S390 case is not doing SVA/PRI Are people working on teaching KVM to DMA pin every page and avoid having a dynamic page table? I'm surprised, a lot of stuff won't work, eg write protect.. Jason