Virtio_Balloon implementation for DragonFly
[dragonfly.git] / share / man / man4 / virtio.4
CommitLineData
17905a98
SW
1.\" Copyright (c) 2011 Bryan Venteicher
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
eff15082 25.\" $FreeBSD: head/share/man/man4/virtio.4 273515 2014-10-23 04:47:32Z bryanv $
17905a98 26.\"
95fbc42e 27.Dd October 26, 2018
17905a98
SW
28.Dt VIRTIO 4
29.Os
30.Sh NAME
31.Nm virtio
32.Nd VirtIO Device Support
33.Sh SYNOPSIS
34To compile VirtIO device support into the kernel, place the following lines
35in your kernel configuration file:
36.Bd -ragged -offset indent
37.Cd "device virtio"
17905a98
SW
38.Ed
39.Pp
40Alternatively, to load VirtIO support as modules at boot time, place the
41following lines in
42.Xr loader.conf 5 :
43.Bd -literal -offset indent
17905a98
SW
44virtio_pci_load="YES"
45.Ed
46.Sh DESCRIPTION
47VirtIO is a specification for para-virtualized I/O in a virtual machine (VM).
48Traditionally, the hypervisor emulated real devices such as an Ethernet
49interface or disk controller to provide the VM with I/O.
50This emulation is often inefficient.
51.Pp
52VirtIO defines an interface for efficient I/O between the hypervisor and VM.
53The
ef31a1a8 54.Nm
17905a98
SW
55module provides a shared memory transport called a virtqueue.
56The
ef31a1a8 57.Nm virtio_pci
17905a98
SW
58device driver represents an emulated PCI device that the hypervisor makes
59available to the VM.
60This device provides the probing, configuration, and
61interrupt notifications needed to interact with the hypervisor.
62.Dx
eff15082 63supports the following VirtIO devices:
17905a98 64.Bl -hang -offset indent -width xxxxxxxx
faa875a4
IV
65.It Nm Ethernet
66An emulated Ethernet device is provided by the
67.Xr vtnet 4
68device driver.
17905a98
SW
69.It Nm Block
70An emulated disk controller is provided by the
71.Xr virtio_blk 4
72device driver.
eff15082
SW
73.It Nm SCSI
74An emulated SCSI HBA is provided by the
75.Xr virtio_scsi 4
76device driver.
95fbc42e
DG
77.It Nm Balloon
78A pseudo-device to allow the VM to release memory back to the hypervisor is
79provided by the
80.Xr virtio_balloon 4
81device driver.
17905a98 82.El
c8247d06
IV
83.Sh LOADER TUNABLES
84Tunables can be set at the
85.Xr loader 8
86prompt before booting the kernel or stored in
87.Xr loader.conf 5 .
88.Bl -tag -width "xxxxxx"
89.It Va hw.virtio.pci.disable_msix
90This tunable disables MSI-X interrupt usage.
91The default value is 0 (use MSI-X interrupts if available).
92.El
17905a98 93.Sh SEE ALSO
95fbc42e 94.Xr virtio_balloon 4 ,
eff15082
SW
95.Xr virtio_blk 4 ,
96.\".Xr virtio_console 4 ,
0625343f 97.Xr virtio_random 4 ,
eff15082 98.Xr virtio_scsi 4 ,
faa875a4 99.Xr vtnet 4
17905a98
SW
100.Sh HISTORY
101Support for VirtIO first appeared in
102.Fx 9.0 .
103.Sh AUTHORS
104.An -nosplit
105.Fx
106support for VirtIO was first added by
eff15082 107.An Bryan Venteicher Aq Mt bryanv@FreeBSD.org .
95fbc42e
DG
108.Pp
109.Dx support for Virtio Memory Balloon adapted by
110.An Diederik de Groot Aq Mt info@talon.nl .