Virtual Device Reference

Updated: October 28, 2024

This chapter presents the virtual devices (vdevs) delivered with QNX hypervisors, and describes how to configure these vdevs.

Note:

Virtual devices in a QNX Hypervisor for Safety (QHS) system

If you are using the QHS to implement a system that will be certified to a safety standard, you must use the safety-certified vdev shared objects, which contain the -safety suffix in their filenames (e.g., vdev-foo-safety.so). For information about what a qvm process considers to be a vdev safety variant, see the safety option reference.

The shared object name doesn't affect the configuration syntax or semantics. For example, assuming that such vdevs existed, you would specify the options for vdev-foo.so and vdev-foo-safety.so in the same way. It might be, however, that the safety-variant of a vdev implements restrictions or additional functionality not present in the non-safety variant. These changes might affect the safety vdev's configuration options.

Implicit vdevs

An implicit vdev is a vdev that is in the qvm process code, so it is present even if you don't specify it. You need to specify this vdev only if you want to use non-default values for its options. Implicit vdevs are marked as such in the individual vdev descriptions in this chapter.

Syntax

All vdevs specified in a qvm configuration are preceded by the vdev option, which identifies the component as a virtual device. Its mandatory name argument specifies the device type:
vdev name
For example, the following creates a vdev that emulates an Intel 8254 timer chip:
vdev timer8254
    intr myioapic:0
Note: The qvm configuration parsing and validation allows colons (“:”) in the name argument, because they may be used with some vdevs. However, this character is not supported for Programmable Interrupt Controller (PIC) vdevs (e.g., the gic or ioapic vdev). If you use a colon in a PIC device name, you will get an error when you attempt to refer to it in the configuration for another vdev (e.g., in an intr option).