Virtual Device Reference

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, use the safety-certified vdev shared objects. For instance: vdev-foo-safety.so.

The shared object name doesn't affect the configuration syntax or semantics. For example, assuming that such vdevs actually existed, you would specify the options for vdev-foo.so and vdev-foo-safety.so 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 vdev_type argument specifies the device type. The syntax for this option is:

vdev vdev_type

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 vdev name option, because they may be used with some vdevs, such as virtio-net. However, this character is not supported for Programmable Interrupt Controller (PIC) vdevs (e.g., vdev gic, vdev ioapic). 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).