VIRTIO(4) BSD Kernel Interfaces Manual VIRTIO(4)
NAME
virtio -- VirtIO Device Support
SYNOPSIS
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 loader.conf(5):
virtio_load="YES"
virtio_pci_load="YES"
DESCRIPTION
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 pro-
vides 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.
SEE ALSO
virtio_balloon(4), virtio_blk(4), virtio_console(4), virtio_scsi(4), vtnet(4)
HISTORY
Support for VirtIO first appeared in FreeBSD 9.0.
AUTHORS
FreeBSD support for VirtIO was first added by Bryan Venteicher <bryanv@FreeBSD.org>.
BSD
January 22, 2012 BSD