xref: /freebsd/share/man/man4/vmm.4 (revision ac69e5d471014c95070cd6294db315089a62725b)
1.\" Copyright (c) 2013 Peter Grehan
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 AUTHORS 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 AUTHORS 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.\"
25.\" $FreeBSD$
26.\"
27.Dd December 19, 2013
28.Dt VMM 4
29.Os
30.Sh NAME
31.Nm vmm.ko
32.Nd "bhyve virtual machine monitor"
33.Sh SYNOPSIS
34To load the driver as a module at boot, add this line to
35.Xr loader.conf 5 :
36.Bd -literal -offset indent
37.Cd vmm_load="YES"
38.Ed
39.Pp
40The module can also be loaded manually with
41.Xr kldload 8 :
42.Bd -literal -offset indent
43kldload vmm
44.Ed
45.Sh DESCRIPTION
46.Nm
47provides the kernel portion of the
48.Xr bhyve 4
49hypervisor.
50.Pp
51An Intel CPU with VT-x/EPT or AMD CPU with SVM support is required.
52.Pp
53PCI device passthrough to a virtual machine requires
54hardware with VT-d support.
55.Sh PCI PASSTHROUGH
56When the hardware supports VT-d, and
57.Nm
58has been loaded at boot time,
59PCI devices can be reserved for use by the hypervisor.
60Entries consisting of the PCI
61.Ar bus Ns / Ns Ar slot Ns / Ns Ar function
62are added to the
63.Va pptdevs
64.Xr loader.conf 5
65variable.
66Additional entries are separated by spaces.
67Host PCI devices that match an entry will be assigned to the hypervisor
68and will not be probed by
69.Fx
70device drivers.
71See the
72.Sx EXAMPLES
73section below for sample usage.
74.Pp
75A large number of PCI device entries may require a string longer than the
76128-character limit of
77.Xr loader.conf 5
78variables.
79The
80.Va pptdevs2
81and
82.Va pptdevs3
83variables can be used for additional entries.
84.Sh EXAMPLES
85Reserve three PCI devices for use by the hypervisor: bus 10 slot 0 function 0,
86bus 6 slot 5 function 0, and bus 6 slot 5 function 1.
87.Bd -literal -offset indent
88pptdevs="10/0/0 6/5/0 6/5/1"
89.Ed
90.Sh SEE ALSO
91.Xr bhyve 4 ,
92.Xr loader.conf 5 ,
93.Xr bhyve 8 ,
94.Xr bhyveload 8 ,
95.Xr kldload 8
96.Sh HISTORY
97.Nm vmm.ko
98first appeared in
99.Fx 10.0 .
100.Sh AUTHORS
101.An Neel Natu Aq neel@freebsd.org
102.An Peter Grehan Aq grehan@freebsd.org
103