Virtualization Concepts#

The NVIDIA DRIVE AGX platform Foundation services runtime software stack provides the infrastructure for all the components of the platform. With this infrastructure, guest OS systems can run on the hardware, with the Hypervisor managing use of hardware resources.

Foundation Components#

Component

Description

Hypervisor

Trusted Software server that separates the system into partitions. Each partition can contain an operating system or a bare-metal application. The Hypervisor manages:

  • Guest OS partitions and the isolation between them.

Note

Multiple Guest OS are not supported. In addition, you can run QNX or Linux, but not both.

  • Partitions’ virtual views of the CPU and memory resources.

  • Hardware interactions

  • Run-lists

  • Channel recovery

Hypervisor is optimized to run on the ARMv8.2 Architecture.

guest OS

Allocates peripherals that Guest OS needs to control.

Services

Services for DRIVE Update.

Bootloader

Firmware that runs during boot to load firmware components, such as boot images, partition images, and other firmware.

Orin SoC

System on a Chip hardware resources.

Virtualized Servers#

The virtualized configurable servers are as follows.

Component

Description

Boot and Power Manager Processor (BPMP) Server

Facilitates communication between Guest OS Virtual Machines (VM) and BPMP firmware.

Virtual Machine Server

host1X virtualizes NvHost.

Security Engine (SE) Server

Para-virtualizes and allows multiple Guest OS Virtual Machines access to the security engine cryptographic hardware accelerator.

Trusted Applications (TA)

Through Trusted Applications, Trusted OS exposes a set of core services that use managed security assets in cryptographic operations without exposing them to non-secure guest software.

Display

Display has a Server component and a Guest component. The Display Server runs on DCE-FW and CCPLEX and handles sharing of display between multiple Guest OS Virtual Machines. The Guest component is a para-virtualized display client driver running inside of each Guest OS Virtual Machine that has display support.

GPU

Runs on top of the virtualization core and handles sharing of GPU between multiple client Guest OS Virtual Machines. The GPU virtualization also includes the para-virtualized GPU client driver running inside of each Guest Virtual Machine.

Storage Server

Para-virtualizes storage access to enable sharing physical storage devices among multiple Guest OS Virtual Machines.

Debug Server

Provides support for kernel-level debugging of Guest OS Virtual Machines (VM).