Prerequisites

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:

  1. Read and understand the chapter Understanding QNX Virtual Environments in the User's Guide. You may also find the chapter Performance Tuning useful.
  2. Install and run a QNX hypervisor system, familiarize yourself with the vdevs available, and learn to configure them.
  3. Read and understand this chapter.
  4. Get the source code for the vdevs described in this guide and play with the sample vdevs. The source code is available on GitLab at https://gitlab.com/qnx/hypervisor.

Hardware, QNX OS 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 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 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
Page updated: