Virtual Device Reference
This chapter presents the virtual devices (vdevs) delivered with QNX hypervisors, and describes how to configure these vdevs.
- For general information about configuring VMs, including syntax,
see
Assembling and configuring VMs
in theConfiguration
chapter. - For information about the options used for configuring VMs, see the
VM Configuration Reference
chapter. - For information about options available to all vdevs, see
Common vdev 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
vdev option, which identifies the component as a virtual
device. Its mandatory name argument specifies the device type:
vdev namevdev timer8254
intr myioapic:0:) 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).
Multiple listings of a vdev
If you specify the same vdev more than once in a VM configuration, the shared object (vdev-*.so) file that implements the vdev is still loaded by the associated qvm process instance only once. In this case, then, the shared object must manage as many distinct device instances as the guest will need to access for its purposes, just as you would have to connect multiple hardware devices of the same type to support multiple use cases by an OS in a non-virtualized system.
To manage multiple device instances, the vdev must arrange its data to avoid interference between the instances. For information on doing so, refer to the vdev_s and vdev_factory entries in the Virtual Device Developer's API Reference.
