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 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
variant that you're using, you know:
- the QNX Neutrino RTOS, 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
and the specific board your vdev will run on is essential
- the OSs that you will be running as guests in hypervisor VMs, and how to
write device drivers for them
- the VIRTIO standard, if you will be writing para-virtualized devices based on
this standard