SMMUMAN Architecture

QNX SDP8.0SMMUMAN User's GuideAPIConfigurationUtilities

This chapter presents the architecture of the SMMUMAN, and its responsibilities and behavior.

The QNX System Memory Management Unit Manager (SMMUMAN) is a system memory management unit (IOMMU/SMMU) manager that runs on the ARM and x86 board architectures. This manager makes use of the DMA containment and memory-management features when they're available on supported boards.

Note:

On ARM platforms, IOMMU/SMMU components are usually called System Memory Management Units (SMMUs); on Intel x86 platforms, this technology is usually called Virtualization Technology for Directed I/O (VT-d).

In this document we use IOMMU/SMMU to refer to the component on any supported hardware platform, unless referring to a component for a specific architecture or board, exclusive of other architectures or boards. In this case, we use the architecture-specific or board-specific acronym (e.g., VT-d (Intel x86), SMMU (ARM), IPMMU (ARM: Renesas R-Car boards)).

Supported board architectures and required hardware

The SMMUMAN can run on ARM or x86 platforms. If it is running in a guest in a hypervisor VM, that VM must be configured to present the functional equivalent of the underlying hardware platform to its guest.

ARM

To support the SMMUMAN, ARM platforms require the following:
  • System Memory Management Unit (SMMU), or equivalent (e.g., IPMMU on Renesas R-Car boards)

x86

To support the SMMUMAN, x86 platforms require the following:
  • Virtualization Technology for Directed I/O (VT-d)

Supported OSs

The SMMUMAN can be included in QNX OS or QNX OS for Safety systems. It is intended for use on the supported hardware platforms with the following software:
  • the QNX OS running directly on hardware
  • the QNX OS with the virtualization extension, running directly on hardware as a hypervisor host (QNX Hypervisor)
  • the QNX OS running as a guest in a QNX Hypervisor VM
  • the QNX OS for Safety running directly on hardware
  • the QNX OS for Safety with the virtualization extension, running directly on hardware as a hypervisor host (QNX Hypervisor for Safety (QHS))
  • the QNX OS running as a guest in QHS VM
  • the QNX OS for Safety running as a guest in a QHS VM

Design Safe State (DSS)

When the SMMUMAN or any of its components meets an unknown or undefined condition, it attempts to enter its Design Safe State (DSS). This DSS is to exit.

DANGER:
If you are using SMMUMAN for Safety, see the Safety Manual for more information about the DSS.
Page updated: