On 04/08/17 19:19, Jean-Philippe Brucker wrote: > Other extensions are in preparation. I won't detail them here because v0.4 > already is a lot to digest, but in short, building on top of PROBE: > > * First, since the IOMMU is paravirtualized, the device can expose some > properties of the physical topology to the guest, and let it allocate > resources more efficiently. For example, when the virtio-iommu manages > both physical and emulated endpoints, with different underlying IOMMUs, > we now have a way to describe multiple page and block granularities, > instead of forcing the guest to use the most restricted one for all > endpoints. This will most likely be in v0.5. In order to extend requests with PASIDs and (later) nested mode, I intend to rename "address_space" field to "domain", since it is a lot more precise about what the field is referring to and the current name would make these extensions confusing. Please find the rationale at [1]. "ioasid_bits" will be "domain_bits" and "VIRTIO_IOMMU_F_IOASID_BITS" will be "VIRTIO_IOMMU_F_DOMAIN_BITS". For those that had time to read this version, do you have other comments and suggestions about v0.4? Otherwise it is the only update I have for v0.5 (along with fine-grained address range and page size properties from the quoted text) and I will send it soon. In particular, please tell me now if you see the need for other destructive changes like this one. They will be impossible to introduce once a driver or device is upstream. Thanks, Jean [1] https://www.spinics.net/lists/kvm/msg154573.html