Hi Will, Robin, Jean-Philippe, I have been working on the integration between user-space emulated SMMU-v3 and VFIO in QEMU. At the moment I fail identifying a proper easy way to trap page table updates. This is requested to keep the host translation structures consistent to guest translation structures. On Intel VTD there is a so-called "caching mode" (CM, see VTD spec paragraph 6.1) that forces the OS to explicitly invalidate caches whenever it updates any remapping structure (updates to not-present or present entries). Those invalidation commands are used to trap and update host structures. This mode was devised for virtualization. I was not able to find such "caching mode" on ARM SMMU. Is there any? If not, do you have any other suggestion, I mean, besides the virtio-based solution. Thanks Eric