xref: /freebsd/usr.sbin/bhyve/bhyve.8 (revision 67c26eb2a57cd1f103d77db3b894a25f4bc10402)
1b13e60daSPeter Grehan.\" Copyright (c) 2013 Peter Grehan
2b13e60daSPeter Grehan.\" All rights reserved.
3b13e60daSPeter Grehan.\"
4b13e60daSPeter Grehan.\" Redistribution and use in source and binary forms, with or without
5b13e60daSPeter Grehan.\" modification, are permitted provided that the following conditions
6b13e60daSPeter Grehan.\" are met:
7b13e60daSPeter Grehan.\" 1. Redistributions of source code must retain the above copyright
8b13e60daSPeter Grehan.\"    notice, this list of conditions and the following disclaimer.
9b13e60daSPeter Grehan.\" 2. Redistributions in binary form must reproduce the above copyright
10b13e60daSPeter Grehan.\"    notice, this list of conditions and the following disclaimer in the
11b13e60daSPeter Grehan.\"    documentation and/or other materials provided with the distribution.
12b13e60daSPeter Grehan.\"
13b13e60daSPeter Grehan.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
14b13e60daSPeter Grehan.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15b13e60daSPeter Grehan.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16b13e60daSPeter Grehan.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
17b13e60daSPeter Grehan.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18b13e60daSPeter Grehan.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19b13e60daSPeter Grehan.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20b13e60daSPeter Grehan.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21b13e60daSPeter Grehan.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22b13e60daSPeter Grehan.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23b13e60daSPeter Grehan.\" SUCH DAMAGE.
24b13e60daSPeter Grehan.\"
2566659955SAlexey Marchenko.Dd May 5, 2023
26b13e60daSPeter Grehan.Dt BHYVE 8
27b13e60daSPeter Grehan.Os
28b13e60daSPeter Grehan.Sh NAME
29b13e60daSPeter Grehan.Nm bhyve
30b13e60daSPeter Grehan.Nd "run a guest operating system inside a virtual machine"
31b13e60daSPeter Grehan.Sh SYNOPSIS
32b13e60daSPeter Grehan.Nm
33c4df8cbfSRobert Wing.Op Fl AaCDeHhPSuWwxY
3401d822d3SRodney W. Grimes.Oo
3577d208a3SMateusz Piotrowski.Sm off
3677d208a3SMateusz Piotrowski.Fl c\~
3701d822d3SRodney W. Grimes.Oo
3877d208a3SMateusz Piotrowski.Op Cm cpus=
3977d208a3SMateusz Piotrowski.Ar numcpus
4001d822d3SRodney W. Grimes.Oc
4177d208a3SMateusz Piotrowski.Op Cm ,sockets= Ar n
4277d208a3SMateusz Piotrowski.Op Cm ,cores= Ar n
4377d208a3SMateusz Piotrowski.Op Cm ,threads= Ar n
4477d208a3SMateusz Piotrowski.Oc
4577d208a3SMateusz Piotrowski.Sm on
46ca14781cSCorvin Köhne.Oo Fl f
47ca14781cSCorvin Köhne.Sm off
48ca14781cSCorvin Köhne.Ar name Cm \&,
49ca14781cSCorvin Köhne.Oo
50ca14781cSCorvin Köhne.Cm string No | Cm file
51ca14781cSCorvin Köhne.Oc
52ca14781cSCorvin Köhne.Cm \&= Ar data
53ca14781cSCorvin Köhne.Sm on
54ca14781cSCorvin Köhne.Oc
55775f6f45SMateusz Piotrowski.Oo
56b70b050aSJohn Baldwin.Sm off
57775f6f45SMateusz Piotrowski.Fl G\~
58b70b050aSJohn Baldwin.Oo Ar w Oc
59775f6f45SMateusz Piotrowski.Oo Ar bind_address Cm \&: Oc
60b70b050aSJohn Baldwin.Ar port
61b70b050aSJohn Baldwin.Sm on
62b70b050aSJohn Baldwin.Oc
63f656df58SMateusz Piotrowski.Op Fl k Ar config_file
6419eaa01bSMichael Reifenberger.Op Fl K Ar layout
6577d208a3SMateusz Piotrowski.Oo Fl l
6677d208a3SMateusz Piotrowski.Sm off
67bfe40b69SMateusz Piotrowski.Ar lpcdev Op Cm \&, Ar conf
6877d208a3SMateusz Piotrowski.Sm on
6977d208a3SMateusz Piotrowski.Oc
7077d208a3SMateusz Piotrowski.Sm off
71775f6f45SMateusz Piotrowski.Oo Fl m\~
7277d208a3SMateusz Piotrowski.Ar memsize
7377d208a3SMateusz Piotrowski.Oo
748d9fefe6SMateusz Piotrowski.Cm K | Cm k | Cm M | Cm m | Cm G | Cm g | Cm T | Cm t
7577d208a3SMateusz Piotrowski.Oc
7677d208a3SMateusz Piotrowski.Sm on
7777d208a3SMateusz Piotrowski.Oc
78621b5090SJohn Baldwin.Op Fl o Ar var Ns Cm = Ns Ar value
7977d208a3SMateusz Piotrowski.Op Fl p Ar vcpu Ns Cm \&: Ns Ar hostcpu
80483d953aSJohn Baldwin.Op Fl r Ar file
8177d208a3SMateusz Piotrowski.Sm off
82bfe40b69SMateusz Piotrowski.Oo Fl s\~
83bfe40b69SMateusz Piotrowski.Ar slot Cm \&, Ar emulation Op Cm \&, Ar conf
8477d208a3SMateusz Piotrowski.Sm on
8577d208a3SMateusz Piotrowski.Oc
865749449dSJohn Baldwin.Op Fl U Ar uuid
87b13e60daSPeter Grehan.Ar vmname
88bfe40b69SMateusz Piotrowski.Nm
89bfe40b69SMateusz Piotrowski.Fl l Cm help
90bfe40b69SMateusz Piotrowski.Nm
91bfe40b69SMateusz Piotrowski.Fl s Cm help
92b13e60daSPeter Grehan.Sh DESCRIPTION
93b13e60daSPeter Grehan.Nm
947fca1ad5SGlen Barberis a hypervisor that runs guest operating systems inside a
95b13e60daSPeter Grehanvirtual machine.
96b13e60daSPeter Grehan.Pp
97b13e60daSPeter GrehanParameters such as the number of virtual CPUs, amount of guest memory, and
98b13e60daSPeter GrehanI/O connectivity can be specified with command-line parameters.
99b13e60daSPeter Grehan.Pp
1005c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must be loaded with
10184fe889cSChristian Brueffer.Xr bhyveload 8
102b13e60daSPeter Grehanor a similar boot loader before running
1035c3ec676SGleb Smirnoff.Nm ,
1045c3ec676SGleb Smirnoffotherwise, it is enough to run
1055c3ec676SGleb Smirnoff.Nm
1065c3ec676SGleb Smirnoffwith a boot ROM of choice.
107b13e60daSPeter Grehan.Pp
108b13e60daSPeter Grehan.Nm
109b13e60daSPeter Grehanruns until the guest operating system reboots or an unhandled hypervisor
110b13e60daSPeter Grehanexit is detected.
111b13e60daSPeter Grehan.Sh OPTIONS
112b13e60daSPeter Grehan.Bl -tag -width 10n
113b13e60daSPeter Grehan.It Fl A
114b13e60daSPeter GrehanGenerate ACPI tables.
115b13e60daSPeter GrehanRequired for
116b13e60daSPeter Grehan.Fx Ns /amd64
117b13e60daSPeter Grehanguests.
118ccb1c87aSMateusz Piotrowski.It Fl a
119ccb1c87aSMateusz PiotrowskiThe guest's local APIC is configured in xAPIC mode.
120ccb1c87aSMateusz PiotrowskiThe xAPIC mode is the default setting so this option is redundant.
121ccb1c87aSMateusz PiotrowskiIt will be deprecated in a future version.
122ccb1c87aSMateusz Piotrowski.It Fl C
123ccb1c87aSMateusz PiotrowskiInclude guest memory in core file.
12401d822d3SRodney W. Grimes.It Fl c Op Ar setting ...
12501d822d3SRodney W. GrimesNumber of guest virtual CPUs
12601d822d3SRodney W. Grimesand/or the CPU topology.
12701d822d3SRodney W. GrimesThe default value for each of
12801d822d3SRodney W. Grimes.Ar numcpus ,
12901d822d3SRodney W. Grimes.Ar sockets ,
13001d822d3SRodney W. Grimes.Ar cores ,
13101d822d3SRodney W. Grimesand
13201d822d3SRodney W. Grimes.Ar threads
13301d822d3SRodney W. Grimesis 1.
13401d822d3SRodney W. GrimesThe current maximum number of guest virtual CPUs is 16.
13501d822d3SRodney W. GrimesIf
13601d822d3SRodney W. Grimes.Ar numcpus
13701d822d3SRodney W. Grimesis not specified then it will be calculated from the other arguments.
13801d822d3SRodney W. GrimesThe topology must be consistent in that the
13901d822d3SRodney W. Grimes.Ar numcpus
14001d822d3SRodney W. Grimesmust equal the product of
14101d822d3SRodney W. Grimes.Ar sockets ,
14201d822d3SRodney W. Grimes.Ar cores ,
14301d822d3SRodney W. Grimesand
14401d822d3SRodney W. Grimes.Ar threads .
14501d822d3SRodney W. GrimesIf a
14601d822d3SRodney W. Grimes.Ar setting
14701d822d3SRodney W. Grimesis specified more than once the last one has precedence.
1480a1016f9SPawel Biernacki.It Fl D
1490a1016f9SPawel BiernackiDestroy the VM on guest initiated power-off.
150cde1f5b8SJohn Baldwin.It Fl e
151cde1f5b8SJohn BaldwinForce
152cde1f5b8SJohn Baldwin.Nm
153cde1f5b8SJohn Baldwinto exit when a guest issues an access to an I/O port that is not emulated.
154cde1f5b8SJohn BaldwinThis is intended for debug purposes.
155ca14781cSCorvin Köhne.It Fl f Ar name Ns Cm \&, Ns Oo Cm string Ns No | Ns Cm file Ns Oc Ns Cm \&= Ns Ar data
156ca14781cSCorvin KöhneAdd a fw_cfg file
157ca14781cSCorvin Köhne.Ar name
158ca14781cSCorvin Köhneto the fw_cfg interface.
159ca14781cSCorvin KöhneIf a
160ca14781cSCorvin Köhne.Cm string
161ca14781cSCorvin Köhneis specified, the fw_cfg file contains the string as data.
162ca14781cSCorvin KöhneIf a
163ca14781cSCorvin Köhne.Cm file
164ca14781cSCorvin Köhneis specified, bhyve reads the file and adds the file content as fw_cfg data.
1652cdff991SMariusz Zaborski.It Fl G Xo
1662cdff991SMariusz Zaborski.Sm off
1672cdff991SMariusz Zaborski.Oo Ar w Oc
168775f6f45SMateusz Piotrowski.Oo Ar bind_address Cm \&: Oc
1692cdff991SMariusz Zaborski.Ar port
1702cdff991SMariusz Zaborski.Sm on
1712cdff991SMariusz Zaborski.Xc
172cd377eb3SJohn BaldwinStart a debug server that uses the GDB protocol to export guest state to a
173cd377eb3SJohn Baldwindebugger.
174cd377eb3SJohn BaldwinAn IPv4 TCP socket will be bound to the supplied
1752cdff991SMariusz Zaborski.Ar bind_address
1762cdff991SMariusz Zaborskiand
177cd377eb3SJohn Baldwin.Ar port
178cd377eb3SJohn Baldwinto listen for debugger connections.
179cd377eb3SJohn BaldwinOnly a single debugger may be attached to the debug server at a time.
1802cdff991SMariusz ZaborskiIf the option begins with
181cd377eb3SJohn Baldwin.Sq w ,
182cd377eb3SJohn Baldwin.Nm
183cd377eb3SJohn Baldwinwill pause execution at the first instruction waiting for a debugger to attach.
184cde1f5b8SJohn Baldwin.It Fl H
185cde1f5b8SJohn BaldwinYield the virtual CPU thread when a HLT instruction is detected.
186cde1f5b8SJohn BaldwinIf this option is not specified, virtual CPUs will use 100% of a host CPU.
187ccb1c87aSMateusz Piotrowski.It Fl h
188ccb1c87aSMateusz PiotrowskiPrint help message and exit.
189f656df58SMateusz Piotrowski.It Fl k Ar config_file
190621b5090SJohn BaldwinSet configuration variables from a simple, key-value config file.
191621b5090SJohn BaldwinEach line of the config file is expected to consist of a config variable
192621b5090SJohn Baldwinname, an equals sign
19319eaa01bSMichael Reifenberger.It Fl K Ar layout
19419eaa01bSMichael ReifenbergerSpecify the keyboard layout.
19519eaa01bSMichael ReifenbergerThe value that can be specified sets the file name in
19619eaa01bSMichael Reifenberger.Ar /usr/share/bhyve/kbdlayout .
19719eaa01bSMichael ReifenbergerThis specification only works when loaded with UEFI mode for VNC.
19819eaa01bSMichael ReifenbergerWhen using a VNC client that supports QEMU Extended Key Event Message (e.g. TigerVNC), this option isn't needed.
19919eaa01bSMichael ReifenbergerWhen using a VNC client that doesn't support QEMU Extended Key Event Message (e.g. tightVNC), the layout defaults to the US keyboard unless specified otherwise.
200621b5090SJohn Baldwin.Pq Sq = ,
201621b5090SJohn Baldwinand a value.
202621b5090SJohn BaldwinNo spaces are permitted between the variable name, equals sign, or
203621b5090SJohn Baldwinvalue.
204621b5090SJohn BaldwinBlank lines and lines starting with
205621b5090SJohn Baldwin.Sq #
206621b5090SJohn Baldwinare ignored.
207f656df58SMateusz PiotrowskiSee
208f656df58SMateusz Piotrowski.Xr bhyve_config 5
209f656df58SMateusz Piotrowskifor more details.
2104c08b978SMateusz Piotrowski.It Fl l Cm help
2114c08b978SMateusz PiotrowskiPrint a list of supported LPC devices.
2124c08b978SMateusz Piotrowski.It Fl l Ar lpcdev Ns Op Cm \&, Ns Ar conf
213cde1f5b8SJohn BaldwinAllow devices behind the LPC PCI-ISA bridge to be configured.
2149b1aa8d6SNeel NatuThe only supported devices are the TTY-class devices
2154c08b978SMateusz Piotrowski.Cm com1 , com2 , com3 ,
2164c08b978SMateusz Piotrowskiand
2174c08b978SMateusz Piotrowski.Cm com4 ,
218*67c26eb2SCorvin Köhnethe TPM module
219*67c26eb2SCorvin Köhne.Cm tpm ,
2202f40fc6fSPeter Grehanthe boot ROM device
2214c08b978SMateusz Piotrowski.Cm bootrom ,
222d85147f3SCorvin Köhnethe
223d85147f3SCorvin Köhne.Cm fwcfg
224d85147f3SCorvin Köhnetype and the debug/test device
2254c08b978SMateusz Piotrowski.Cm pc-testdev .
2261aa56353SMarcelo Araujo.Pp
2274c08b978SMateusz PiotrowskiThe possible values for the
2284c08b978SMateusz Piotrowski.Ar conf
2294c08b978SMateusz Piotrowskiargument are listed in the
2304c08b978SMateusz Piotrowski.Fl s
2314c08b978SMateusz Piotrowskiflag description.
2327e0cb3dfSMateusz Piotrowski.It Xo
2337e0cb3dfSMateusz Piotrowski.Fl m Ar memsize Ns Oo
2347e0cb3dfSMateusz Piotrowski.Sm off
2357e0cb3dfSMateusz Piotrowski.Cm K | k | M | m | G | g | T | t
2367e0cb3dfSMateusz Piotrowski.Sm on
2377e0cb3dfSMateusz Piotrowski.Oc
2387e0cb3dfSMateusz Piotrowski.Xc
2397e0cb3dfSMateusz PiotrowskiSet the guest physical memory size
240cde1f5b8SJohn BaldwinThis must be the same size that was given to
241cde1f5b8SJohn Baldwin.Xr bhyveload 8 .
242cde1f5b8SJohn Baldwin.Pp
2437e0cb3dfSMateusz PiotrowskiThe size argument may be suffixed with one of
2447e0cb3dfSMateusz Piotrowski.Cm K , M , G
2457e0cb3dfSMateusz Piotrowskior
2467e0cb3dfSMateusz Piotrowski.Cm T
2477e0cb3dfSMateusz Piotrowski(either upper or lower case)
2487e0cb3dfSMateusz Piotrowskito indicate a multiple of kilobytes, megabytes, gigabytes, or terabytes.
249cde1f5b8SJohn BaldwinIf no suffix is given, the value is assumed to be in megabytes.
2506ee52c65SRoman Bogorodskiy.Pp
2517e0cb3dfSMateusz PiotrowskiThe default is 256M.
252621b5090SJohn Baldwin.It Fl o Ar var Ns Cm = Ns Ar value
253621b5090SJohn BaldwinSet the configuration variable
254621b5090SJohn Baldwin.Ar var
255621b5090SJohn Baldwinto
256621b5090SJohn Baldwin.Ar value .
257ccb1c87aSMateusz Piotrowski.It Fl P
258ccb1c87aSMateusz PiotrowskiForce the guest virtual CPU to exit when a PAUSE instruction is detected.
25990df5437SMateusz Piotrowski.It Fl p Ar vcpu Ns Cm \& : Ns Ar hostcpu
2609b6155a2SNeel NatuPin guest's virtual CPU
2619b6155a2SNeel Natu.Em vcpu
2629b6155a2SNeel Natuto
2639b6155a2SNeel Natu.Em hostcpu .
264483d953aSJohn Baldwin.It Fl r Ar file
265483d953aSJohn BaldwinResume a guest from a snapshot.
266483d953aSJohn BaldwinThe guest memory contents are restored from
267483d953aSJohn Baldwin.Ar file ,
268483d953aSJohn Baldwinand the guest device and vCPU state are restored from the file
269483d953aSJohn Baldwin.Dq Ar file Ns .kern .
270483d953aSJohn Baldwin.Pp
271483d953aSJohn BaldwinNote that the current snapshot file format requires that the configuration of
272483d953aSJohn Baldwindevices in the new VM match the VM from which the snapshot was taken by specifying the
273483d953aSJohn Baldwinsame
274b24eea8cSMateusz Piotrowski.Fl s
275483d953aSJohn Baldwinand
276b24eea8cSMateusz Piotrowski.Fl l
277483d953aSJohn Baldwinoptions.
278483d953aSJohn BaldwinThe count of vCPUs and memory configuration are read from the snapshot.
279ccb1c87aSMateusz Piotrowski.It Fl S
280ccb1c87aSMateusz PiotrowskiWire guest memory.
281449f0e48SMateusz Piotrowski.It Fl s Cm help
282449f0e48SMateusz PiotrowskiPrint a list of supported PCI devices.
283449f0e48SMateusz Piotrowski.It Fl s Ar slot Ns Cm \&, Ns Ar emulation Ns Op Cm \&, Ns Ar conf
284b13e60daSPeter GrehanConfigure a virtual PCI slot and function.
285b13e60daSPeter Grehan.Pp
28684fe889cSChristian Brueffer.Nm
287b13e60daSPeter Grehanprovides PCI bus emulation and virtual devices that can be attached to
288b13e60daSPeter Grehanslots on the bus.
289b13e60daSPeter GrehanThere are 32 available slots, with the option of providing up to 8 functions
290b13e60daSPeter Grehanper slot.
291234d8c47SMateusz Piotrowski.Pp
292234d8c47SMateusz PiotrowskiThe
293234d8c47SMateusz Piotrowski.Ar slot
294234d8c47SMateusz Piotrowskican be specified in one of the following formats:
295234d8c47SMateusz Piotrowski.Pp
296234d8c47SMateusz Piotrowski.Bl -bullet -compact
297234d8c47SMateusz Piotrowski.It
298234d8c47SMateusz Piotrowski.Ar pcislot
299234d8c47SMateusz Piotrowski.It
300234d8c47SMateusz Piotrowski.Sm off
301234d8c47SMateusz Piotrowski.Ar pcislot Cm \&: Ar function
302234d8c47SMateusz Piotrowski.Sm on
303234d8c47SMateusz Piotrowski.It
304234d8c47SMateusz Piotrowski.Sm off
305234d8c47SMateusz Piotrowski.Ar bus Cm \&: Ar pcislot Cm \&: Ar function
306234d8c47SMateusz Piotrowski.Sm on
307234d8c47SMateusz Piotrowski.El
308b13e60daSPeter Grehan.Pp
309b13e60daSPeter GrehanThe
310b13e60daSPeter Grehan.Ar pcislot
31184fe889cSChristian Brueffervalue is 0 to 31.
31284fe889cSChristian BruefferThe optional
31384fe889cSChristian Brueffer.Ar function
31484fe889cSChristian Brueffervalue is 0 to 7.
31584fe889cSChristian BruefferThe optional
31606db1b4aSNeel Natu.Ar bus
31706db1b4aSNeel Natuvalue is 0 to 255.
31884fe889cSChristian BruefferIf not specified, the
31984fe889cSChristian Brueffer.Ar function
32084fe889cSChristian Brueffervalue defaults to 0.
32184fe889cSChristian BruefferIf not specified, the
32284fe889cSChristian Brueffer.Ar bus
32384fe889cSChristian Brueffervalue defaults to 0.
324234d8c47SMateusz Piotrowski.Pp
325234d8c47SMateusz PiotrowskiThe
326234d8c47SMateusz Piotrowski.Ar emulation
327234d8c47SMateusz Piotrowskiargument
328234d8c47SMateusz Piotrowskican be one of the following:
3297014cb23SMateusz Piotrowski.Bl -tag -width "amd_hostbridge"
3307014cb23SMateusz Piotrowski.It Cm hostbridge
3317014cb23SMateusz PiotrowskiA simple host bridge.
332b13e60daSPeter GrehanThis is usually configured at slot 0, and is required by most guest
333b13e60daSPeter Grehanoperating systems.
3347014cb23SMateusz Piotrowski.It Cm amd_hostbridge
3357014cb23SMateusz PiotrowskiEmulation identical to
3367014cb23SMateusz Piotrowski.Cm hostbridge
3377014cb23SMateusz Piotrowskiusing a PCI vendor ID of AMD.
3387014cb23SMateusz Piotrowski.It Cm passthru
339b13e60daSPeter GrehanPCI pass-through device.
3407014cb23SMateusz Piotrowski.It Cm virtio-net
341b13e60daSPeter GrehanVirtio network interface.
3427014cb23SMateusz Piotrowski.It Cm virtio-blk
343b13e60daSPeter GrehanVirtio block storage interface.
3447014cb23SMateusz Piotrowski.It Cm virtio-scsi
345f9c005a1SMarcelo AraujoVirtio SCSI interface.
3467014cb23SMateusz Piotrowski.It Cm virtio-9p
347100353cfSJakub Wojciech KlamaVirtio 9p (VirtFS) interface.
3487014cb23SMateusz Piotrowski.It Cm virtio-rnd
3499d0c4e17SPeter GrehanVirtio RNG interface.
3507014cb23SMateusz Piotrowski.It Cm virtio-console
3515121b6ccSRoman BogorodskiyVirtio console interface, which exposes multiple ports
3525121b6ccSRoman Bogorodskiyto the guest in the form of simple char devices for simple IO
3535121b6ccSRoman Bogorodskiybetween the guest and host userspaces.
354054accacSCorvin Köhne.It Cm virtio-input
355054accacSCorvin KöhneVirtio input interface.
3567014cb23SMateusz Piotrowski.It Cm ahci
357d6099860SMaxim KonovalovAHCI controller attached to arbitrary devices.
3587014cb23SMateusz Piotrowski.It Cm ahci-cd
359b13e60daSPeter GrehanAHCI controller attached to an ATAPI CD/DVD.
3607014cb23SMateusz Piotrowski.It Cm ahci-hd
3617014cb23SMateusz PiotrowskiAHCI controller attached to a SATA hard drive.
3627014cb23SMateusz Piotrowski.It Cm e1000
3639e749f25SAlexander MotinIntel e82545 network interface.
3647014cb23SMateusz Piotrowski.It Cm uart
365b13e60daSPeter GrehanPCI 16550 serial device.
3667014cb23SMateusz Piotrowski.It Cm lpc
3677014cb23SMateusz PiotrowskiLPC PCI-ISA bridge with COM1, COM2, COM3, and COM4 16550 serial ports,
3687014cb23SMateusz Piotrowskia boot ROM, and,
369d85147f3SCorvin Köhneoptionally, a fwcfg type and the debug/test device.
3709b1aa8d6SNeel NatuThe LPC bridge emulation can only be configured on bus 0.
3717014cb23SMateusz Piotrowski.It Cm fbuf
3726c87a2c0SGleb SmirnoffRaw framebuffer device attached to VNC server.
3737014cb23SMateusz Piotrowski.It Cm xhci
3745c3ec676SGleb SmirnoffeXtensible Host Controller Interface (xHCI) USB controller.
3757014cb23SMateusz Piotrowski.It Cm nvme
376c066c68cSMarcelo AraujoNVM Express (NVMe) controller.
3777014cb23SMateusz Piotrowski.It Cm hda
37836f9f044SWarner LoshHigh Definition Audio Controller.
379b13e60daSPeter Grehan.El
380234d8c47SMateusz Piotrowski.Pp
381234d8c47SMateusz PiotrowskiThe optional parameter
382234d8c47SMateusz Piotrowski.Ar conf
383234d8c47SMateusz Piotrowskidescribes the backend for device emulations.
384b13e60daSPeter GrehanIf
385b13e60daSPeter Grehan.Ar conf
386b13e60daSPeter Grehanis not specified, the device emulation has no backend and can be
387b13e60daSPeter Grehanconsidered unconnected.
388b13e60daSPeter Grehan.Pp
3898d9fefe6SMateusz PiotrowskiNetwork device backends:
3907fb22729SMateusz Piotrowski.Sm off
3917fb22729SMateusz Piotrowski.Bl -bullet
3927fb22729SMateusz Piotrowski.It
3937fb22729SMateusz Piotrowski.Xo
3947fb22729SMateusz Piotrowski.Cm tap Ar N
3957fb22729SMateusz Piotrowski.Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx
3967fb22729SMateusz Piotrowski.Op Cm \&,mtu= Ar N
3977fb22729SMateusz Piotrowski.Xc
3987fb22729SMateusz Piotrowski.It
3997fb22729SMateusz Piotrowski.Xo
4007fb22729SMateusz Piotrowski.Cm vmnet Ar N
4017fb22729SMateusz Piotrowski.Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx
4027fb22729SMateusz Piotrowski.Op Cm \&,mtu= Ar N
4037fb22729SMateusz Piotrowski.Xc
4047fb22729SMateusz Piotrowski.It
4057fb22729SMateusz Piotrowski.Xo
4067fb22729SMateusz Piotrowski.Cm netgraph,path= Ar ADDRESS Cm \&,peerhook= Ar HOOK
4077fb22729SMateusz Piotrowski.Op Cm \&,socket= Ar NAME
4087fb22729SMateusz Piotrowski.Op Cm \&,hook= Ar HOOK
4097fb22729SMateusz Piotrowski.Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx
4107fb22729SMateusz Piotrowski.Op Cm \&,mtu= Ar N
4117fb22729SMateusz Piotrowski.Xc
4127fb22729SMateusz Piotrowski.El
4137fb22729SMateusz Piotrowski.Sm on
414baf753ccSJohn Baldwin.Pp
415b13e60daSPeter GrehanIf
4167fb22729SMateusz Piotrowski.Cm mac
417b13e60daSPeter Grehanis not specified, the MAC address is derived from a fixed OUI and the
418b13e60daSPeter Grehanremaining bytes from an MD5 hash of the slot and function numbers and
419b13e60daSPeter Grehanthe device name.
420b13e60daSPeter Grehan.Pp
421b13e60daSPeter GrehanThe MAC address is an ASCII string in
422b13e60daSPeter Grehan.Xr ethers 5
423b13e60daSPeter Grehanformat.
424692dbfe9SVincenzo Maffione.Pp
4257fb22729SMateusz PiotrowskiWith
4267fb22729SMateusz Piotrowski.Cm virtio-net
4277fb22729SMateusz Piotrowskidevices, the
4287fb22729SMateusz Piotrowski.Cm mtu
429692dbfe9SVincenzo Maffioneparameter can be specified to inform the guest about the largest MTU
430692dbfe9SVincenzo Maffionethat should be allowed, expressed in bytes.
431e90337e4SAleksandr Fedorov.Pp
4327fb22729SMateusz PiotrowskiWith
4337fb22729SMateusz Piotrowski.Cm netgraph
4347fb22729SMateusz Piotrowskibackend, the
4357fb22729SMateusz Piotrowski.Cm path
436e90337e4SAleksandr Fedorovand
4377fb22729SMateusz Piotrowski.Cm peerhook
438e90337e4SAleksandr Fedorovparameters must be specified to set the destination node and corresponding hook.
439e90337e4SAleksandr FedorovThe optional parameters
4407fb22729SMateusz Piotrowski.Cm socket
441e90337e4SAleksandr Fedorovand
4427fb22729SMateusz Piotrowski.Cm hook
443e90337e4SAleksandr Fedorovmay be used to set the
444e90337e4SAleksandr Fedorov.Xr ng_socket 4
445e90337e4SAleksandr Fedorovnode name and source hook.
446e90337e4SAleksandr FedorovThe
447e90337e4SAleksandr Fedorov.Ar ADDRESS ,
4487fb22729SMateusz Piotrowski.Ar HOOK ,
449e90337e4SAleksandr Fedorovand
450e90337e4SAleksandr Fedorov.Ar NAME
451e90337e4SAleksandr Fedorovmust comply with
452e90337e4SAleksandr Fedorov.Xr netgraph 4
453e90337e4SAleksandr Fedorovaddressing rules.
454b13e60daSPeter Grehan.Pp
4555232a35fSMateusz PiotrowskiBlock storage device backends:
4565232a35fSMateusz Piotrowski.Sm off
4575232a35fSMateusz Piotrowski.Bl -bullet
4585232a35fSMateusz Piotrowski.It
4595232a35fSMateusz Piotrowski.Ar /filename Op Cm \&, Ar block-device-options
4605232a35fSMateusz Piotrowski.It
4615232a35fSMateusz Piotrowski.Ar /dev/xxx Op Cm \&, Ar block-device-options
4624e43c1e8SNeel Natu.El
4635232a35fSMateusz Piotrowski.Sm on
4644e43c1e8SNeel Natu.Pp
4654e43c1e8SNeel NatuThe
4664e43c1e8SNeel Natu.Ar block-device-options
4674e43c1e8SNeel Natuare:
4685232a35fSMateusz Piotrowski.Bl -tag -width 10n
4695232a35fSMateusz Piotrowski.It Cm nocache
470b13e60daSPeter GrehanOpen the file with
471b13e60daSPeter Grehan.Dv O_DIRECT .
4725232a35fSMateusz Piotrowski.It Cm direct
473b13e60daSPeter GrehanOpen the file using
474b13e60daSPeter Grehan.Dv O_SYNC .
4755232a35fSMateusz Piotrowski.It Cm ro
476b13e60daSPeter GrehanForce the file to be opened read-only.
4775232a35fSMateusz Piotrowski.It Cm sectorsize= Ns Ar logical Ns Oo Cm \&/ Ns Ar physical Oc
4784e43c1e8SNeel NatuSpecify the logical and physical sector sizes of the emulated disk.
4794e43c1e8SNeel NatuThe physical sector size is optional and is equal to the logical sector size
4804e43c1e8SNeel Natuif not explicitly specified.
4815232a35fSMateusz Piotrowski.It Cm nodelete
482e6d795d1SAllan JudeDisable emulation of guest trim requests via
483e6d795d1SAllan Jude.Dv DIOCGDELETE
484e6d795d1SAllan Juderequests.
485480bef94SCorvin Köhne.It Li bootindex= Ns Ar index
486480bef94SCorvin KöhneAdd the device to the bootorder at
487480bef94SCorvin Köhne.Ar index .
488480bef94SCorvin KöhneA fwcfg file is used to specify the bootorder.
489480bef94SCorvin KöhneThe guest firmware may ignore or doesn't support this fwcfg file.
490480bef94SCorvin KöhneIn that case, this feature doesn't work as expected.
491b13e60daSPeter Grehan.El
492b13e60daSPeter Grehan.Pp
4937c5829c9SMateusz PiotrowskiSCSI device backends:
4947c5829c9SMateusz Piotrowski.Sm off
4957c5829c9SMateusz Piotrowski.Bl -bullet
4967c5829c9SMateusz Piotrowski.It
4977c5829c9SMateusz Piotrowski.Pa /dev/cam/ctl Oo Ar pp Cm \&. Ar vp Oc Oo Cm \&, Ar scsi-device-options Oc
49849f87822SAlexander Motin.El
4997c5829c9SMateusz Piotrowski.Sm on
50049f87822SAlexander Motin.Pp
50149f87822SAlexander MotinThe
50249f87822SAlexander Motin.Ar scsi-device-options
50349f87822SAlexander Motinare:
50449f87822SAlexander Motin.Bl -tag -width 10n
5057c5829c9SMateusz Piotrowski.It Cm iid= Ns Ar IID
50649f87822SAlexander MotinInitiator ID to use when sending requests to specified CTL port.
50749f87822SAlexander MotinThe default value is 0.
508480bef94SCorvin Köhne.It Li bootindex= Ns Ar index
509480bef94SCorvin KöhneAdd the device to the bootorder at
510480bef94SCorvin Köhne.Ar index .
511480bef94SCorvin KöhneA fwcfg file is used to specify the bootorder.
512480bef94SCorvin KöhneThe guest firmware may ignore or doesn't support this fwcfg file.
513480bef94SCorvin KöhneIn that case, this feature doesn't work as expected.
514f9c005a1SMarcelo Araujo.El
515f9c005a1SMarcelo Araujo.Pp
5162d00b570SMateusz Piotrowski9P device backends:
5172d00b570SMateusz Piotrowski.Sm off
5182d00b570SMateusz Piotrowski.Bl -bullet
5192d00b570SMateusz Piotrowski.It
5202d00b570SMateusz Piotrowski.Ar sharename Cm = Ar /path/to/share Op Cm \&, Ar 9p-device-options
521100353cfSJakub Wojciech Klama.El
5222d00b570SMateusz Piotrowski.Sm on
523100353cfSJakub Wojciech Klama.Pp
524100353cfSJakub Wojciech KlamaThe
525100353cfSJakub Wojciech Klama.Ar 9p-device-options
526100353cfSJakub Wojciech Klamaare:
527100353cfSJakub Wojciech Klama.Bl -tag -width 10n
5282d00b570SMateusz Piotrowski.It Cm ro
529100353cfSJakub Wojciech KlamaExpose the share in read-only mode.
530100353cfSJakub Wojciech Klama.El
531100353cfSJakub Wojciech Klama.Pp
5322fda01a1SMateusz PiotrowskiTTY device backends:
533b13e60daSPeter Grehan.Bl -tag -width 10n
5342fda01a1SMateusz Piotrowski.It Cm stdio
535b13e60daSPeter GrehanConnect the serial port to the standard input and output of
53684fe889cSChristian Bruefferthe
53784fe889cSChristian Brueffer.Nm
53884fe889cSChristian Bruefferprocess.
5392fda01a1SMateusz Piotrowski.It Ar /dev/xxx
540b13e60daSPeter GrehanUse the host TTY device for serial port I/O.
541b13e60daSPeter Grehan.El
542b13e60daSPeter Grehan.Pp
543*67c26eb2SCorvin KöhneTPM device backends:
544*67c26eb2SCorvin Köhne.Bl -tag -width 10n
545*67c26eb2SCorvin Köhne.It Ar type Ns \&, Ns Ar path Ns Op Cm \&, Ns Ar tpm-device-options
546*67c26eb2SCorvin KöhneEmulate a TPM device.
547*67c26eb2SCorvin Köhne.El
548*67c26eb2SCorvin Köhne.Pp
549*67c26eb2SCorvin KöhneThe
550*67c26eb2SCorvin Köhne.Ar tpm-device-options
551*67c26eb2SCorvin Köhneare:
552*67c26eb2SCorvin Köhne.Bl -tag -width 10n
553*67c26eb2SCorvin Köhne.It Cm version= Ns Ar version
554*67c26eb2SCorvin KöhneVersion of the TPM device according to the TCG specification.
555*67c26eb2SCorvin KöhneDefaults to
556*67c26eb2SCorvin Köhne.Cm 2.0
557*67c26eb2SCorvin Köhne.El
558*67c26eb2SCorvin Köhne.El
559*67c26eb2SCorvin Köhne.Pp
5602fda01a1SMateusz PiotrowskiBoot ROM device backends:
5619b1aa8d6SNeel Natu.Bl -tag -width 10n
562866036f4SRebecca Cran.It Ar romfile Ns Op Cm \&, Ns Ar varfile
5639b1aa8d6SNeel NatuMap
5649b1aa8d6SNeel Natu.Ar romfile
5659b1aa8d6SNeel Natuin the guest address space reserved for boot firmware.
566866036f4SRebecca CranIf
567866036f4SRebecca Cran.Ar varfile
568866036f4SRebecca Cranis provided, that file is also mapped in the boot firmware guest
569866036f4SRebecca Cranaddress space, and any modifications the guest makes will be saved
570866036f4SRebecca Cranto that file.
5719b1aa8d6SNeel Natu.El
5729b1aa8d6SNeel Natu.Pp
573d85147f3SCorvin KöhneFwcfg types:
574d85147f3SCorvin Köhne.Bl -tag -width 10n
575d85147f3SCorvin Köhne.It Ar fwcfg
576d85147f3SCorvin KöhneThe fwcfg interface is used to pass information such as the CPU count or ACPI tables to the guest firmware.
577d85147f3SCorvin KöhneSupported values are
578d85147f3SCorvin Köhne.Ql bhyve
579d85147f3SCorvin Köhneand
580d85147f3SCorvin Köhne.Ql qemu .
581d85147f3SCorvin KöhneDue to backward compatibility reasons,
582d85147f3SCorvin Köhne.Ql bhyve
583d85147f3SCorvin Köhneis the default option.
584d85147f3SCorvin KöhneWhen
585d85147f3SCorvin Köhne.Ql bhyve
586d85147f3SCorvin Köhneis used, bhyve's fwctl interface is used.
587d85147f3SCorvin KöhneIt currently reports only the CPU count to the guest firmware.
588d85147f3SCorvin KöhneThe
589d85147f3SCorvin Köhne.Ql qemu
590d85147f3SCorvin Köhneoption uses QEMU's fwcfg interface.
591d85147f3SCorvin KöhneThis interface is widely used and allows user-defined information to be passed to the guest.
592d85147f3SCorvin KöhneIt is used for passing the CPU count, ACPI tables, a boot order and many other things to the guest.
593d85147f3SCorvin KöhneSome operating systems such as Fedora CoreOS can be configured by qemu's fwcfg interface as well.
594d85147f3SCorvin Köhne.El
595d85147f3SCorvin Köhne.Pp
5962fda01a1SMateusz PiotrowskiPass-through device backends:
597baf753ccSJohn Baldwin.Sm off
598baf753ccSJohn Baldwin.Bl -bullet
599baf753ccSJohn Baldwin.It
600baf753ccSJohn Baldwin.Cm ppt Ar N Oo , Ar passthru-device-options Oc
601baf753ccSJohn Baldwin.It
602baf753ccSJohn Baldwin.Ns Ar bus Cm \&/ Ar slot Cm \&/ Ar function
603baf753ccSJohn Baldwin.Op , Ar passthru-device-options
604baf753ccSJohn Baldwin.It
605baf753ccSJohn Baldwin.Cm pci Ar bus Cm : Ar slot Cm : Ns Ar function
606baf753ccSJohn Baldwin.Op , Ar passthru-device-options
607baf753ccSJohn Baldwin.El
608baf753ccSJohn Baldwin.Sm on
609baf753ccSJohn Baldwin.Pp
610baf753ccSJohn BaldwinConnect to a PCI device on the host either named ppt
611baf753ccSJohn Baldwin.Ns Ar N
612baf753ccSJohn Baldwinor at the selector described by
613b13e60daSPeter Grehan.Ar slot ,
614b13e60daSPeter Grehan.Ar bus ,
615b13e60daSPeter Grehanand
616b13e60daSPeter Grehan.Ar function
617b13e60daSPeter Grehannumbers.
618baf753ccSJohn Baldwin.Pp
619baf753ccSJohn BaldwinThe
620baf753ccSJohn Baldwin.Ar passthru-device-options
621baf753ccSJohn Baldwinare:
622baf753ccSJohn Baldwin.Bl -tag -width 10n
6235e19a518SMateusz Piotrowski.It Cm rom= Ns Ar romfile
624e47fe318SCorvin KöhneAdd
625e47fe318SCorvin Köhne.Ar romfile
626e47fe318SCorvin Köhneas option ROM to the PCI device.
627e47fe318SCorvin KöhneThe ROM will be loaded by firmware and should be capable of initializing the device.
628480bef94SCorvin Köhne.It Li bootindex= Ns Ar index
629480bef94SCorvin KöhneAdd the device to the bootorder at
630480bef94SCorvin Köhne.Ar index .
631480bef94SCorvin KöhneA fwcfg file is used to specify the bootorder.
632480bef94SCorvin KöhneThe guest firmware may ignore or doesn't support this fwcfg file.
633480bef94SCorvin KöhneIn that case, this feature doesn't work as expected.
634b13e60daSPeter Grehan.El
635b13e60daSPeter Grehan.Pp
6369b1aa8d6SNeel NatuGuest memory must be wired using the
6379b1aa8d6SNeel Natu.Fl S
6389b1aa8d6SNeel Natuoption when a pass-through device is configured.
6399b1aa8d6SNeel Natu.Pp
640b13e60daSPeter GrehanThe host device must have been reserved at boot-time using the
641a9258f9bSWarren Block.Va pptdevs
642b13e60daSPeter Grehanloader variable as described in
643b13e60daSPeter Grehan.Xr vmm 4 .
6445121b6ccSRoman Bogorodskiy.Pp
645*67c26eb2SCorvin KöhneTPM devices:
646*67c26eb2SCorvin Köhne.Bl -tag -width 10n
647*67c26eb2SCorvin Köhne.It Ns Ar type
648*67c26eb2SCorvin KöhneSpecifies the type of the TPM device.
649*67c26eb2SCorvin Köhne.Pp
650*67c26eb2SCorvin KöhneSupported types:
651*67c26eb2SCorvin Köhne.Bl -tag -width 10n
652*67c26eb2SCorvin Köhne.It Cm passthru
653*67c26eb2SCorvin Köhne.El
654*67c26eb2SCorvin Köhne.It Cm version= Ns Ar version
655*67c26eb2SCorvin KöhneThe
656*67c26eb2SCorvin Köhne.Ar version
657*67c26eb2SCorvin Köhneof the emulated TPM device according to the TCG specification.
658*67c26eb2SCorvin Köhne.Pp
659*67c26eb2SCorvin KöhneSupported versions:
660*67c26eb2SCorvin Köhne.Bl -tag -width 10n
661*67c26eb2SCorvin Köhne.It Cm 2.0
662*67c26eb2SCorvin Köhne.El
663*67c26eb2SCorvin Köhne.El
664*67c26eb2SCorvin Köhne.Pp
6653f4c771fSMateusz PiotrowskiVirtio console device backends:
6663f4c771fSMateusz Piotrowski.Bl -bullet
6673f4c771fSMateusz Piotrowski.Sm off
6683f4c771fSMateusz Piotrowski.It
6693f4c771fSMateusz Piotrowski.Cm port1= Ns Ar /path/to/port1.sock Ns Op Cm ,port Ns Ar N Cm \&= Ns Ar /path/to/port2.sock No \~ Ar ...
6703f4c771fSMateusz Piotrowski.Sm on
6713f4c771fSMateusz Piotrowski.El
6723f4c771fSMateusz Piotrowski.Pp
6735121b6ccSRoman BogorodskiyA maximum of 16 ports per device can be created.
6745121b6ccSRoman BogorodskiyEvery port is named and corresponds to a Unix domain socket created by
6755121b6ccSRoman Bogorodskiy.Nm .
6765121b6ccSRoman Bogorodskiy.Nm
6775121b6ccSRoman Bogorodskiyaccepts at most one connection per port at a time.
6785121b6ccSRoman Bogorodskiy.Pp
6795121b6ccSRoman BogorodskiyLimitations:
6808d9fefe6SMateusz Piotrowski.Bl -bullet
6815121b6ccSRoman Bogorodskiy.It
6825121b6ccSRoman BogorodskiyDue to lack of destructors in
6835121b6ccSRoman Bogorodskiy.Nm ,
6845121b6ccSRoman Bogorodskiysockets on the filesystem must be cleaned up manually after
6855121b6ccSRoman Bogorodskiy.Nm
6865121b6ccSRoman Bogorodskiyexits.
6875121b6ccSRoman Bogorodskiy.It
6883f4c771fSMateusz PiotrowskiThere is no way to use the
6893f4c771fSMateusz Piotrowski.Dq console port
6903f4c771fSMateusz Piotrowskifeature, nor the console port
6910ee3a4b4SRoman Bogorodskiyresize at present.
6925121b6ccSRoman Bogorodskiy.It
6930ee3a4b4SRoman BogorodskiyEmergency write is advertised, but no-op at present.
6945121b6ccSRoman Bogorodskiy.El
6956c87a2c0SGleb Smirnoff.Pp
696054accacSCorvin KöhneVirtio input device backends:
697054accacSCorvin Köhne.Bl -tag -width 10n
698054accacSCorvin Köhne.It Ar /dev/input/eventX
699054accacSCorvin KöhneSend input events of
700054accacSCorvin Köhne.Ar /dev/input/eventX
701054accacSCorvin Köhneto guest by VirtIO Input Interface.
702054accacSCorvin Köhne.El
703054accacSCorvin Köhne.Pp
7048b97e975SMateusz PiotrowskiFramebuffer devices backends:
7058b97e975SMateusz Piotrowski.Bl -bullet
7068b97e975SMateusz Piotrowski.Sm off
7078b97e975SMateusz Piotrowski.It
7088b97e975SMateusz Piotrowski.Op Cm rfb= Ar ip-and-port
7098b97e975SMateusz Piotrowski.Op Cm ,w= Ar width
7108b97e975SMateusz Piotrowski.Op Cm ,h= Ar height
7118b97e975SMateusz Piotrowski.Op Cm ,vga= Ar vgaconf
7128b97e975SMateusz Piotrowski.Op Cm ,wait
7138b97e975SMateusz Piotrowski.Op Cm ,password= Ar password
7148b97e975SMateusz Piotrowski.Sm on
7158b97e975SMateusz Piotrowski.El
7168b97e975SMateusz Piotrowski.Pp
7178b97e975SMateusz PiotrowskiConfiguration options are defined as follows:
7185c3ec676SGleb Smirnoff.Bl -tag -width 10n
7198b97e975SMateusz Piotrowski.It Cm rfb= Ns Ar ip-and-port Pq or Cm tcp= Ns Ar ip-and-port
7208b97e975SMateusz PiotrowskiAn IP address and a port VNC should listen on.
7218b97e975SMateusz PiotrowskiThere are two formats:
7228b97e975SMateusz Piotrowski.Pp
7238b97e975SMateusz Piotrowski.Bl -bullet -compact
7248d9fefe6SMateusz Piotrowski.It
7258b97e975SMateusz Piotrowski.Sm off
7268b97e975SMateusz Piotrowski.Op Ar IPv4 Cm \&:
7275c3ec676SGleb Smirnoff.Ar port
7288b97e975SMateusz Piotrowski.Sm on
7298d9fefe6SMateusz Piotrowski.It
7308b97e975SMateusz Piotrowski.Sm off
7318b97e975SMateusz Piotrowski.Cm \&[ Ar IPv6%zone Cm \&] Cm \&: Ar port
7328b97e975SMateusz Piotrowski.Sm on
7338b97e975SMateusz Piotrowski.El
7348b97e975SMateusz Piotrowski.Pp
7356c87a2c0SGleb SmirnoffThe default is to listen on localhost IPv4 address and default VNC port 5900.
7368883128bSBjoern A. ZeebAn IPv6 address must be enclosed in square brackets and may contain an
7377d9545fcSRodney W. Grimesoptional zone identifier.
7388b97e975SMateusz Piotrowski.It Cm w= Ns Ar width No and Cm h= Ns Ar height
7395c3ec676SGleb SmirnoffA display resolution, width and height, respectively.
7405c3ec676SGleb SmirnoffIf not specified, a default resolution of 1024x768 pixels will be used.
7415c3ec676SGleb SmirnoffMinimal supported resolution is 640x480 pixels,
7425c3ec676SGleb Smirnoffand maximum is 1920x1200 pixels.
7438b97e975SMateusz Piotrowski.It Cm vga= Ns Ar vgaconf
7445c3ec676SGleb SmirnoffPossible values for this option are
7458b97e975SMateusz Piotrowski.Cm io
7465c3ec676SGleb Smirnoff(default),
7478b97e975SMateusz Piotrowski.Cm on
7485c3ec676SGleb Smirnoff, and
7498b97e975SMateusz Piotrowski.Cm off .
7505c3ec676SGleb SmirnoffPCI graphics cards have a dual personality in that they are
7515c3ec676SGleb Smirnoffstandard PCI devices with BAR addressing, but may also
7525c3ec676SGleb Smirnoffimplicitly decode legacy VGA I/O space
7535c3ec676SGleb Smirnoff.Pq Ad 0x3c0-3df
7545c3ec676SGleb Smirnoffand memory space
7555c3ec676SGleb Smirnoff.Pq 64KB at Ad 0xA0000 .
7565c3ec676SGleb SmirnoffThe default
7578b97e975SMateusz Piotrowski.Cm io
7588d56c805SYuri Pankovoption should be used for guests that attempt to issue BIOS calls which result
7598d56c805SYuri Pankovin I/O port queries, and fail to boot if I/O decode is disabled.
7605c3ec676SGleb Smirnoff.Pp
7615c3ec676SGleb SmirnoffThe
7628b97e975SMateusz Piotrowski.Cm on
7635c3ec676SGleb Smirnoffoption should be used along with the CSM BIOS capability in UEFI
7645c3ec676SGleb Smirnoffto boot traditional BIOS guests that require the legacy VGA I/O and
7655c3ec676SGleb Smirnoffmemory regions to be available.
7665c3ec676SGleb Smirnoff.Pp
7675c3ec676SGleb SmirnoffThe
7688b97e975SMateusz Piotrowski.Cm off
7695c3ec676SGleb Smirnoffoption should be used for the UEFI guests that assume that
7705c3ec676SGleb SmirnoffVGA adapter is present if they detect the I/O ports.
7715c3ec676SGleb SmirnoffAn example of such a guest is
7725c3ec676SGleb Smirnoff.Ox
7735c3ec676SGleb Smirnoffin UEFI mode.
7745c3ec676SGleb Smirnoff.Pp
7755c3ec676SGleb SmirnoffPlease refer to the
7765c3ec676SGleb Smirnoff.Nm
7775c3ec676SGleb Smirnoff.Fx
7785c3ec676SGleb Smirnoffwiki page
7795c3ec676SGleb Smirnoff.Pq Lk https://wiki.freebsd.org/bhyve
7805c3ec676SGleb Smirnofffor configuration notes of particular guests.
7818b97e975SMateusz Piotrowski.It Cm wait
7825c3ec676SGleb SmirnoffInstruct
7835c3ec676SGleb Smirnoff.Nm
7848d56c805SYuri Pankovto only boot upon the initiation of a VNC connection, simplifying the
7858d56c805SYuri Pankovinstallation of operating systems that require immediate keyboard input.
7865c3ec676SGleb SmirnoffThis can be removed for post-installation use.
7878b97e975SMateusz Piotrowski.It Cm password= Ns Ar password
788f4d34383SMarcelo AraujoThis type of authentication is known to be cryptographically weak and is not
789f4d34383SMarcelo Araujointended for use on untrusted networks.
790f4d34383SMarcelo AraujoMany implementations will want to use stronger security, such as running
791f4d34383SMarcelo Araujothe session over an encrypted channel provided by IPsec or SSH.
7925c3ec676SGleb Smirnoff.El
7936c87a2c0SGleb Smirnoff.Pp
7946eff58acSMateusz PiotrowskixHCI USB device backends:
7955c3ec676SGleb Smirnoff.Bl -tag -width 10n
7966eff58acSMateusz Piotrowski.It Cm tablet
7975c3ec676SGleb SmirnoffA USB tablet device which provides precise cursor synchronization
7985c3ec676SGleb Smirnoffwhen using VNC.
7996c87a2c0SGleb Smirnoff.El
800c066c68cSMarcelo Araujo.Pp
8016eff58acSMateusz PiotrowskiNVMe device backends:
8026eff58acSMateusz Piotrowski.Bl -bullet
8036eff58acSMateusz Piotrowski.Sm off
8046eff58acSMateusz Piotrowski.It
8056eff58acSMateusz Piotrowski.Ar devpath
8066eff58acSMateusz Piotrowski.Op Cm ,maxq= Ar #
8076eff58acSMateusz Piotrowski.Op Cm ,qsz= Ar #
8086eff58acSMateusz Piotrowski.Op Cm ,ioslots= Ar #
8096eff58acSMateusz Piotrowski.Op Cm ,sectsz= Ar #
8106eff58acSMateusz Piotrowski.Op Cm ,ser= Ar #
8116eff58acSMateusz Piotrowski.Op Cm ,eui64= Ar #
8126eff58acSMateusz Piotrowski.Op Cm ,dsm= Ar opt
8136eff58acSMateusz Piotrowski.Sm on
8146eff58acSMateusz Piotrowski.El
8156eff58acSMateusz Piotrowski.Pp
8166eff58acSMateusz PiotrowskiConfiguration options are defined as follows:
817c066c68cSMarcelo Araujo.Bl -tag -width 10n
8186eff58acSMateusz Piotrowski.It Ar devpath
819c066c68cSMarcelo AraujoAccepted device paths are:
820c066c68cSMarcelo Araujo.Ar /dev/blockdev
821c066c68cSMarcelo Araujoor
822c066c68cSMarcelo Araujo.Ar /path/to/image
823c066c68cSMarcelo Araujoor
8246eff58acSMateusz Piotrowski.Cm ram= Ns Ar size_in_MiB .
8256eff58acSMateusz Piotrowski.It Cm maxq
826c066c68cSMarcelo AraujoMax number of queues.
8276eff58acSMateusz Piotrowski.It Cm qsz
828c066c68cSMarcelo AraujoMax elements in each queue.
8296eff58acSMateusz Piotrowski.It Cm ioslots
830c066c68cSMarcelo AraujoMax number of concurrent I/O requests.
8316eff58acSMateusz Piotrowski.It Cm sectsz
832c066c68cSMarcelo AraujoSector size (defaults to blockif sector size).
8336eff58acSMateusz Piotrowski.It Cm ser
834c066c68cSMarcelo AraujoSerial number with maximum 20 characters.
8356eff58acSMateusz Piotrowski.It Cm eui64
8366eff58acSMateusz PiotrowskiIEEE Extended Unique Identifier (8 byte value).
8376eff58acSMateusz Piotrowski.It Cm dsm
8386eff58acSMateusz PiotrowskiDataSet Management support.
8396eff58acSMateusz PiotrowskiSupported values are:
8406eff58acSMateusz Piotrowski.Cm auto , enable ,
8416eff58acSMateusz Piotrowskiand
8426eff58acSMateusz Piotrowski.Cm disable .
843c066c68cSMarcelo Araujo.El
84436f9f044SWarner Losh.Pp
845d5fcc4b6SMateusz PiotrowskiAHCI device backends:
846d5fcc4b6SMateusz Piotrowski.Bl -bullet
847d5fcc4b6SMateusz Piotrowski.It
848d5fcc4b6SMateusz Piotrowski.Sm off
849d5fcc4b6SMateusz Piotrowski.Op Oo Cm hd\&: | cd\&: Oc Ar path
850d5fcc4b6SMateusz Piotrowski.Op Cm ,nmrr= Ar nmrr
851d5fcc4b6SMateusz Piotrowski.Op Cm ,ser= Ar #
852d5fcc4b6SMateusz Piotrowski.Op Cm ,rev= Ar #
853d5fcc4b6SMateusz Piotrowski.Op Cm ,model= Ar #
854d5fcc4b6SMateusz Piotrowski.Sm on
855d5fcc4b6SMateusz Piotrowski.El
856d5fcc4b6SMateusz Piotrowski.Pp
857d5fcc4b6SMateusz PiotrowskiConfiguration options are defined as follows:
8589af3bcd7SPeter Grehan.Bl -tag -width 10n
859d5fcc4b6SMateusz Piotrowski.It Cm nmrr
860d5fcc4b6SMateusz PiotrowskiNominal Media Rotation Rate, known as RPM.
861d5fcc4b6SMateusz PiotrowskiValue 1 will indicate device as Solid State Disk.
862d5fcc4b6SMateusz PiotrowskiDefault value is 0, not report.
863d5fcc4b6SMateusz Piotrowski.It Cm ser
8649af3bcd7SPeter GrehanSerial Number with maximum 20 characters.
865d5fcc4b6SMateusz Piotrowski.It Cm rev
8669af3bcd7SPeter GrehanRevision Number with maximum 8 characters.
867d5fcc4b6SMateusz Piotrowski.It Cm model
8689af3bcd7SPeter GrehanModel Number with maximum 40 characters.
8699af3bcd7SPeter Grehan.El
8709af3bcd7SPeter Grehan.Pp
871061f37d2SMateusz PiotrowskiHD Audio device backends:
872061f37d2SMateusz Piotrowski.Bl -bullet
873061f37d2SMateusz Piotrowski.It
874061f37d2SMateusz Piotrowski.Sm off
875061f37d2SMateusz Piotrowski.Op Cm play= Ar playback
876061f37d2SMateusz Piotrowski.Op Cm ,rec= Ar recording
877061f37d2SMateusz Piotrowski.Sm on
878061f37d2SMateusz Piotrowski.El
879061f37d2SMateusz Piotrowski.Pp
880061f37d2SMateusz PiotrowskiConfiguration options are defined as follows:
88136f9f044SWarner Losh.Bl -tag -width 10n
882061f37d2SMateusz Piotrowski.It Cm play
88336f9f044SWarner LoshPlayback device, typically
88436f9f044SWarner Losh.Ar /dev/dsp0 .
885061f37d2SMateusz Piotrowski.It Cm rec
88636f9f044SWarner LoshRecording device, typically
88736f9f044SWarner Losh.Ar /dev/dsp0 .
88836f9f044SWarner Losh.El
8895749449dSJohn Baldwin.It Fl U Ar uuid
8905749449dSJohn BaldwinSet the universally unique identifier
8915749449dSJohn Baldwin.Pq UUID
8925749449dSJohn Baldwinin the guest's System Management BIOS System Information structure.
8935749449dSJohn BaldwinBy default a UUID is generated from the host's hostname and
8945749449dSJohn Baldwin.Ar vmname .
895ccb1c87aSMateusz Piotrowski.It Fl u
896ccb1c87aSMateusz PiotrowskiRTC keeps UTC time.
897cde1f5b8SJohn Baldwin.It Fl W
898cde1f5b8SJohn BaldwinForce virtio PCI device emulations to use MSI interrupts instead of MSI-X
899cde1f5b8SJohn Baldwininterrupts.
900ccb1c87aSMateusz Piotrowski.It Fl w
901ccb1c87aSMateusz PiotrowskiIgnore accesses to unimplemented Model Specific Registers (MSRs).
902ccb1c87aSMateusz PiotrowskiThis is intended for debug purposes.
9039777ca20SNeel Natu.It Fl x
9049777ca20SNeel NatuThe guest's local APIC is configured in x2APIC mode.
905b100acf2SNeel Natu.It Fl Y
906b100acf2SNeel NatuDisable MPtable generation.
907b13e60daSPeter Grehan.It Ar vmname
908b13e60daSPeter GrehanAlphanumeric name of the guest.
909b13e60daSPeter GrehanThis should be the same as that created by
910b13e60daSPeter Grehan.Xr bhyveload 8 .
911b13e60daSPeter Grehan.El
912621b5090SJohn Baldwin.Sh CONFIGURATION VARIABLES
913621b5090SJohn Baldwin.Nm
914621b5090SJohn Baldwinuses an internal tree of configuration variables to describe global and
915621b5090SJohn Baldwinper-device settings.
916621b5090SJohn BaldwinWhen
917621b5090SJohn Baldwin.Nm
918621b5090SJohn Baldwinstarts,
919621b5090SJohn Baldwinit parses command line options (including config files) in the order given
920621b5090SJohn Baldwinon the command line.
921621b5090SJohn BaldwinEach command line option sets one or more configuration variables.
922621b5090SJohn BaldwinFor example,
923621b5090SJohn Baldwinthe
924621b5090SJohn Baldwin.Fl s
925621b5090SJohn Baldwinoption creates a new tree node for a PCI device and sets one or more variables
926621b5090SJohn Baldwinunder that node including the device model and device model-specific variables.
927621b5090SJohn BaldwinVariables may be set multiple times during this parsing stage with the final
928621b5090SJohn Baldwinvalue overriding previous values.
929621b5090SJohn Baldwin.Pp
930621b5090SJohn BaldwinOnce all of the command line options have been processed,
931621b5090SJohn Baldwinthe configuration values are frozen.
932621b5090SJohn Baldwin.Nm
933621b5090SJohn Baldwinthen uses the value of configuration values to initialize device models
934621b5090SJohn Baldwinand global settings.
935621b5090SJohn Baldwin.Pp
936621b5090SJohn BaldwinMore details on configuration variables can be found in
937621b5090SJohn Baldwin.Xr bhyve_config 5 .
938cd377eb3SJohn Baldwin.Sh DEBUG SERVER
939cd377eb3SJohn BaldwinThe current debug server provides limited support for debuggers.
940cd377eb3SJohn Baldwin.Ss Registers
941cd377eb3SJohn BaldwinEach virtual CPU is exposed to the debugger as a thread.
942cd377eb3SJohn Baldwin.Pp
943cd377eb3SJohn BaldwinGeneral purpose registers can be queried for each virtual CPU, but other
944cd377eb3SJohn Baldwinregisters such as floating-point and system registers cannot be queried.
945cd377eb3SJohn Baldwin.Ss Memory
946976ba8c6SJohn BaldwinMemory (including memory mapped I/O regions) can be read and written by the debugger.
9478d56c805SYuri PankovMemory operations use virtual addresses that are resolved to physical addresses
9488d56c805SYuri Pankovvia the current virtual CPU's active address translation.
949cd377eb3SJohn Baldwin.Ss Control
950cd377eb3SJohn BaldwinThe running guest can be interrupted by the debugger at any time
951cd377eb3SJohn Baldwin.Pq for example, by pressing Ctrl-C in the debugger .
952cd377eb3SJohn Baldwin.Pp
953cd377eb3SJohn BaldwinSingle stepping is only supported on Intel CPUs supporting the MTRAP VM exit.
954cd377eb3SJohn Baldwin.Pp
955cbd03a9dSJohn BaldwinBreakpoints are supported on Intel CPUs that support single stepping.
956cbd03a9dSJohn BaldwinNote that continuing from a breakpoint while interrupts are enabled in the
957cbd03a9dSJohn Baldwinguest may not work as expected due to timer interrupts firing while single
958cbd03a9dSJohn Baldwinstepping over the breakpoint.
959c2202d41SRoman Bogorodskiy.Sh SIGNAL HANDLING
960c2202d41SRoman Bogorodskiy.Nm
961c2202d41SRoman Bogorodskiydeals with the following signals:
962c2202d41SRoman Bogorodskiy.Pp
9633357e948SMateusz Piotrowski.Bl -tag -width SIGTERM -compact
964c2202d41SRoman Bogorodskiy.It SIGTERM
965c2202d41SRoman BogorodskiyTrigger ACPI poweroff for a VM
966c2202d41SRoman Bogorodskiy.El
967c2202d41SRoman Bogorodskiy.Sh EXIT STATUS
968c2202d41SRoman BogorodskiyExit status indicates how the VM was terminated:
969c2202d41SRoman Bogorodskiy.Pp
970c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact
971c2202d41SRoman Bogorodskiy.It 0
972c2202d41SRoman Bogorodskiyrebooted
973c2202d41SRoman Bogorodskiy.It 1
974c2202d41SRoman Bogorodskiypowered off
975c2202d41SRoman Bogorodskiy.It 2
976c2202d41SRoman Bogorodskiyhalted
977c2202d41SRoman Bogorodskiy.It 3
978c2202d41SRoman Bogorodskiytriple fault
979989e062bSMarcelo Araujo.It 4
980989e062bSMarcelo Araujoexited due to an error
981c2202d41SRoman Bogorodskiy.El
982b13e60daSPeter Grehan.Sh EXAMPLES
9835c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must have been loaded with
98484fe889cSChristian Brueffer.Xr bhyveload 8
985b13e60daSPeter Grehanor a similar boot loader before
986b13e60daSPeter Grehan.Xr bhyve 4
987b13e60daSPeter Grehancan be run.
9885c3ec676SGleb SmirnoffOtherwise, the boot loader is not needed.
989b13e60daSPeter Grehan.Pp
990b13e60daSPeter GrehanTo run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
991b13e60daSPeter Grehanblock device backed by the
992b13e60daSPeter Grehan.Pa /my/image
993b13e60daSPeter Grehanfilesystem image, and a serial port for the console:
994b13e60daSPeter Grehan.Bd -literal -offset indent
995b13e60daSPeter Grehanbhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
996b13e60daSPeter Grehan  -l com1,stdio -A -H -P -m 1G vm1
997b13e60daSPeter Grehan.Ed
998b13e60daSPeter Grehan.Pp
999b13e60daSPeter GrehanRun a 24GB single-CPU virtual machine with three network ports, one of which
1000b13e60daSPeter Grehanhas a MAC address specified:
1001b13e60daSPeter Grehan.Bd -literal -offset indent
1002b13e60daSPeter Grehanbhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\
1003b13e60daSPeter Grehan  -s 2:1,virtio-net,tap1 \\
1004b13e60daSPeter Grehan  -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\
1005b13e60daSPeter Grehan  -s 3,virtio-blk,/my/image -l com1,stdio \\
1006b13e60daSPeter Grehan  -A -H -P -m 24G bigvm
1007b13e60daSPeter Grehan.Ed
1008b13e60daSPeter Grehan.Pp
1009b13e60daSPeter GrehanRun an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI
1010b13e60daSPeter GrehanCD-ROM, a single virtio network port, an AMD hostbridge, and the console
1011b13e60daSPeter Grehanport connected to an
1012b13e60daSPeter Grehan.Xr nmdm 4
101384fe889cSChristian Brueffernull-modem device.
1014b13e60daSPeter Grehan.Bd -literal -offset indent
1015a7ab1463SAlexander Motinbhyve -c 4 \\
1016b13e60daSPeter Grehan  -s 0,amd_hostbridge -s 1,lpc \\
1017098f5155SAlexander Motin  -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\
1018098f5155SAlexander Motinhd:/images/disk.3,hd:/images/disk.4,\\
1019098f5155SAlexander Motinhd:/images/disk.5,hd:/images/disk.6,\\
1020098f5155SAlexander Motinhd:/images/disk.7,hd:/images/disk.8,\\
1021098f5155SAlexander Motincd:/images/install.iso \\
1022b13e60daSPeter Grehan  -s 3,virtio-net,tap0 \\
1023b13e60daSPeter Grehan  -l com1,/dev/nmdm0A \\
1024b13e60daSPeter Grehan  -A -H -P -m 8G
1025b13e60daSPeter Grehan.Ed
10265c3ec676SGleb Smirnoff.Pp
10275c3ec676SGleb SmirnoffRun a UEFI virtual machine with a display resolution of 800 by 600 pixels
10285c3ec676SGleb Smirnoffthat can be accessed via VNC at: 0.0.0.0:5900.
10295c3ec676SGleb Smirnoff.Bd -literal -offset indent
10305c3ec676SGleb Smirnoffbhyve -c 2 -m 4G -w -H \\
10315c3ec676SGleb Smirnoff  -s 0,hostbridge \\
10325c3ec676SGleb Smirnoff  -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\
10335c3ec676SGleb Smirnoff  -s 4,ahci-hd,disk.img \\
10345c3ec676SGleb Smirnoff  -s 5,virtio-net,tap0 \\
10355c3ec676SGleb Smirnoff  -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\
10365c3ec676SGleb Smirnoff  -s 30,xhci,tablet \\
10375c3ec676SGleb Smirnoff  -s 31,lpc -l com1,stdio \\
10385c3ec676SGleb Smirnoff  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
10395c3ec676SGleb Smirnoff   uefivm
10405c3ec676SGleb Smirnoff.Ed
10418883128bSBjoern A. Zeeb.Pp
10428883128bSBjoern A. ZeebRun a UEFI virtual machine with a VNC display that is bound to all IPv6
10438883128bSBjoern A. Zeebaddresses on port 5900.
10448883128bSBjoern A. Zeeb.Bd -literal -offset indent
10458883128bSBjoern A. Zeebbhyve -c 2 -m 4G -w -H \\
10468883128bSBjoern A. Zeeb  -s 0,hostbridge \\
10478883128bSBjoern A. Zeeb  -s 4,ahci-hd,disk.img \\
10488883128bSBjoern A. Zeeb  -s 5,virtio-net,tap0 \\
10498883128bSBjoern A. Zeeb  -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\
10508883128bSBjoern A. Zeeb  -s 30,xhci,tablet \\
10518883128bSBjoern A. Zeeb  -s 31,lpc -l com1,stdio \\
10528883128bSBjoern A. Zeeb  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
10538883128bSBjoern A. Zeeb   uefivm
10548883128bSBjoern A. Zeeb.Ed
1055866036f4SRebecca Cran.Pp
1056866036f4SRebecca CranRun a UEFI virtual machine with a VARS file to save EFI variables.
1057866036f4SRebecca CranNote that
1058866036f4SRebecca Cran.Nm
1059866036f4SRebecca Cranwill write guest modifications to the given VARS file.
1060866036f4SRebecca CranBe sure to create a per-guest copy of the template VARS file from
1061866036f4SRebecca Cran.Pa /usr .
1062866036f4SRebecca Cran.Bd -literal -offset indent
1063866036f4SRebecca Cranbhyve -c 2 -m 4g -w -H \\
1064866036f4SRebecca Cran  -s 0,hostbridge \\
106566659955SAlexey Marchenko  -s 31,lpc -l com1,stdio \\
1066866036f4SRebecca Cran  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd
1067866036f4SRebecca Cran   uefivm
1068866036f4SRebecca Cran.Ed
1069b13e60daSPeter Grehan.Sh SEE ALSO
1070b13e60daSPeter Grehan.Xr bhyve 4 ,
1071e90337e4SAleksandr Fedorov.Xr netgraph 4 ,
1072e90337e4SAleksandr Fedorov.Xr ng_socket 4 ,
1073b13e60daSPeter Grehan.Xr nmdm 4 ,
1074b13e60daSPeter Grehan.Xr vmm 4 ,
1075621b5090SJohn Baldwin.Xr bhyve_config 5 ,
1076b13e60daSPeter Grehan.Xr ethers 5 ,
107705f7cd8bSJoel Dahl.Xr bhyvectl 8 ,
107805f7cd8bSJoel Dahl.Xr bhyveload 8
10798d56c805SYuri Pankov.Pp
10808d56c805SYuri Pankov.Rs
10818d56c805SYuri Pankov.%A Intel
10828d56c805SYuri Pankov.%B 64 and IA-32 Architectures Software Developer’s Manual
10838d56c805SYuri Pankov.%V Volume 3
10848d56c805SYuri Pankov.Re
1085b13e60daSPeter Grehan.Sh HISTORY
1086b13e60daSPeter Grehan.Nm
1087b13e60daSPeter Grehanfirst appeared in
1088b13e60daSPeter Grehan.Fx 10.0 .
1089b13e60daSPeter Grehan.Sh AUTHORS
109001c2b8acSBaptiste Daroussin.An Neel Natu Aq Mt neel@freebsd.org
109101c2b8acSBaptiste Daroussin.An Peter Grehan Aq Mt grehan@freebsd.org
1092