Provided by: freebsd-manpages_12.2-1_all bug


     virtio — VirtIO Device Support


     To compile VirtIO device support into the kernel, place the following lines in your kernel
     configuration file:

           device virtio
           device virtio_pci

     Alternatively, to load VirtIO support as modules at boot time, place the following lines in



     VirtIO is a specification for para-virtualized I/O in a virtual machine (VM).
     Traditionally, the hypervisor emulated real devices such as an Ethernet interface or disk
     controller to provide the VM with I/O.  This emulation is often inefficient.

     VirtIO defines an interface for efficient I/O between the hypervisor and VM.  The virtio
     module provides a shared memory transport called a virtqueue.  The virtio_pci device driver
     represents an emulated PCI device that the hypervisor makes available to the VM.  This
     device provides the probing, configuration, and interrupt notifications needed to interact
     with the hypervisor.  FreeBSD supports the following VirtIO devices:

           Ethernet  An emulated Ethernet device is provided by the vtnet(4) device driver.

           Block     An emulated disk controller is provided by the virtio_blk(4) device driver.

           SCSI      An emulated SCSI HBA is provided by the virtio_scsi(4) device driver.

           Balloon   A pseudo-device to allow the VM to release memory back to the hypervisor is
                     provided by the virtio_balloon(4) device driver.


     virtio_balloon(4), virtio_blk(4), virtio_console(4), virtio_scsi(4), vtnet(4)


     Support for VirtIO first appeared in FreeBSD 9.0.


     FreeBSD support for VirtIO was first added by Bryan Venteicher <>.