Installing SMMUMAN
QNX SDP8.0SMMUMAN User's GuideAPIConfigurationUtilities
This section describes how to get SMMUMAN and add it to a QNX OS system.
Assumptions
These instructions assume that:
- You have the appropriate development environment installed and configured on your development host (see the QNX SDP and QOS documentation).
- You know how to build a QNX OS system (see Building Embedded Systems in the QNX SDP documentation).
- You know how to use the QNX Software Center (see the myQNX License Manager and QNX Software Center User's Guide).
Adding SMMUMAN to a system
To implement SMMUMAN on your system, assuming that all the SMMUMAN components were
included in your QNX SDP package, in your development environment:
- Modify your BSP buildfile to include the SMMUMAN components:
- smmuman
- for a system running directly on hardware as the hypervisor host, the
architecture-specific or board-specific library for your board:
smmu-* (go to
The smmu-*.so libraries
), and the *.smmu configuration file for the board, as required (seeConfiguring smmuman
) - for a QNX Hypervisor (QH) or QHS system, the vdev-smmu.so IOMMU/SMMU virtual device shared library, so that it will be available for guests that need to use the smmuman service
- For a system running as a QNX guest in a hypervisor VM, in addition
to adding the SMMUMAN components in your guest build, add the vdev
smmu option in the configuration for the hypervisor VM that will
host the guest (see
The vdev-smmu virtual device
). - Run make to rebuild your system with the SMMUMAN components.
Note:
The following applies to SMMUMAN component locations:
- smmuman can be placed in any standard path for $PATH (e.g., /bin or /sbin).
- The shared libraries smmuman uses (*.so files) can be under any $LD_LIBRARY_PATH path (e.g., /lib/dll or /usr/dll).
Example of entries to add to the buildfile
Below are some examples of how the buildfile might be modified to include SMMUMAN.
x86 board
For a system running on a supported x86 board, the buildfile might include the following:
/bin/smmuman = smmuman
/lib/dll/smmu-vtd.so = smmu-vtd.so where smmuman is
the SMMUMAN service, and smmu-vtd.so is the SMMUMAN support
library for x86 platforms.ARM Renesas R-Car H3
For a system running on a supported Renesas R-Car H3 board, the buildfile might include the
following:
/bin/smmuman = smmuman
/bin/dll/smmu-rcar3.so = smmu-rcar3.so
/etc/smmuman/rcar-h3.smmu = ./smmuman-config/rcar-h3.smmu
where smmuman is the SMMUMAN service,
smmu-rcar.so is the SMMUMAN support library, and
rcar-h3.smmu is your smmuman
configuration file for Renesas R-Car H3 platforms.QNX guest in a QNX Hypervisor system
For a system running as a guest in a QH VM, the guest's buildfile might include the following:
/bin/smmuman = smmuman
where smmuman is the SMMUMAN service.Note:
The host buildfile has to include the vdev-smmu.so virtual device, and
the configuration for the VM hosting the guest has to include the vdev
smmu option.
Page updated:
