On Wed, Oct 08, 2025 at 11:19:32AM +0200, Konrad Dybcio wrote: > On 10/7/25 6:48 PM, Mukesh Ojha wrote: > > Most Qualcomm platforms feature Gunyah hypervisor, which typically > > handles IOMMU configuration. This includes mapping memory regions and > > device memory resources for remote processors by intercepting > > qcom_scm_pas_auth_and_reset() calls. These mappings are later removed > > during teardown. Additionally, SHM bridge setup is required to enable > > memory protection for both remoteproc metadata and its memory regions. > > When the aforementioned hypervisor is absent, the operating system must > > perform these configurations instead. > > > > When Linux runs as the hypervisor (@ EL2) on a SoC, it will have its > > own device tree overlay file that specifies the firmware stream ID now > > managed by Linux for a particular remote processor. If the iommus > > property is specified in the remoteproc device tree node, it indicates > > that IOMMU configuration must be handled by Linux. In this case, the > > has_iommu flag is set for the remote processor, which ensures that the > > resource table, carveouts, and SHM bridge are properly configured before > > memory is passed to TrustZone for authentication. Otherwise, the > > has_iommu flag remains unset, which indicates default behavior. > > > > Enables Secure PAS support for remote processors when IOMMU configuration > > is managed by Linux. > > > > Signed-off-by: Mukesh Ojha <[email protected]> > > --- > > [...] > > > + if (of_property_present(pdev->dev.of_node, "iommus")) { > > + struct of_phandle_args args; > > + > > + ret = of_parse_phandle_with_args(pdev->dev.of_node, "iommus", > > + "#iommu-cells", 0, &args); > > + if (ret < 0) > > + return ret; > > + > > + rproc->has_iommu = true; > > + of_node_put(args.np); > > + } else { > > + rproc->has_iommu = false; > > + } > > I think the above is a little heavy-handed.. > > rproc->has_iommu = of_property_present(...) > > should suffice.. if the developer puts something that isn't a #xxx-cells > -marked provider in xxx = <>, that's on them
Sure. > > Konrad -- -Mukesh Ojha

