vdev smmu
Provide the required subset of smmu-*.so library functionality needed by a smmuman service running in a QNX guest
Synopsis:
vdev smmu options
Options:
- intr num
- The interrupt number to use to inform the guest that the vdev has completed the task requested by the guest.
- loc baddr
- The base address of the request page for this device.
For a list of options available to all vdevs, see Common vdev options
earlier in this chapter.
Description:
The smmu vdev provides the following services:
- IOMMU/SMMU services
- The vdev provides for the guest in a hypervisor VM the same services for guest-physical memory as an IOMMU/SMMU provides for an OS running on hardware. These services are: accepting configuration information passed in by the guest's smmuman service, denying DMA device attempts to access memory outside the permitted regions, communicating these denials back to devices, recording these attempts, etc.
- Memory mapping
- The vdev shares memory mappings for DMA devices passed through to the guest with the smmuman service running in the hypervisor host. This ensures that the host smmuman service and the board IOMMU/SMMUs can manage access to host-physical memory by pass-through DMA devices.
CAUTION:
On ARM platforms, to run the smmuman service, a hypervisor
guest must load libfdt.so, so make sure you include this
shared object in the guest's buildfile. Note, though, that the
libfdt library is certified for internal use only.
You must use this library only where directed by QNX and only in context
of that direction.
For more information about the smmuman service and how to use it, see the SMMUMAN User's Guide in the QNX OS documentation.
Page updated: