Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VIRTIO(4)		    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 de-
       vice 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.

	     Console   Provided	by the virtio_console(4) driver.

	     Entropy   Provided	by the virtio_random(4)	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.

	     GPU       Graphics	 support  is provided by the virtio_gpu(4) de-
		       vice driver.

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

LOADER TUNABLES
       Tunables	 can  be set at	the loader(8) prompt before booting the	kernel
       or stored in loader.conf(5).

       hw.virtio.pci.disable_msix  If set to 1,	disables MSI-X.	  The  default
				   value is 0.

       hw.virtio.pci.transitional  For a transitional virtio device, this tun-
				   able	 specifies whether to negotiate	modern
				   mode	and use	the modern virtio  driver  (1)
				   or  to  negotiate  legacy  mode and use the
				   legacy  virtio  driver  (0).	  The  default
				   value is 0.

SEE ALSO
       virtio_balloon(4),   virtio_blk(4),  virtio_console(4),	virtio_gpu(4),
       virtio_random(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>.

FreeBSD	ports 15.quarterly	 April 4, 2026			     VIRTIO(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=virtio&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help