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  Eth-
     ernet interface or disk controller to provide the VM with I/O.  This emula-
     tion 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) de-
		     vice driver.

	   Block     An  emulated  disk  controller  is  provided  by  the  vir-
		     tio_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)  device
		     driver.

	   SCSI      An  emulated SCSI HBA is provided by the virtio_scsi(4) de-
		     vice 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 tunable
				 specifies whether to negotiate modern mode  and
				 use  the modern virtio driver (1) or to negoti-
				 ate legacy mode and use the legacy virtio  dri-
				 ver (0).  The default value is 0.

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