Hi,
I am Newbie at SMMU. I am confused that If hypervisor is enabled, Why do the software in EL1 can modify the TTB of S2 in stream table entry?
Usually one streamid corresponds to one device. When the hypervisor assigns a device to a VM it will setup the STE.
For stage 1 handling delegation to the guest a viommu is necessary. When the guest programs the CD address in the viommu, the vmm will relay the request to the hypervisor using e.g. a vfio ioctl. See this patch series for an example: https://lkml.org/lkml/2021/2/23/792
Got it, thanks a lot!