Autonomous Vehicle Virtual Machine Configuration

The NVIDIA DRIVE AGX system Autonomous Vehicle (AV) Partition Configuration Table (PCT) consists of server VMs, service VMs, and NVIDIA DRIVE® AV Guest-OS (GOS) VM configurations.

PCT is divided according to the composition of the NVIDIA DRIVE AV GOS VM.

  • Single Linux GOS VM

  • Single QNX GOS VM

  • Dual QNX GOS VMs

Profile Makefile

The profile makefile is the file containing the definitions of PCT configuration. Each PCT has its own profile makefiles.

Standard SDK/PDK Package

The default profile makefile (profile.mk) is for the standard package.

PCT name PCT Profile makefile for standard build
Single Linux GOS VM linux profile.mk
Single QNX GOS VM qnx profile.mk
Dual QNX GOS VMs dual-qnx profile.mk

The profile makefile is located at:

  • Single Linux GOS VM Standard (linux PCT):

    <top>/<NV_SDK_NAME_FOUNDATION>/platform-config/hardware/nvidia/platform/t23x/automotive/pct/drive_av/linux/profile.mk
  • Single QNX GOS VM Standard (qnx PCT):

    <top>/<NV_SDK_NAME_FOUNDATION>/platform-config/hardware/nvidia/platform/t23x/automotive/pct/drive_av/qnx/profile.mk
  • Dual QNX GOS VMs Standard (dual-qnx PCT):

    <top>/<NV_SDK_NAME_FOUNDATION>/platform-config/hardware/nvidia/platform/t23x/automotive/pct/drive_av/dual-qnx/profile.mk

Linux Production PCT SDK/PDK Package

Linux Production build package needs additional option (PCT variant option, -p) when you use bind_partitions to select different profile makefile. The production package has two types of profile configurations (PCT variant): nsr_prod and nsr_prod_debug. For nsr_prod_debug, the PCT variant provides debug environment based on the nsr_prod PCT variant.

PCT name PCT PCT variant Profile makefiles for production build Comment
Single Linux GOS VM linux nsr_prod profile_nsr_prod.mk Supports DHCP in GOS VM.
nsr_prod_debug profile_nsr_prod_debug.mk

Combined UART is enabled.

Servers/VM log available.

Support SSH/DHCP/NFS in GOS VM.

  • Single Linux GOS VM Production (linux PCT with -p nsr_prod or -p nsr_prod_debug):

    <top>/<NV_SDK_NAME_FOUNDATION>/platform-config/hardware/nvidia/platform/t23x/automotive/pct/drive_av/linux/profile_nsr_prod.mk
    <top>/<NV_SDK_NAME_FOUNDATION>/platform-config/hardware/nvidia/platform/t23x/automotive/pct/drive_av/linux/profile_nsr_prod_debug.mk

Bootchain-C

During the bind_partitions process, chain-c profiles are automatically selected and Bootchain-C images are created depending on Platform/PCT. The following table shows platform support for Bootchain-C during boot-up.

platform Support for Bootchain-C
P3663* Yes
P3710-1* Yes
P4024* No
P3898* No

The following table shows mapping between Bootchain-A/B PCT and Bootchain-C PCT profile.

Botochain-A|B PCT Botochain-A|B PCT variant Chain-C profile file (Chain-C is always Linux PCT) Chain-C PCT variant
AV+L none (standard) linux/profile_chain_c.mk none (standard)
nsr_prod linux/profile_chain_c.mk none (standard)
nsr_prod_debug linux/profile_chain_c.mk none (standard)
AV+Q none (standard) linux/profile_chain_c.mk none (standard)
prod linux/profile_chain_c_srf_prod.mk prod
prod_debug linux/profile_chain_c_srf_prod.mk srf_prod
prod_debug_extra linux/profile_chain_c_srf_prod_debug.mk srf_prod_debug

Supported Platform and CPU Allocation

The following tables list the supported combinations of PCT, platform, and SDK/PDK package.

The CPUs column indicates the number of CPUs assigned to the guest VM and to the server VMs, respectively.

Supported Platform and Board Name

