SMMUMAN can be used in a QNX guest running in a QNX Hypervisor VM.
No smmu-*.so library is required for a SMMUMAN running in a guest in a QNX Hypervisor VM, as shown in the figure below. The vdev-smmu virtual device in the VM provides the required subset of the smmu-*.so library functionality needed by a SMMUMAN running in a guest (see The vdev-smmu virtual device).
The figure above shows the SMMUMAN in a QNX guest running in a QNX Hypervisor VM, as well as the SMMUMAN running in the hypervisor host. Note that as far as the SMMUMAN in the host is concerned the qvm process instance is simply a client like any other.
To support the SMMUMAN running in a QNX guest in a QNX Hypervisor VM or QNX Hypervisor for Safety VM, the VM hosting the guest must include the vdev-smmu virtual device (vdev). This vdev provides the following:
The vdev-smmu.so virtual device shared object is a QNX Hypervisor component. It must be loaded into the hypervisor host to enable the smmuman service in a hypervisor guest. For more information about vdev-smmu and how to use it, see SMMUMAN in a QNX Hypervisor system in the Mapping DMA devices and memory regions chapter, and the QNX Hypervisor User's Guide.
To run the smmuman service, a guest running in a QNX Hypervisor VM on ARM platforms must load libfdt.so. Make sure you include this shared object in the guest's buildfile.