New Feature: VirtIO based paravirtualization Date: Wed, 17 Apr 2013 21:52:29 +0530  |  Posted by: Anup Patel

We have VirtIO based paravirtualization available in Xvisor for guests on all supported architectures.

VirtIO is an abstraction for a set of commonly emulated devices in a paravirtualized hypervisor. A VirtIO device is a paravirtualized device which comply with VirtIO abstraction. Usually, a VirtIO device is shown to guest as a PCI device or a MMIO device.

The VirtIO specification is hypervisor and architecture independent specification which describes the details and functioning of different types of VirtIO devices.

The official VirtIO specification can be found at http://ozlabs.org/~rusty/virtio-spec/ .

Other hypervisors that support VirtIO based paravirtualized devices include Lguest, KVM, and Xen. It was originally developed by Rusty Russell for paravirtualization in Lguest.

In Xvisor, VirtIO devices are provided as optional PCI/MMIO devices to guests so that using VirtIO is not mandatory for the guest os.

Currently, we have following types of VirtIO devices in Xvisor:

  • VirtIO Net - (Paravirtualized Network Device)
  • VirtIO Block - (Paravirtualized Block Device)
  • VirtIO Console - (Paravirtualized Console Device)

We have already enabled VirtIO devices for most ARM guests so nothing additional requires to be done for using VirtIO on Xvisor ARM.

In future, we will have more VirtIO devices in Xvisor and we might even contribute new VirtIO devices to the open source community.