Supported architectures, hardware, and guest OSs

Supported hardware architectures

This release of the hypervisor supports the following hardware architectures:

ARM
AArch64 on ARMv8 hardware
x86
x86-64 on x86 hardware

CPU privilege levels

A CPU privilege level controls the access of the program currently running on a processor to resources such as memory regions, I/O ports, and special instructions. A guest runs at a lower privilege than the hypervisor microkernel, and applications running in that guest run at an even lower privilege. This architecture provides hardware-level safety from untrusted software components.

See also Exception Level (EL) and Ring in the Terminology appendix.

PCI support

The QNX Software Systems PCI vendor ID is 7173 (0x1C05). For more information about PCI Vendor IDs, see the PCI SIG web site at https://pcisig.com/. For more information about the QNX PCI Vendor ID, please contact your QNX representative.

Supported guest OSs

This hypervisor release supports QNX OS, Linux, and Android guests for the hardware architectures specified above. The supported guests include:

Guest OSs must be compiled for the hardware architecture on which the hypervisor host is running. For example, AArch64 guests can run on ARMv8 hardware only. For information about the supported guest OSs, see the QNX Hypervisor Release Notes.

64-bit and 32-bit guests

For both ARM and x86 platforms, the hypervisor host domain requires 64-bit hardware and supports 64-bit guests. Guests may run as single-core or multi-core; that is, a guest may run in a VM configured with a single virtual CPU (vCPU), or in a VM configured with multiple vCPUs.

Note:

Guest OSs that are strictly 32-bit are not officially supported, although the hypervisor includes code to enable them. If you require support for a 32-bit guest OS, contact your QNX support team for options. Options can include guidance on validating this guest OS with the hypervisor, or running 32-bit applications on a 64-bit guest OS.

The QNX Hypervisor supports 64-bit guest OS environments such as Android or Linux that can run 32-bit applications.

The number of vCPUs in a VM affects performance. Adding vCPUs adds vCPU threads to the qvm process instance for the VM hosting the guest. Although independent of the number of hardware CPU cores, the number of vCPUs chosen by the system designer is often related to this number of physical cores. This is explained further in the Performance Tuning chapter.

Increasing the number of vCPUs in a VM can improve performance, but refer to Architecture and Virtual machines in this chapter, and the Performance Tuning chapter, to understand circumstances where additional vCPUs may reduce performance.