Before you write your own vdev you should understand what a vdev is so that you know
what it is you are writing
QNX Hypervisor systems and vdevs
We recommend that you do at least the following, in this order:
- Read and understand the chapter Understanding QNX Virtual
Environments in the QNX Hypervisor for Safety 2.0 User's
Guide. You may also find the chapter Performance Tuning useful.
- Install and run a QNX hypervisor system, familiarize yourself with the vdevs
available, and learn to configure them.
- Read and understand this chapter.
- Get the source code for the vdevs described in this guide and play with the
sample vdevs. The source code is available on GitHub at github.com/qnx.
Hardware, QNX Neutrino and other OSs, device drivers, and the VirtIO
standard
We assume that in addition to reading the above-named chapters in the User's
Guide and this chapter, and familiarizing yourself with the QNX
Hypervisor you know:
- the QNX Neutrino OS, and how to write shared objects for a system built on this
OS
- your hardware platform; you will be writing software that runs on this hardware
and emulates a device on this hardware, so knowing the hardware architecture,
the board, and the specific board your vdev will run on is essential
- the OS or OSs that you will be running as guests in hypervisor VMs, and how to
write a device driver for them
- the VirtIO standard, if you will be writing para-virtualized devices based on
this standard