Official Name Platform Board Name 940/694-BOARD-SKU-REV Comment
NVIDIA DRIVE Orin N p3898 p3898-b00 940-63898-0000-200 p3898 supports only chip sku TA977SA.
NVIDIA DRIVE Orin p3663
  • p3663-a01
  • p3663-a01-f1
  • 940-63663-0000-100
  • p3663-01-a02
  • p3663-01-a02-f1
  • 940-63663-0001-200
Emmc Size increased to 64 GB compared to 32 GB on p3663-a01.
  • p3663-02-a02
  • p3663-02-a02-f1
  • 940-63663-0002-200
MAX96981B display serializer with DSC on top of p3663-01-a02 boards.
NVIDIA DRIVE AGX Orin DevKit p3710
  • p3710-10-a01
  • p3710-10-a01-f1
  • p3710-10-a01-ct03
  • p3710-10-a01-ct04
  • 940-63710-0010-TS1
  • 940-63710-0010-TS2
  • 940-63710-0010-A00
  • 940-63710-0010-000
  • ct03 is for chip sku TA983SA support.
  • ct04 is for chip sku TA977SA support.
  • p3710-10-a03
  • p3710-10-a03-f1
  • 940-63710-0010-TS3
  • 940-63710-0010-B00
  • Audio codec is changed from ALC5658 to ALC5640.
  • Aurix power sequence update.
  • p3710-10-a04
  • p3710-10-a04-f1
  • 940-63710-0010-TS4
  • 940-63710-0010-C00
  • p3710-10-s05
  • p3710-10-s05-f1
  • 940-63710-0010-TS5
  • 940-63710-0010-D00
  • 940-63710-0010-RC1
  • 940-63710-0010-100
  • 940-63710-0010-200
  • 940-63710-0010-300
  • p3710-12-a03
  • p3710-12-a03-f1
  • 940-63710-0012-TS3
  • 940-63710-0012-B00
GMSL out interconnect board delta compared to DisplayPort Interconnect Board on p3710-10-a03.
  • p3710-12-a04
  • p3710-12-a04-f1
  • 940-63710-0010-TS4
  • 940-63710-0010-C00
GMSL out interconnect board delta compared to DisplayPort Interconnect Board on p3710-10-a04.
  • p3710-12-s05
  • p3710-12-s05-f1
  • 940-63710-0012-TS5
  • 940-63710-0012-D00
  • 940-63710-0012-RC1
  • 940-63710-0012-100
  • 694-63710-0012-D00
  • 694-63710-0012-100
GMSL out interconnect board delta compared to DisplayPort Interconnect Board on p3710-10-s05.
DRIVE Recorder p4024
  • p4024-a00-a
  • p4024-a00-a-f1
  • p4024-a00-b
  • p4024-a00-b-f1
  • 940-14024-0000-A00
  • 940-14024-0000-TS1
  • 940-14024-0000-TS2
  • 940-14024-0000-TS3
  • 940-14024-0000-B00
Note: Board name with the -f1 or -ct03 or -ct04 suffix has 8 CPU cores. Also, board name with the -f1 suffix is only for NVIDIA Internal Use. Normally, NVIDIA Orin has 12 CPU cores.

CPU Assignment

Orin type CPU assignment
12 CPU cores 12 for GOS0, 1 shared CPU with HOST1X server and 1 shared CPU with Other Servers(and GOS1).
8 CPU cores 8 for GOS0, 1 shared CPU with HOST1X server and 1 shared CPU with Other Servers.

The example guest_config.h shows the mapping between the guest OS and services as well as their allocations.

Use Cases of NDAS/ECO, eMMC/UFS Secondary Boot Device

Depending on the use cases, storage configuration and peripheral assignment are different.

The following table lists the supported use cases for platforms.

Use cases First boot device + secondary boot device Platforms
Driving ECU (NDAS) QSPI+eMMC p3710
EcoSystem/General (ECO) QSPI+eMMC p3663 / p3710 / p3898
QSPI+UFS p3710
Recoder (REC) QSPI+eMMC p4024

ECID Read Access on Guest VMs

Read access to ECID can be provided to Guest VMs by configuring below in guest_config.h for a VM in PCT settings.

can_read_ecid_hash = 1

ECID is considered as a solution for the user to get a unique ID of the platform from the user's application.

Note: ECID read access is disabled for NVIDIA DRIVE AV PCTs for all VMs by default.