xref: /freebsd/usr.sbin/bhyve/bhyve.8 (revision a3b3e89ff163e8f2018356ed53f78efba7c4fd2c)
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.\"
258120190fSFelix Johnson.Dd October 9, 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.
1156a0e7f90SCorvin Köhnebhyve always generates ACPI tables so this option is obsolete.
116ccb1c87aSMateusz Piotrowski.It Fl a
117ccb1c87aSMateusz PiotrowskiThe guest's local APIC is configured in xAPIC mode.
118ccb1c87aSMateusz PiotrowskiThe xAPIC mode is the default setting so this option is redundant.
119ccb1c87aSMateusz PiotrowskiIt will be deprecated in a future version.
120ccb1c87aSMateusz Piotrowski.It Fl C
121ccb1c87aSMateusz PiotrowskiInclude guest memory in core file.
12201d822d3SRodney W. Grimes.It Fl c Op Ar setting ...
12301d822d3SRodney W. GrimesNumber of guest virtual CPUs
12401d822d3SRodney W. Grimesand/or the CPU topology.
12501d822d3SRodney W. GrimesThe default value for each of
12601d822d3SRodney W. Grimes.Ar numcpus ,
12701d822d3SRodney W. Grimes.Ar sockets ,
12801d822d3SRodney W. Grimes.Ar cores ,
12901d822d3SRodney W. Grimesand
13001d822d3SRodney W. Grimes.Ar threads
13101d822d3SRodney W. Grimesis 1.
13201d822d3SRodney W. GrimesThe current maximum number of guest virtual CPUs is 16.
13301d822d3SRodney W. GrimesIf
13401d822d3SRodney W. Grimes.Ar numcpus
13501d822d3SRodney W. Grimesis not specified then it will be calculated from the other arguments.
13601d822d3SRodney W. GrimesThe topology must be consistent in that the
13701d822d3SRodney W. Grimes.Ar numcpus
13801d822d3SRodney W. Grimesmust equal the product of
13901d822d3SRodney W. Grimes.Ar sockets ,
14001d822d3SRodney W. Grimes.Ar cores ,
14101d822d3SRodney W. Grimesand
14201d822d3SRodney W. Grimes.Ar threads .
14301d822d3SRodney W. GrimesIf a
14401d822d3SRodney W. Grimes.Ar setting
14501d822d3SRodney W. Grimesis specified more than once the last one has precedence.
1460a1016f9SPawel Biernacki.It Fl D
1470a1016f9SPawel BiernackiDestroy the VM on guest initiated power-off.
148cde1f5b8SJohn Baldwin.It Fl e
149cde1f5b8SJohn BaldwinForce
150cde1f5b8SJohn Baldwin.Nm
151cde1f5b8SJohn Baldwinto exit when a guest issues an access to an I/O port that is not emulated.
152cde1f5b8SJohn BaldwinThis is intended for debug purposes.
153ca14781cSCorvin 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
154ca14781cSCorvin KöhneAdd a fw_cfg file
155ca14781cSCorvin Köhne.Ar name
156ca14781cSCorvin Köhneto the fw_cfg interface.
157ca14781cSCorvin KöhneIf a
158ca14781cSCorvin Köhne.Cm string
159ca14781cSCorvin Köhneis specified, the fw_cfg file contains the string as data.
160ca14781cSCorvin KöhneIf a
161ca14781cSCorvin Köhne.Cm file
162ca14781cSCorvin Köhneis specified, bhyve reads the file and adds the file content as fw_cfg data.
1632cdff991SMariusz Zaborski.It Fl G Xo
1642cdff991SMariusz Zaborski.Sm off
1652cdff991SMariusz Zaborski.Oo Ar w Oc
166775f6f45SMateusz Piotrowski.Oo Ar bind_address Cm \&: Oc
1672cdff991SMariusz Zaborski.Ar port
1682cdff991SMariusz Zaborski.Sm on
1692cdff991SMariusz Zaborski.Xc
170cd377eb3SJohn BaldwinStart a debug server that uses the GDB protocol to export guest state to a
171cd377eb3SJohn Baldwindebugger.
172cd377eb3SJohn BaldwinAn IPv4 TCP socket will be bound to the supplied
1732cdff991SMariusz Zaborski.Ar bind_address
1742cdff991SMariusz Zaborskiand
175cd377eb3SJohn Baldwin.Ar port
176cd377eb3SJohn Baldwinto listen for debugger connections.
177cd377eb3SJohn BaldwinOnly a single debugger may be attached to the debug server at a time.
1782cdff991SMariusz ZaborskiIf the option begins with
179cd377eb3SJohn Baldwin.Sq w ,
180cd377eb3SJohn Baldwin.Nm
181cd377eb3SJohn Baldwinwill pause execution at the first instruction waiting for a debugger to attach.
182cde1f5b8SJohn Baldwin.It Fl H
183cde1f5b8SJohn BaldwinYield the virtual CPU thread when a HLT instruction is detected.
184cde1f5b8SJohn BaldwinIf this option is not specified, virtual CPUs will use 100% of a host CPU.
185ccb1c87aSMateusz Piotrowski.It Fl h
186ccb1c87aSMateusz PiotrowskiPrint help message and exit.
187f656df58SMateusz Piotrowski.It Fl k Ar config_file
188621b5090SJohn BaldwinSet configuration variables from a simple, key-value config file.
189621b5090SJohn BaldwinEach line of the config file is expected to consist of a config variable
190621b5090SJohn Baldwinname, an equals sign
19119eaa01bSMichael Reifenberger.It Fl K Ar layout
19219eaa01bSMichael ReifenbergerSpecify the keyboard layout.
19319eaa01bSMichael ReifenbergerThe value that can be specified sets the file name in
19419eaa01bSMichael Reifenberger.Ar /usr/share/bhyve/kbdlayout .
19519eaa01bSMichael ReifenbergerThis specification only works when loaded with UEFI mode for VNC.
196*a3b3e89fSBenedict ReuschlingWhen using a VNC client that supports QEMU Extended Key Event Message (e.g.
197*a3b3e89fSBenedict ReuschlingTigerVNC), this option isn't needed.
198*a3b3e89fSBenedict ReuschlingWhen using a VNC client that doesn't support QEMU Extended Key Event Message
199*a3b3e89fSBenedict Reuschling(e.g. tightVNC), the layout defaults to the US keyboard unless specified
200*a3b3e89fSBenedict Reuschlingotherwise.
201621b5090SJohn Baldwin.Pq Sq = ,
202621b5090SJohn Baldwinand a value.
203621b5090SJohn BaldwinNo spaces are permitted between the variable name, equals sign, or
204621b5090SJohn Baldwinvalue.
205621b5090SJohn BaldwinBlank lines and lines starting with
206621b5090SJohn Baldwin.Sq #
207621b5090SJohn Baldwinare ignored.
208f656df58SMateusz PiotrowskiSee
209f656df58SMateusz Piotrowski.Xr bhyve_config 5
210f656df58SMateusz Piotrowskifor more details.
2114c08b978SMateusz Piotrowski.It Fl l Cm help
2124c08b978SMateusz PiotrowskiPrint a list of supported LPC devices.
2134c08b978SMateusz Piotrowski.It Fl l Ar lpcdev Ns Op Cm \&, Ns Ar conf
214cde1f5b8SJohn BaldwinAllow devices behind the LPC PCI-ISA bridge to be configured.
2159b1aa8d6SNeel NatuThe only supported devices are the TTY-class devices
2164c08b978SMateusz Piotrowski.Cm com1 , com2 , com3 ,
2174c08b978SMateusz Piotrowskiand
2184c08b978SMateusz Piotrowski.Cm com4 ,
21967c26eb2SCorvin Köhnethe TPM module
22067c26eb2SCorvin Köhne.Cm tpm ,
2212f40fc6fSPeter Grehanthe boot ROM device
2224c08b978SMateusz Piotrowski.Cm bootrom ,
223d85147f3SCorvin Köhnethe
224d85147f3SCorvin Köhne.Cm fwcfg
225d85147f3SCorvin Köhnetype and the debug/test device
2264c08b978SMateusz Piotrowski.Cm pc-testdev .
2271aa56353SMarcelo Araujo.Pp
2284c08b978SMateusz PiotrowskiThe possible values for the
2294c08b978SMateusz Piotrowski.Ar conf
2304c08b978SMateusz Piotrowskiargument are listed in the
2314c08b978SMateusz Piotrowski.Fl s
2324c08b978SMateusz Piotrowskiflag description.
2337e0cb3dfSMateusz Piotrowski.It Xo
2347e0cb3dfSMateusz Piotrowski.Fl m Ar memsize Ns Oo
2357e0cb3dfSMateusz Piotrowski.Sm off
2367e0cb3dfSMateusz Piotrowski.Cm K | k | M | m | G | g | T | t
2377e0cb3dfSMateusz Piotrowski.Sm on
2387e0cb3dfSMateusz Piotrowski.Oc
2397e0cb3dfSMateusz Piotrowski.Xc
2407e0cb3dfSMateusz PiotrowskiSet the guest physical memory size
241cde1f5b8SJohn BaldwinThis must be the same size that was given to
242cde1f5b8SJohn Baldwin.Xr bhyveload 8 .
243cde1f5b8SJohn Baldwin.Pp
2447e0cb3dfSMateusz PiotrowskiThe size argument may be suffixed with one of
2457e0cb3dfSMateusz Piotrowski.Cm K , M , G
2467e0cb3dfSMateusz Piotrowskior
2477e0cb3dfSMateusz Piotrowski.Cm T
2487e0cb3dfSMateusz Piotrowski(either upper or lower case)
2497e0cb3dfSMateusz Piotrowskito indicate a multiple of kilobytes, megabytes, gigabytes, or terabytes.
250cde1f5b8SJohn BaldwinIf no suffix is given, the value is assumed to be in megabytes.
2516ee52c65SRoman Bogorodskiy.Pp
2527e0cb3dfSMateusz PiotrowskiThe default is 256M.
253621b5090SJohn Baldwin.It Fl o Ar var Ns Cm = Ns Ar value
254621b5090SJohn BaldwinSet the configuration variable
255621b5090SJohn Baldwin.Ar var
256621b5090SJohn Baldwinto
257621b5090SJohn Baldwin.Ar value .
258ccb1c87aSMateusz Piotrowski.It Fl P
259ccb1c87aSMateusz PiotrowskiForce the guest virtual CPU to exit when a PAUSE instruction is detected.
26090df5437SMateusz Piotrowski.It Fl p Ar vcpu Ns Cm \& : Ns Ar hostcpu
2619b6155a2SNeel NatuPin guest's virtual CPU
2629b6155a2SNeel Natu.Em vcpu
2639b6155a2SNeel Natuto
2649b6155a2SNeel Natu.Em hostcpu .
2658120190fSFelix JohnsonHost CPUs and guest virtual CPUs are numbered starting from 0.
2668120190fSFelix JohnsonA
2678120190fSFelix Johnson.Fl p
2688120190fSFelix Johnsonoption is required for every guest vCPU to be pinned.
2698120190fSFelix JohnsonTo map a 4 vCPU guest to host CPUs 12-15:
2708120190fSFelix Johnson.Bd -literal
2718120190fSFelix Johnson-p 0:12 -p 1:13 -p 2:14 -p 3:15
2728120190fSFelix Johnson.Ed
273483d953aSJohn Baldwin.It Fl r Ar file
274483d953aSJohn BaldwinResume a guest from a snapshot.
275483d953aSJohn BaldwinThe guest memory contents are restored from
276483d953aSJohn Baldwin.Ar file ,
277483d953aSJohn Baldwinand the guest device and vCPU state are restored from the file
278483d953aSJohn Baldwin.Dq Ar file Ns .kern .
279483d953aSJohn Baldwin.Pp
280*a3b3e89fSBenedict ReuschlingNote that the current snapshot file format requires that the
281*a3b3e89fSBenedict Reuschlingconfiguration of devices in the new VM match the VM from which the
282*a3b3e89fSBenedict Reuschlingsnapshot was taken by specifying the same
283b24eea8cSMateusz Piotrowski.Fl s
284483d953aSJohn Baldwinand
285b24eea8cSMateusz Piotrowski.Fl l
286483d953aSJohn Baldwinoptions.
287483d953aSJohn BaldwinThe count of vCPUs and memory configuration are read from the snapshot.
288ccb1c87aSMateusz Piotrowski.It Fl S
289ccb1c87aSMateusz PiotrowskiWire guest memory.
290449f0e48SMateusz Piotrowski.It Fl s Cm help
291449f0e48SMateusz PiotrowskiPrint a list of supported PCI devices.
292449f0e48SMateusz Piotrowski.It Fl s Ar slot Ns Cm \&, Ns Ar emulation Ns Op Cm \&, Ns Ar conf
293b13e60daSPeter GrehanConfigure a virtual PCI slot and function.
294b13e60daSPeter Grehan.Pp
29584fe889cSChristian Brueffer.Nm
296b13e60daSPeter Grehanprovides PCI bus emulation and virtual devices that can be attached to
297b13e60daSPeter Grehanslots on the bus.
298b13e60daSPeter GrehanThere are 32 available slots, with the option of providing up to 8 functions
299b13e60daSPeter Grehanper slot.
300234d8c47SMateusz Piotrowski.Pp
301234d8c47SMateusz PiotrowskiThe
302234d8c47SMateusz Piotrowski.Ar slot
303234d8c47SMateusz Piotrowskican be specified in one of the following formats:
304234d8c47SMateusz Piotrowski.Pp
305234d8c47SMateusz Piotrowski.Bl -bullet -compact
306234d8c47SMateusz Piotrowski.It
307234d8c47SMateusz Piotrowski.Ar pcislot
308234d8c47SMateusz Piotrowski.It
309234d8c47SMateusz Piotrowski.Sm off
310234d8c47SMateusz Piotrowski.Ar pcislot Cm \&: Ar function
311234d8c47SMateusz Piotrowski.Sm on
312234d8c47SMateusz Piotrowski.It
313234d8c47SMateusz Piotrowski.Sm off
314234d8c47SMateusz Piotrowski.Ar bus Cm \&: Ar pcislot Cm \&: Ar function
315234d8c47SMateusz Piotrowski.Sm on
316234d8c47SMateusz Piotrowski.El
317b13e60daSPeter Grehan.Pp
318b13e60daSPeter GrehanThe
319b13e60daSPeter Grehan.Ar pcislot
32084fe889cSChristian Brueffervalue is 0 to 31.
32184fe889cSChristian BruefferThe optional
32284fe889cSChristian Brueffer.Ar function
32384fe889cSChristian Brueffervalue is 0 to 7.
32484fe889cSChristian BruefferThe optional
32506db1b4aSNeel Natu.Ar bus
32606db1b4aSNeel Natuvalue is 0 to 255.
32784fe889cSChristian BruefferIf not specified, the
32884fe889cSChristian Brueffer.Ar function
32984fe889cSChristian Brueffervalue defaults to 0.
33084fe889cSChristian BruefferIf not specified, the
33184fe889cSChristian Brueffer.Ar bus
33284fe889cSChristian Brueffervalue defaults to 0.
333234d8c47SMateusz Piotrowski.Pp
334234d8c47SMateusz PiotrowskiThe
335234d8c47SMateusz Piotrowski.Ar emulation
336234d8c47SMateusz Piotrowskiargument
337234d8c47SMateusz Piotrowskican be one of the following:
3387014cb23SMateusz Piotrowski.Bl -tag -width "amd_hostbridge"
3397014cb23SMateusz Piotrowski.It Cm hostbridge
3407014cb23SMateusz PiotrowskiA simple host bridge.
341b13e60daSPeter GrehanThis is usually configured at slot 0, and is required by most guest
342b13e60daSPeter Grehanoperating systems.
3437014cb23SMateusz Piotrowski.It Cm amd_hostbridge
3447014cb23SMateusz PiotrowskiEmulation identical to
3457014cb23SMateusz Piotrowski.Cm hostbridge
3467014cb23SMateusz Piotrowskiusing a PCI vendor ID of AMD.
3477014cb23SMateusz Piotrowski.It Cm passthru
348b13e60daSPeter GrehanPCI pass-through device.
3497014cb23SMateusz Piotrowski.It Cm virtio-net
350b13e60daSPeter GrehanVirtio network interface.
3517014cb23SMateusz Piotrowski.It Cm virtio-blk
352b13e60daSPeter GrehanVirtio block storage interface.
3537014cb23SMateusz Piotrowski.It Cm virtio-scsi
354f9c005a1SMarcelo AraujoVirtio SCSI interface.
3557014cb23SMateusz Piotrowski.It Cm virtio-9p
356100353cfSJakub Wojciech KlamaVirtio 9p (VirtFS) interface.
3577014cb23SMateusz Piotrowski.It Cm virtio-rnd
3589d0c4e17SPeter GrehanVirtio RNG interface.
3597014cb23SMateusz Piotrowski.It Cm virtio-console
3605121b6ccSRoman BogorodskiyVirtio console interface, which exposes multiple ports
3615121b6ccSRoman Bogorodskiyto the guest in the form of simple char devices for simple IO
3625121b6ccSRoman Bogorodskiybetween the guest and host userspaces.
363054accacSCorvin Köhne.It Cm virtio-input
364054accacSCorvin KöhneVirtio input interface.
3657014cb23SMateusz Piotrowski.It Cm ahci
366d6099860SMaxim KonovalovAHCI controller attached to arbitrary devices.
3677014cb23SMateusz Piotrowski.It Cm ahci-cd
368b13e60daSPeter GrehanAHCI controller attached to an ATAPI CD/DVD.
3697014cb23SMateusz Piotrowski.It Cm ahci-hd
3707014cb23SMateusz PiotrowskiAHCI controller attached to a SATA hard drive.
3717014cb23SMateusz Piotrowski.It Cm e1000
3729e749f25SAlexander MotinIntel e82545 network interface.
3737014cb23SMateusz Piotrowski.It Cm uart
374b13e60daSPeter GrehanPCI 16550 serial device.
3757014cb23SMateusz Piotrowski.It Cm lpc
3767014cb23SMateusz PiotrowskiLPC PCI-ISA bridge with COM1, COM2, COM3, and COM4 16550 serial ports,
3777014cb23SMateusz Piotrowskia boot ROM, and,
378d85147f3SCorvin Köhneoptionally, a fwcfg type and the debug/test device.
3799b1aa8d6SNeel NatuThe LPC bridge emulation can only be configured on bus 0.
3807014cb23SMateusz Piotrowski.It Cm fbuf
3816c87a2c0SGleb SmirnoffRaw framebuffer device attached to VNC server.
3827014cb23SMateusz Piotrowski.It Cm xhci
3835c3ec676SGleb SmirnoffeXtensible Host Controller Interface (xHCI) USB controller.
3847014cb23SMateusz Piotrowski.It Cm nvme
385c066c68cSMarcelo AraujoNVM Express (NVMe) controller.
3867014cb23SMateusz Piotrowski.It Cm hda
38736f9f044SWarner LoshHigh Definition Audio Controller.
388b13e60daSPeter Grehan.El
389234d8c47SMateusz Piotrowski.Pp
390234d8c47SMateusz PiotrowskiThe optional parameter
391234d8c47SMateusz Piotrowski.Ar conf
392234d8c47SMateusz Piotrowskidescribes the backend for device emulations.
393b13e60daSPeter GrehanIf
394b13e60daSPeter Grehan.Ar conf
395b13e60daSPeter Grehanis not specified, the device emulation has no backend and can be
396b13e60daSPeter Grehanconsidered unconnected.
397b13e60daSPeter Grehan.Pp
3988d9fefe6SMateusz PiotrowskiNetwork device backends:
3997fb22729SMateusz Piotrowski.Sm off
4007fb22729SMateusz Piotrowski.Bl -bullet
4017fb22729SMateusz Piotrowski.It
4027fb22729SMateusz Piotrowski.Xo
4037fb22729SMateusz Piotrowski.Cm tap Ar N
4047fb22729SMateusz Piotrowski.Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx
4057fb22729SMateusz Piotrowski.Op Cm \&,mtu= Ar N
4067fb22729SMateusz Piotrowski.Xc
4077fb22729SMateusz Piotrowski.It
4087fb22729SMateusz Piotrowski.Xo
4097fb22729SMateusz Piotrowski.Cm vmnet Ar N
4107fb22729SMateusz Piotrowski.Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx
4117fb22729SMateusz Piotrowski.Op Cm \&,mtu= Ar N
4127fb22729SMateusz Piotrowski.Xc
4137fb22729SMateusz Piotrowski.It
4147fb22729SMateusz Piotrowski.Xo
4157fb22729SMateusz Piotrowski.Cm netgraph,path= Ar ADDRESS Cm \&,peerhook= Ar HOOK
4167fb22729SMateusz Piotrowski.Op Cm \&,socket= Ar NAME
4177fb22729SMateusz Piotrowski.Op Cm \&,hook= Ar HOOK
4187fb22729SMateusz Piotrowski.Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx
4197fb22729SMateusz Piotrowski.Op Cm \&,mtu= Ar N
4207fb22729SMateusz Piotrowski.Xc
4217fb22729SMateusz Piotrowski.El
4227fb22729SMateusz Piotrowski.Sm on
423baf753ccSJohn Baldwin.Pp
424b13e60daSPeter GrehanIf
4257fb22729SMateusz Piotrowski.Cm mac
426b13e60daSPeter Grehanis not specified, the MAC address is derived from a fixed OUI and the
427b13e60daSPeter Grehanremaining bytes from an MD5 hash of the slot and function numbers and
428b13e60daSPeter Grehanthe device name.
429b13e60daSPeter Grehan.Pp
430b13e60daSPeter GrehanThe MAC address is an ASCII string in
431b13e60daSPeter Grehan.Xr ethers 5
432b13e60daSPeter Grehanformat.
433692dbfe9SVincenzo Maffione.Pp
4347fb22729SMateusz PiotrowskiWith
4357fb22729SMateusz Piotrowski.Cm virtio-net
4367fb22729SMateusz Piotrowskidevices, the
4377fb22729SMateusz Piotrowski.Cm mtu
438692dbfe9SVincenzo Maffioneparameter can be specified to inform the guest about the largest MTU
439692dbfe9SVincenzo Maffionethat should be allowed, expressed in bytes.
440e90337e4SAleksandr Fedorov.Pp
4417fb22729SMateusz PiotrowskiWith
4427fb22729SMateusz Piotrowski.Cm netgraph
4437fb22729SMateusz Piotrowskibackend, the
4447fb22729SMateusz Piotrowski.Cm path
445e90337e4SAleksandr Fedorovand
4467fb22729SMateusz Piotrowski.Cm peerhook
447e90337e4SAleksandr Fedorovparameters must be specified to set the destination node and corresponding hook.
448e90337e4SAleksandr FedorovThe optional parameters
4497fb22729SMateusz Piotrowski.Cm socket
450e90337e4SAleksandr Fedorovand
4517fb22729SMateusz Piotrowski.Cm hook
452e90337e4SAleksandr Fedorovmay be used to set the
453e90337e4SAleksandr Fedorov.Xr ng_socket 4
454e90337e4SAleksandr Fedorovnode name and source hook.
455e90337e4SAleksandr FedorovThe
456e90337e4SAleksandr Fedorov.Ar ADDRESS ,
4577fb22729SMateusz Piotrowski.Ar HOOK ,
458e90337e4SAleksandr Fedorovand
459e90337e4SAleksandr Fedorov.Ar NAME
460e90337e4SAleksandr Fedorovmust comply with
461e90337e4SAleksandr Fedorov.Xr netgraph 4
462e90337e4SAleksandr Fedorovaddressing rules.
463b13e60daSPeter Grehan.Pp
4645232a35fSMateusz PiotrowskiBlock storage device backends:
4655232a35fSMateusz Piotrowski.Sm off
4665232a35fSMateusz Piotrowski.Bl -bullet
4675232a35fSMateusz Piotrowski.It
4685232a35fSMateusz Piotrowski.Ar /filename Op Cm \&, Ar block-device-options
4695232a35fSMateusz Piotrowski.It
4705232a35fSMateusz Piotrowski.Ar /dev/xxx Op Cm \&, Ar block-device-options
4714e43c1e8SNeel Natu.El
4725232a35fSMateusz Piotrowski.Sm on
4734e43c1e8SNeel Natu.Pp
4744e43c1e8SNeel NatuThe
4754e43c1e8SNeel Natu.Ar block-device-options
4764e43c1e8SNeel Natuare:
4775232a35fSMateusz Piotrowski.Bl -tag -width 10n
4785232a35fSMateusz Piotrowski.It Cm nocache
479b13e60daSPeter GrehanOpen the file with
480b13e60daSPeter Grehan.Dv O_DIRECT .
4815232a35fSMateusz Piotrowski.It Cm direct
482b13e60daSPeter GrehanOpen the file using
483b13e60daSPeter Grehan.Dv O_SYNC .
4845232a35fSMateusz Piotrowski.It Cm ro
485b13e60daSPeter GrehanForce the file to be opened read-only.
4865232a35fSMateusz Piotrowski.It Cm sectorsize= Ns Ar logical Ns Oo Cm \&/ Ns Ar physical Oc
4874e43c1e8SNeel NatuSpecify the logical and physical sector sizes of the emulated disk.
4884e43c1e8SNeel NatuThe physical sector size is optional and is equal to the logical sector size
4894e43c1e8SNeel Natuif not explicitly specified.
4905232a35fSMateusz Piotrowski.It Cm nodelete
491e6d795d1SAllan JudeDisable emulation of guest trim requests via
492e6d795d1SAllan Jude.Dv DIOCGDELETE
493e6d795d1SAllan Juderequests.
494480bef94SCorvin Köhne.It Li bootindex= Ns Ar index
495480bef94SCorvin KöhneAdd the device to the bootorder at
496480bef94SCorvin Köhne.Ar index .
497480bef94SCorvin KöhneA fwcfg file is used to specify the bootorder.
498480bef94SCorvin KöhneThe guest firmware may ignore or doesn't support this fwcfg file.
499480bef94SCorvin KöhneIn that case, this feature doesn't work as expected.
500b13e60daSPeter Grehan.El
501b13e60daSPeter Grehan.Pp
5027c5829c9SMateusz PiotrowskiSCSI device backends:
5037c5829c9SMateusz Piotrowski.Sm off
5047c5829c9SMateusz Piotrowski.Bl -bullet
5057c5829c9SMateusz Piotrowski.It
5067c5829c9SMateusz Piotrowski.Pa /dev/cam/ctl Oo Ar pp Cm \&. Ar vp Oc Oo Cm \&, Ar scsi-device-options Oc
50749f87822SAlexander Motin.El
5087c5829c9SMateusz Piotrowski.Sm on
50949f87822SAlexander Motin.Pp
51049f87822SAlexander MotinThe
51149f87822SAlexander Motin.Ar scsi-device-options
51249f87822SAlexander Motinare:
51349f87822SAlexander Motin.Bl -tag -width 10n
5147c5829c9SMateusz Piotrowski.It Cm iid= Ns Ar IID
51549f87822SAlexander MotinInitiator ID to use when sending requests to specified CTL port.
51649f87822SAlexander MotinThe default value is 0.
517480bef94SCorvin Köhne.It Li bootindex= Ns Ar index
518480bef94SCorvin KöhneAdd the device to the bootorder at
519480bef94SCorvin Köhne.Ar index .
520480bef94SCorvin KöhneA fwcfg file is used to specify the bootorder.
521480bef94SCorvin KöhneThe guest firmware may ignore or doesn't support this fwcfg file.
522480bef94SCorvin KöhneIn that case, this feature doesn't work as expected.
523f9c005a1SMarcelo Araujo.El
524f9c005a1SMarcelo Araujo.Pp
5252d00b570SMateusz Piotrowski9P device backends:
5262d00b570SMateusz Piotrowski.Sm off
5272d00b570SMateusz Piotrowski.Bl -bullet
5282d00b570SMateusz Piotrowski.It
5292d00b570SMateusz Piotrowski.Ar sharename Cm = Ar /path/to/share Op Cm \&, Ar 9p-device-options
530100353cfSJakub Wojciech Klama.El
5312d00b570SMateusz Piotrowski.Sm on
532100353cfSJakub Wojciech Klama.Pp
533100353cfSJakub Wojciech KlamaThe
534100353cfSJakub Wojciech Klama.Ar 9p-device-options
535100353cfSJakub Wojciech Klamaare:
536100353cfSJakub Wojciech Klama.Bl -tag -width 10n
5372d00b570SMateusz Piotrowski.It Cm ro
538100353cfSJakub Wojciech KlamaExpose the share in read-only mode.
539100353cfSJakub Wojciech Klama.El
540100353cfSJakub Wojciech Klama.Pp
5412fda01a1SMateusz PiotrowskiTTY device backends:
542b13e60daSPeter Grehan.Bl -tag -width 10n
5432fda01a1SMateusz Piotrowski.It Cm stdio
544b13e60daSPeter GrehanConnect the serial port to the standard input and output of
54584fe889cSChristian Bruefferthe
54684fe889cSChristian Brueffer.Nm
54784fe889cSChristian Bruefferprocess.
5482fda01a1SMateusz Piotrowski.It Ar /dev/xxx
549b13e60daSPeter GrehanUse the host TTY device for serial port I/O.
550b13e60daSPeter Grehan.El
551b13e60daSPeter Grehan.Pp
55267c26eb2SCorvin KöhneTPM device backends:
55367c26eb2SCorvin Köhne.Bl -tag -width 10n
55467c26eb2SCorvin Köhne.It Ar type Ns \&, Ns Ar path Ns Op Cm \&, Ns Ar tpm-device-options
55567c26eb2SCorvin KöhneEmulate a TPM device.
55667c26eb2SCorvin Köhne.El
55767c26eb2SCorvin Köhne.Pp
55867c26eb2SCorvin KöhneThe
55967c26eb2SCorvin Köhne.Ar tpm-device-options
56067c26eb2SCorvin Köhneare:
56167c26eb2SCorvin Köhne.Bl -tag -width 10n
56267c26eb2SCorvin Köhne.It Cm version= Ns Ar version
56367c26eb2SCorvin KöhneVersion of the TPM device according to the TCG specification.
56467c26eb2SCorvin KöhneDefaults to
56567c26eb2SCorvin Köhne.Cm 2.0
56667c26eb2SCorvin Köhne.El
56767c26eb2SCorvin Köhne.El
56867c26eb2SCorvin Köhne.Pp
5692fda01a1SMateusz PiotrowskiBoot ROM device backends:
5709b1aa8d6SNeel Natu.Bl -tag -width 10n
571866036f4SRebecca Cran.It Ar romfile Ns Op Cm \&, Ns Ar varfile
5729b1aa8d6SNeel NatuMap
5739b1aa8d6SNeel Natu.Ar romfile
5749b1aa8d6SNeel Natuin the guest address space reserved for boot firmware.
575866036f4SRebecca CranIf
576866036f4SRebecca Cran.Ar varfile
577866036f4SRebecca Cranis provided, that file is also mapped in the boot firmware guest
578866036f4SRebecca Cranaddress space, and any modifications the guest makes will be saved
579866036f4SRebecca Cranto that file.
5809b1aa8d6SNeel Natu.El
5819b1aa8d6SNeel Natu.Pp
582d85147f3SCorvin KöhneFwcfg types:
583d85147f3SCorvin Köhne.Bl -tag -width 10n
584d85147f3SCorvin Köhne.It Ar fwcfg
585*a3b3e89fSBenedict ReuschlingThe fwcfg interface is used to pass information such as the CPU count
586*a3b3e89fSBenedict Reuschlingor ACPI tables to the guest firmware.
587d85147f3SCorvin KöhneSupported values are
588d85147f3SCorvin Köhne.Ql bhyve
589d85147f3SCorvin Köhneand
590d85147f3SCorvin Köhne.Ql qemu .
591d85147f3SCorvin KöhneDue to backward compatibility reasons,
592d85147f3SCorvin Köhne.Ql bhyve
593d85147f3SCorvin Köhneis the default option.
594d85147f3SCorvin KöhneWhen
595d85147f3SCorvin Köhne.Ql bhyve
596d85147f3SCorvin Köhneis used, bhyve's fwctl interface is used.
597d85147f3SCorvin KöhneIt currently reports only the CPU count to the guest firmware.
598d85147f3SCorvin KöhneThe
599d85147f3SCorvin Köhne.Ql qemu
600d85147f3SCorvin Köhneoption uses QEMU's fwcfg interface.
601*a3b3e89fSBenedict ReuschlingThis interface is widely used and allows user-defined information to
602*a3b3e89fSBenedict Reuschlingbe passed to the guest.
603*a3b3e89fSBenedict ReuschlingIt is used for passing the CPU count, ACPI tables, a boot order and
604*a3b3e89fSBenedict Reuschlingmany other things to the guest.
605*a3b3e89fSBenedict ReuschlingSome operating systems such as Fedora CoreOS can be configured by
606*a3b3e89fSBenedict Reuschlingqemu's fwcfg interface as well.
607d85147f3SCorvin Köhne.El
608d85147f3SCorvin Köhne.Pp
6092fda01a1SMateusz PiotrowskiPass-through device backends:
610baf753ccSJohn Baldwin.Sm off
611baf753ccSJohn Baldwin.Bl -bullet
612baf753ccSJohn Baldwin.It
613baf753ccSJohn Baldwin.Cm ppt Ar N Oo , Ar passthru-device-options Oc
614baf753ccSJohn Baldwin.It
615baf753ccSJohn Baldwin.Ns Ar bus Cm \&/ Ar slot Cm \&/ Ar function
616baf753ccSJohn Baldwin.Op , Ar passthru-device-options
617baf753ccSJohn Baldwin.It
618baf753ccSJohn Baldwin.Cm pci Ar bus Cm : Ar slot Cm : Ns Ar function
619baf753ccSJohn Baldwin.Op , Ar passthru-device-options
620baf753ccSJohn Baldwin.El
621baf753ccSJohn Baldwin.Sm on
622baf753ccSJohn Baldwin.Pp
623baf753ccSJohn BaldwinConnect to a PCI device on the host either named ppt
624baf753ccSJohn Baldwin.Ns Ar N
625baf753ccSJohn Baldwinor at the selector described by
626b13e60daSPeter Grehan.Ar slot ,
627b13e60daSPeter Grehan.Ar bus ,
628b13e60daSPeter Grehanand
629b13e60daSPeter Grehan.Ar function
630b13e60daSPeter Grehannumbers.
631baf753ccSJohn Baldwin.Pp
632baf753ccSJohn BaldwinThe
633baf753ccSJohn Baldwin.Ar passthru-device-options
634baf753ccSJohn Baldwinare:
635baf753ccSJohn Baldwin.Bl -tag -width 10n
6365e19a518SMateusz Piotrowski.It Cm rom= Ns Ar romfile
637e47fe318SCorvin KöhneAdd
638e47fe318SCorvin Köhne.Ar romfile
639e47fe318SCorvin Köhneas option ROM to the PCI device.
640*a3b3e89fSBenedict ReuschlingThe ROM will be loaded by firmware and should be capable of
641*a3b3e89fSBenedict Reuschlinginitializing the device.
642480bef94SCorvin Köhne.It Li bootindex= Ns Ar index
643480bef94SCorvin KöhneAdd the device to the bootorder at
644480bef94SCorvin Köhne.Ar index .
645480bef94SCorvin KöhneA fwcfg file is used to specify the bootorder.
646480bef94SCorvin KöhneThe guest firmware may ignore or doesn't support this fwcfg file.
647480bef94SCorvin KöhneIn that case, this feature doesn't work as expected.
648b13e60daSPeter Grehan.El
649b13e60daSPeter Grehan.Pp
6509b1aa8d6SNeel NatuGuest memory must be wired using the
6519b1aa8d6SNeel Natu.Fl S
6529b1aa8d6SNeel Natuoption when a pass-through device is configured.
6539b1aa8d6SNeel Natu.Pp
654b13e60daSPeter GrehanThe host device must have been reserved at boot-time using the
655a9258f9bSWarren Block.Va pptdevs
656b13e60daSPeter Grehanloader variable as described in
657b13e60daSPeter Grehan.Xr vmm 4 .
6585121b6ccSRoman Bogorodskiy.Pp
65967c26eb2SCorvin KöhneTPM devices:
66067c26eb2SCorvin Köhne.Bl -tag -width 10n
66167c26eb2SCorvin Köhne.It Ns Ar type
66267c26eb2SCorvin KöhneSpecifies the type of the TPM device.
66367c26eb2SCorvin Köhne.Pp
66467c26eb2SCorvin KöhneSupported types:
66567c26eb2SCorvin Köhne.Bl -tag -width 10n
66667c26eb2SCorvin Köhne.It Cm passthru
66767c26eb2SCorvin Köhne.El
66867c26eb2SCorvin Köhne.It Cm version= Ns Ar version
66967c26eb2SCorvin KöhneThe
67067c26eb2SCorvin Köhne.Ar version
67167c26eb2SCorvin Köhneof the emulated TPM device according to the TCG specification.
67267c26eb2SCorvin Köhne.Pp
67367c26eb2SCorvin KöhneSupported versions:
67467c26eb2SCorvin Köhne.Bl -tag -width 10n
67567c26eb2SCorvin Köhne.It Cm 2.0
67667c26eb2SCorvin Köhne.El
67767c26eb2SCorvin Köhne.El
67867c26eb2SCorvin Köhne.Pp
6793f4c771fSMateusz PiotrowskiVirtio console device backends:
6803f4c771fSMateusz Piotrowski.Bl -bullet
6813f4c771fSMateusz Piotrowski.Sm off
6823f4c771fSMateusz Piotrowski.It
6833f4c771fSMateusz 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 ...
6843f4c771fSMateusz Piotrowski.Sm on
6853f4c771fSMateusz Piotrowski.El
6863f4c771fSMateusz Piotrowski.Pp
6875121b6ccSRoman BogorodskiyA maximum of 16 ports per device can be created.
6885121b6ccSRoman BogorodskiyEvery port is named and corresponds to a Unix domain socket created by
6895121b6ccSRoman Bogorodskiy.Nm .
6905121b6ccSRoman Bogorodskiy.Nm
6915121b6ccSRoman Bogorodskiyaccepts at most one connection per port at a time.
6925121b6ccSRoman Bogorodskiy.Pp
6935121b6ccSRoman BogorodskiyLimitations:
6948d9fefe6SMateusz Piotrowski.Bl -bullet
6955121b6ccSRoman Bogorodskiy.It
6965121b6ccSRoman BogorodskiyDue to lack of destructors in
6975121b6ccSRoman Bogorodskiy.Nm ,
6985121b6ccSRoman Bogorodskiysockets on the filesystem must be cleaned up manually after
6995121b6ccSRoman Bogorodskiy.Nm
7005121b6ccSRoman Bogorodskiyexits.
7015121b6ccSRoman Bogorodskiy.It
7023f4c771fSMateusz PiotrowskiThere is no way to use the
7033f4c771fSMateusz Piotrowski.Dq console port
7043f4c771fSMateusz Piotrowskifeature, nor the console port
7050ee3a4b4SRoman Bogorodskiyresize at present.
7065121b6ccSRoman Bogorodskiy.It
7070ee3a4b4SRoman BogorodskiyEmergency write is advertised, but no-op at present.
7085121b6ccSRoman Bogorodskiy.El
7096c87a2c0SGleb Smirnoff.Pp
710054accacSCorvin KöhneVirtio input device backends:
711054accacSCorvin Köhne.Bl -tag -width 10n
712054accacSCorvin Köhne.It Ar /dev/input/eventX
713054accacSCorvin KöhneSend input events of
714054accacSCorvin Köhne.Ar /dev/input/eventX
715054accacSCorvin Köhneto guest by VirtIO Input Interface.
716054accacSCorvin Köhne.El
717054accacSCorvin Köhne.Pp
7188b97e975SMateusz PiotrowskiFramebuffer devices backends:
7198b97e975SMateusz Piotrowski.Bl -bullet
7208b97e975SMateusz Piotrowski.Sm off
7218b97e975SMateusz Piotrowski.It
7228b97e975SMateusz Piotrowski.Op Cm rfb= Ar ip-and-port
7238b97e975SMateusz Piotrowski.Op Cm ,w= Ar width
7248b97e975SMateusz Piotrowski.Op Cm ,h= Ar height
7258b97e975SMateusz Piotrowski.Op Cm ,vga= Ar vgaconf
7268b97e975SMateusz Piotrowski.Op Cm ,wait
7278b97e975SMateusz Piotrowski.Op Cm ,password= Ar password
7288b97e975SMateusz Piotrowski.Sm on
7298b97e975SMateusz Piotrowski.El
7308b97e975SMateusz Piotrowski.Pp
7318b97e975SMateusz PiotrowskiConfiguration options are defined as follows:
7325c3ec676SGleb Smirnoff.Bl -tag -width 10n
7338b97e975SMateusz Piotrowski.It Cm rfb= Ns Ar ip-and-port Pq or Cm tcp= Ns Ar ip-and-port
7348b97e975SMateusz PiotrowskiAn IP address and a port VNC should listen on.
7358b97e975SMateusz PiotrowskiThere are two formats:
7368b97e975SMateusz Piotrowski.Pp
7378b97e975SMateusz Piotrowski.Bl -bullet -compact
7388d9fefe6SMateusz Piotrowski.It
7398b97e975SMateusz Piotrowski.Sm off
7408b97e975SMateusz Piotrowski.Op Ar IPv4 Cm \&:
7415c3ec676SGleb Smirnoff.Ar port
7428b97e975SMateusz Piotrowski.Sm on
7438d9fefe6SMateusz Piotrowski.It
7448b97e975SMateusz Piotrowski.Sm off
7458b97e975SMateusz Piotrowski.Cm \&[ Ar IPv6%zone Cm \&] Cm \&: Ar port
7468b97e975SMateusz Piotrowski.Sm on
7478b97e975SMateusz Piotrowski.El
7488b97e975SMateusz Piotrowski.Pp
7496c87a2c0SGleb SmirnoffThe default is to listen on localhost IPv4 address and default VNC port 5900.
7508883128bSBjoern A. ZeebAn IPv6 address must be enclosed in square brackets and may contain an
7517d9545fcSRodney W. Grimesoptional zone identifier.
7528b97e975SMateusz Piotrowski.It Cm w= Ns Ar width No and Cm h= Ns Ar height
7535c3ec676SGleb SmirnoffA display resolution, width and height, respectively.
7545c3ec676SGleb SmirnoffIf not specified, a default resolution of 1024x768 pixels will be used.
7555c3ec676SGleb SmirnoffMinimal supported resolution is 640x480 pixels,
7565c3ec676SGleb Smirnoffand maximum is 1920x1200 pixels.
7578b97e975SMateusz Piotrowski.It Cm vga= Ns Ar vgaconf
7585c3ec676SGleb SmirnoffPossible values for this option are
7598b97e975SMateusz Piotrowski.Cm io
7605c3ec676SGleb Smirnoff(default),
7618b97e975SMateusz Piotrowski.Cm on
7625c3ec676SGleb Smirnoff, and
7638b97e975SMateusz Piotrowski.Cm off .
7645c3ec676SGleb SmirnoffPCI graphics cards have a dual personality in that they are
7655c3ec676SGleb Smirnoffstandard PCI devices with BAR addressing, but may also
7665c3ec676SGleb Smirnoffimplicitly decode legacy VGA I/O space
7675c3ec676SGleb Smirnoff.Pq Ad 0x3c0-3df
7685c3ec676SGleb Smirnoffand memory space
7695c3ec676SGleb Smirnoff.Pq 64KB at Ad 0xA0000 .
7705c3ec676SGleb SmirnoffThe default
7718b97e975SMateusz Piotrowski.Cm io
7728d56c805SYuri Pankovoption should be used for guests that attempt to issue BIOS calls which result
7738d56c805SYuri Pankovin I/O port queries, and fail to boot if I/O decode is disabled.
7745c3ec676SGleb Smirnoff.Pp
7755c3ec676SGleb SmirnoffThe
7768b97e975SMateusz Piotrowski.Cm on
7775c3ec676SGleb Smirnoffoption should be used along with the CSM BIOS capability in UEFI
7785c3ec676SGleb Smirnoffto boot traditional BIOS guests that require the legacy VGA I/O and
7795c3ec676SGleb Smirnoffmemory regions to be available.
7805c3ec676SGleb Smirnoff.Pp
7815c3ec676SGleb SmirnoffThe
7828b97e975SMateusz Piotrowski.Cm off
7835c3ec676SGleb Smirnoffoption should be used for the UEFI guests that assume that
7845c3ec676SGleb SmirnoffVGA adapter is present if they detect the I/O ports.
7855c3ec676SGleb SmirnoffAn example of such a guest is
7865c3ec676SGleb Smirnoff.Ox
7875c3ec676SGleb Smirnoffin UEFI mode.
7885c3ec676SGleb Smirnoff.Pp
7895c3ec676SGleb SmirnoffPlease refer to the
7905c3ec676SGleb Smirnoff.Nm
7915c3ec676SGleb Smirnoff.Fx
7925c3ec676SGleb Smirnoffwiki page
7935c3ec676SGleb Smirnoff.Pq Lk https://wiki.freebsd.org/bhyve
7945c3ec676SGleb Smirnofffor configuration notes of particular guests.
7958b97e975SMateusz Piotrowski.It Cm wait
7965c3ec676SGleb SmirnoffInstruct
7975c3ec676SGleb Smirnoff.Nm
7988d56c805SYuri Pankovto only boot upon the initiation of a VNC connection, simplifying the
7998d56c805SYuri Pankovinstallation of operating systems that require immediate keyboard input.
8005c3ec676SGleb SmirnoffThis can be removed for post-installation use.
8018b97e975SMateusz Piotrowski.It Cm password= Ns Ar password
802f4d34383SMarcelo AraujoThis type of authentication is known to be cryptographically weak and is not
803f4d34383SMarcelo Araujointended for use on untrusted networks.
804f4d34383SMarcelo AraujoMany implementations will want to use stronger security, such as running
805f4d34383SMarcelo Araujothe session over an encrypted channel provided by IPsec or SSH.
8065c3ec676SGleb Smirnoff.El
8076c87a2c0SGleb Smirnoff.Pp
8086eff58acSMateusz PiotrowskixHCI USB device backends:
8095c3ec676SGleb Smirnoff.Bl -tag -width 10n
8106eff58acSMateusz Piotrowski.It Cm tablet
8115c3ec676SGleb SmirnoffA USB tablet device which provides precise cursor synchronization
8125c3ec676SGleb Smirnoffwhen using VNC.
8136c87a2c0SGleb Smirnoff.El
814c066c68cSMarcelo Araujo.Pp
8156eff58acSMateusz PiotrowskiNVMe device backends:
8166eff58acSMateusz Piotrowski.Bl -bullet
8176eff58acSMateusz Piotrowski.Sm off
8186eff58acSMateusz Piotrowski.It
8196eff58acSMateusz Piotrowski.Ar devpath
8206eff58acSMateusz Piotrowski.Op Cm ,maxq= Ar #
8216eff58acSMateusz Piotrowski.Op Cm ,qsz= Ar #
8226eff58acSMateusz Piotrowski.Op Cm ,ioslots= Ar #
8236eff58acSMateusz Piotrowski.Op Cm ,sectsz= Ar #
8246eff58acSMateusz Piotrowski.Op Cm ,ser= Ar #
8256eff58acSMateusz Piotrowski.Op Cm ,eui64= Ar #
8266eff58acSMateusz Piotrowski.Op Cm ,dsm= Ar opt
8276eff58acSMateusz Piotrowski.Sm on
8286eff58acSMateusz Piotrowski.El
8296eff58acSMateusz Piotrowski.Pp
8306eff58acSMateusz PiotrowskiConfiguration options are defined as follows:
831c066c68cSMarcelo Araujo.Bl -tag -width 10n
8326eff58acSMateusz Piotrowski.It Ar devpath
833c066c68cSMarcelo AraujoAccepted device paths are:
834c066c68cSMarcelo Araujo.Ar /dev/blockdev
835c066c68cSMarcelo Araujoor
836c066c68cSMarcelo Araujo.Ar /path/to/image
837c066c68cSMarcelo Araujoor
8386eff58acSMateusz Piotrowski.Cm ram= Ns Ar size_in_MiB .
8396eff58acSMateusz Piotrowski.It Cm maxq
840c066c68cSMarcelo AraujoMax number of queues.
8416eff58acSMateusz Piotrowski.It Cm qsz
842c066c68cSMarcelo AraujoMax elements in each queue.
8436eff58acSMateusz Piotrowski.It Cm ioslots
844c066c68cSMarcelo AraujoMax number of concurrent I/O requests.
8456eff58acSMateusz Piotrowski.It Cm sectsz
846c066c68cSMarcelo AraujoSector size (defaults to blockif sector size).
8476eff58acSMateusz Piotrowski.It Cm ser
848c066c68cSMarcelo AraujoSerial number with maximum 20 characters.
8496eff58acSMateusz Piotrowski.It Cm eui64
8506eff58acSMateusz PiotrowskiIEEE Extended Unique Identifier (8 byte value).
8516eff58acSMateusz Piotrowski.It Cm dsm
8526eff58acSMateusz PiotrowskiDataSet Management support.
8536eff58acSMateusz PiotrowskiSupported values are:
8546eff58acSMateusz Piotrowski.Cm auto , enable ,
8556eff58acSMateusz Piotrowskiand
8566eff58acSMateusz Piotrowski.Cm disable .
857c066c68cSMarcelo Araujo.El
85836f9f044SWarner Losh.Pp
859d5fcc4b6SMateusz PiotrowskiAHCI device backends:
860d5fcc4b6SMateusz Piotrowski.Bl -bullet
861d5fcc4b6SMateusz Piotrowski.It
862d5fcc4b6SMateusz Piotrowski.Sm off
863d5fcc4b6SMateusz Piotrowski.Op Oo Cm hd\&: | cd\&: Oc Ar path
864d5fcc4b6SMateusz Piotrowski.Op Cm ,nmrr= Ar nmrr
865d5fcc4b6SMateusz Piotrowski.Op Cm ,ser= Ar #
866d5fcc4b6SMateusz Piotrowski.Op Cm ,rev= Ar #
867d5fcc4b6SMateusz Piotrowski.Op Cm ,model= Ar #
868d5fcc4b6SMateusz Piotrowski.Sm on
869d5fcc4b6SMateusz Piotrowski.El
870d5fcc4b6SMateusz Piotrowski.Pp
871d5fcc4b6SMateusz PiotrowskiConfiguration options are defined as follows:
8729af3bcd7SPeter Grehan.Bl -tag -width 10n
873d5fcc4b6SMateusz Piotrowski.It Cm nmrr
874d5fcc4b6SMateusz PiotrowskiNominal Media Rotation Rate, known as RPM.
875d5fcc4b6SMateusz PiotrowskiValue 1 will indicate device as Solid State Disk.
876d5fcc4b6SMateusz PiotrowskiDefault value is 0, not report.
877d5fcc4b6SMateusz Piotrowski.It Cm ser
8789af3bcd7SPeter GrehanSerial Number with maximum 20 characters.
879d5fcc4b6SMateusz Piotrowski.It Cm rev
8809af3bcd7SPeter GrehanRevision Number with maximum 8 characters.
881d5fcc4b6SMateusz Piotrowski.It Cm model
8829af3bcd7SPeter GrehanModel Number with maximum 40 characters.
8839af3bcd7SPeter Grehan.El
8849af3bcd7SPeter Grehan.Pp
885061f37d2SMateusz PiotrowskiHD Audio device backends:
886061f37d2SMateusz Piotrowski.Bl -bullet
887061f37d2SMateusz Piotrowski.It
888061f37d2SMateusz Piotrowski.Sm off
889061f37d2SMateusz Piotrowski.Op Cm play= Ar playback
890061f37d2SMateusz Piotrowski.Op Cm ,rec= Ar recording
891061f37d2SMateusz Piotrowski.Sm on
892061f37d2SMateusz Piotrowski.El
893061f37d2SMateusz Piotrowski.Pp
894061f37d2SMateusz PiotrowskiConfiguration options are defined as follows:
89536f9f044SWarner Losh.Bl -tag -width 10n
896061f37d2SMateusz Piotrowski.It Cm play
89736f9f044SWarner LoshPlayback device, typically
89836f9f044SWarner Losh.Ar /dev/dsp0 .
899061f37d2SMateusz Piotrowski.It Cm rec
90036f9f044SWarner LoshRecording device, typically
90136f9f044SWarner Losh.Ar /dev/dsp0 .
90236f9f044SWarner Losh.El
9035749449dSJohn Baldwin.It Fl U Ar uuid
9045749449dSJohn BaldwinSet the universally unique identifier
9055749449dSJohn Baldwin.Pq UUID
9065749449dSJohn Baldwinin the guest's System Management BIOS System Information structure.
9075749449dSJohn BaldwinBy default a UUID is generated from the host's hostname and
9085749449dSJohn Baldwin.Ar vmname .
909ccb1c87aSMateusz Piotrowski.It Fl u
910ccb1c87aSMateusz PiotrowskiRTC keeps UTC time.
911cde1f5b8SJohn Baldwin.It Fl W
912cde1f5b8SJohn BaldwinForce virtio PCI device emulations to use MSI interrupts instead of MSI-X
913cde1f5b8SJohn Baldwininterrupts.
914ccb1c87aSMateusz Piotrowski.It Fl w
915ccb1c87aSMateusz PiotrowskiIgnore accesses to unimplemented Model Specific Registers (MSRs).
916ccb1c87aSMateusz PiotrowskiThis is intended for debug purposes.
9179777ca20SNeel Natu.It Fl x
9189777ca20SNeel NatuThe guest's local APIC is configured in x2APIC mode.
919b100acf2SNeel Natu.It Fl Y
920b100acf2SNeel NatuDisable MPtable generation.
921b13e60daSPeter Grehan.It Ar vmname
922b13e60daSPeter GrehanAlphanumeric name of the guest.
923b13e60daSPeter GrehanThis should be the same as that created by
924b13e60daSPeter Grehan.Xr bhyveload 8 .
925b13e60daSPeter Grehan.El
926621b5090SJohn Baldwin.Sh CONFIGURATION VARIABLES
927621b5090SJohn Baldwin.Nm
928621b5090SJohn Baldwinuses an internal tree of configuration variables to describe global and
929621b5090SJohn Baldwinper-device settings.
930621b5090SJohn BaldwinWhen
931621b5090SJohn Baldwin.Nm
932621b5090SJohn Baldwinstarts,
933621b5090SJohn Baldwinit parses command line options (including config files) in the order given
934621b5090SJohn Baldwinon the command line.
935621b5090SJohn BaldwinEach command line option sets one or more configuration variables.
936621b5090SJohn BaldwinFor example,
937621b5090SJohn Baldwinthe
938621b5090SJohn Baldwin.Fl s
939621b5090SJohn Baldwinoption creates a new tree node for a PCI device and sets one or more variables
940621b5090SJohn Baldwinunder that node including the device model and device model-specific variables.
941621b5090SJohn BaldwinVariables may be set multiple times during this parsing stage with the final
942621b5090SJohn Baldwinvalue overriding previous values.
943621b5090SJohn Baldwin.Pp
944621b5090SJohn BaldwinOnce all of the command line options have been processed,
945621b5090SJohn Baldwinthe configuration values are frozen.
946621b5090SJohn Baldwin.Nm
947621b5090SJohn Baldwinthen uses the value of configuration values to initialize device models
948621b5090SJohn Baldwinand global settings.
949621b5090SJohn Baldwin.Pp
950621b5090SJohn BaldwinMore details on configuration variables can be found in
951621b5090SJohn Baldwin.Xr bhyve_config 5 .
952cd377eb3SJohn Baldwin.Sh DEBUG SERVER
953cd377eb3SJohn BaldwinThe current debug server provides limited support for debuggers.
954cd377eb3SJohn Baldwin.Ss Registers
955cd377eb3SJohn BaldwinEach virtual CPU is exposed to the debugger as a thread.
956cd377eb3SJohn Baldwin.Pp
957cd377eb3SJohn BaldwinGeneral purpose registers can be queried for each virtual CPU, but other
958cd377eb3SJohn Baldwinregisters such as floating-point and system registers cannot be queried.
959cd377eb3SJohn Baldwin.Ss Memory
960*a3b3e89fSBenedict ReuschlingMemory (including memory mapped I/O regions) can be read and written
961*a3b3e89fSBenedict Reuschlingby the debugger.
962*a3b3e89fSBenedict ReuschlingMemory operations use virtual addresses that are resolved to physical
963*a3b3e89fSBenedict Reuschlingaddresses via the current virtual CPU's active address translation.
964cd377eb3SJohn Baldwin.Ss Control
965cd377eb3SJohn BaldwinThe running guest can be interrupted by the debugger at any time
966cd377eb3SJohn Baldwin.Pq for example, by pressing Ctrl-C in the debugger .
967cd377eb3SJohn Baldwin.Pp
968cd377eb3SJohn BaldwinSingle stepping is only supported on Intel CPUs supporting the MTRAP VM exit.
969cd377eb3SJohn Baldwin.Pp
970cbd03a9dSJohn BaldwinBreakpoints are supported on Intel CPUs that support single stepping.
971cbd03a9dSJohn BaldwinNote that continuing from a breakpoint while interrupts are enabled in the
972cbd03a9dSJohn Baldwinguest may not work as expected due to timer interrupts firing while single
973cbd03a9dSJohn Baldwinstepping over the breakpoint.
974c2202d41SRoman Bogorodskiy.Sh SIGNAL HANDLING
975c2202d41SRoman Bogorodskiy.Nm
976c2202d41SRoman Bogorodskiydeals with the following signals:
977c2202d41SRoman Bogorodskiy.Pp
9783357e948SMateusz Piotrowski.Bl -tag -width SIGTERM -compact
979c2202d41SRoman Bogorodskiy.It SIGTERM
980c2202d41SRoman BogorodskiyTrigger ACPI poweroff for a VM
981c2202d41SRoman Bogorodskiy.El
982c2202d41SRoman Bogorodskiy.Sh EXIT STATUS
983c2202d41SRoman BogorodskiyExit status indicates how the VM was terminated:
984c2202d41SRoman Bogorodskiy.Pp
985c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact
986c2202d41SRoman Bogorodskiy.It 0
987c2202d41SRoman Bogorodskiyrebooted
988c2202d41SRoman Bogorodskiy.It 1
989c2202d41SRoman Bogorodskiypowered off
990c2202d41SRoman Bogorodskiy.It 2
991c2202d41SRoman Bogorodskiyhalted
992c2202d41SRoman Bogorodskiy.It 3
993c2202d41SRoman Bogorodskiytriple fault
994989e062bSMarcelo Araujo.It 4
995989e062bSMarcelo Araujoexited due to an error
996c2202d41SRoman Bogorodskiy.El
997b13e60daSPeter Grehan.Sh EXAMPLES
9985c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must have been loaded with
99984fe889cSChristian Brueffer.Xr bhyveload 8
1000b13e60daSPeter Grehanor a similar boot loader before
1001b13e60daSPeter Grehan.Xr bhyve 4
1002b13e60daSPeter Grehancan be run.
10035c3ec676SGleb SmirnoffOtherwise, the boot loader is not needed.
1004b13e60daSPeter Grehan.Pp
1005b13e60daSPeter GrehanTo run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
1006b13e60daSPeter Grehanblock device backed by the
1007b13e60daSPeter Grehan.Pa /my/image
1008b13e60daSPeter Grehanfilesystem image, and a serial port for the console:
1009b13e60daSPeter Grehan.Bd -literal -offset indent
1010b13e60daSPeter Grehanbhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
1011b13e60daSPeter Grehan  -l com1,stdio -A -H -P -m 1G vm1
1012b13e60daSPeter Grehan.Ed
1013b13e60daSPeter Grehan.Pp
1014b13e60daSPeter GrehanRun a 24GB single-CPU virtual machine with three network ports, one of which
1015b13e60daSPeter Grehanhas a MAC address specified:
1016b13e60daSPeter Grehan.Bd -literal -offset indent
1017b13e60daSPeter Grehanbhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\
1018b13e60daSPeter Grehan  -s 2:1,virtio-net,tap1 \\
1019b13e60daSPeter Grehan  -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\
1020b13e60daSPeter Grehan  -s 3,virtio-blk,/my/image -l com1,stdio \\
1021b13e60daSPeter Grehan  -A -H -P -m 24G bigvm
1022b13e60daSPeter Grehan.Ed
1023b13e60daSPeter Grehan.Pp
1024b13e60daSPeter GrehanRun an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI
1025b13e60daSPeter GrehanCD-ROM, a single virtio network port, an AMD hostbridge, and the console
1026b13e60daSPeter Grehanport connected to an
1027b13e60daSPeter Grehan.Xr nmdm 4
102884fe889cSChristian Brueffernull-modem device.
1029b13e60daSPeter Grehan.Bd -literal -offset indent
1030a7ab1463SAlexander Motinbhyve -c 4 \\
1031b13e60daSPeter Grehan  -s 0,amd_hostbridge -s 1,lpc \\
1032098f5155SAlexander Motin  -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\
1033098f5155SAlexander Motinhd:/images/disk.3,hd:/images/disk.4,\\
1034098f5155SAlexander Motinhd:/images/disk.5,hd:/images/disk.6,\\
1035098f5155SAlexander Motinhd:/images/disk.7,hd:/images/disk.8,\\
1036098f5155SAlexander Motincd:/images/install.iso \\
1037b13e60daSPeter Grehan  -s 3,virtio-net,tap0 \\
1038b13e60daSPeter Grehan  -l com1,/dev/nmdm0A \\
1039b13e60daSPeter Grehan  -A -H -P -m 8G
1040b13e60daSPeter Grehan.Ed
10415c3ec676SGleb Smirnoff.Pp
10425c3ec676SGleb SmirnoffRun a UEFI virtual machine with a display resolution of 800 by 600 pixels
10435c3ec676SGleb Smirnoffthat can be accessed via VNC at: 0.0.0.0:5900.
10445c3ec676SGleb Smirnoff.Bd -literal -offset indent
10455c3ec676SGleb Smirnoffbhyve -c 2 -m 4G -w -H \\
10465c3ec676SGleb Smirnoff  -s 0,hostbridge \\
10475c3ec676SGleb Smirnoff  -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\
10485c3ec676SGleb Smirnoff  -s 4,ahci-hd,disk.img \\
10495c3ec676SGleb Smirnoff  -s 5,virtio-net,tap0 \\
10505c3ec676SGleb Smirnoff  -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\
10515c3ec676SGleb Smirnoff  -s 30,xhci,tablet \\
10525c3ec676SGleb Smirnoff  -s 31,lpc -l com1,stdio \\
10535c3ec676SGleb Smirnoff  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
10545c3ec676SGleb Smirnoff   uefivm
10555c3ec676SGleb Smirnoff.Ed
10568883128bSBjoern A. Zeeb.Pp
10578883128bSBjoern A. ZeebRun a UEFI virtual machine with a VNC display that is bound to all IPv6
10588883128bSBjoern A. Zeebaddresses on port 5900.
10598883128bSBjoern A. Zeeb.Bd -literal -offset indent
10608883128bSBjoern A. Zeebbhyve -c 2 -m 4G -w -H \\
10618883128bSBjoern A. Zeeb  -s 0,hostbridge \\
10628883128bSBjoern A. Zeeb  -s 4,ahci-hd,disk.img \\
10638883128bSBjoern A. Zeeb  -s 5,virtio-net,tap0 \\
10648883128bSBjoern A. Zeeb  -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\
10658883128bSBjoern A. Zeeb  -s 30,xhci,tablet \\
10668883128bSBjoern A. Zeeb  -s 31,lpc -l com1,stdio \\
10678883128bSBjoern A. Zeeb  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
10688883128bSBjoern A. Zeeb   uefivm
10698883128bSBjoern A. Zeeb.Ed
1070866036f4SRebecca Cran.Pp
1071866036f4SRebecca CranRun a UEFI virtual machine with a VARS file to save EFI variables.
1072866036f4SRebecca CranNote that
1073866036f4SRebecca Cran.Nm
1074866036f4SRebecca Cranwill write guest modifications to the given VARS file.
1075866036f4SRebecca CranBe sure to create a per-guest copy of the template VARS file from
1076866036f4SRebecca Cran.Pa /usr .
1077866036f4SRebecca Cran.Bd -literal -offset indent
1078866036f4SRebecca Cranbhyve -c 2 -m 4g -w -H \\
1079866036f4SRebecca Cran  -s 0,hostbridge \\
108066659955SAlexey Marchenko  -s 31,lpc -l com1,stdio \\
1081866036f4SRebecca Cran  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd
1082866036f4SRebecca Cran   uefivm
1083866036f4SRebecca Cran.Ed
1084b13e60daSPeter Grehan.Sh SEE ALSO
1085b13e60daSPeter Grehan.Xr bhyve 4 ,
1086e90337e4SAleksandr Fedorov.Xr netgraph 4 ,
1087e90337e4SAleksandr Fedorov.Xr ng_socket 4 ,
1088b13e60daSPeter Grehan.Xr nmdm 4 ,
1089b13e60daSPeter Grehan.Xr vmm 4 ,
1090621b5090SJohn Baldwin.Xr bhyve_config 5 ,
1091b13e60daSPeter Grehan.Xr ethers 5 ,
109205f7cd8bSJoel Dahl.Xr bhyvectl 8 ,
109305f7cd8bSJoel Dahl.Xr bhyveload 8
10948d56c805SYuri Pankov.Pp
10958d56c805SYuri Pankov.Rs
10968d56c805SYuri Pankov.%A Intel
10978d56c805SYuri Pankov.%B 64 and IA-32 Architectures Software Developer’s Manual
10988d56c805SYuri Pankov.%V Volume 3
10998d56c805SYuri Pankov.Re
1100b13e60daSPeter Grehan.Sh HISTORY
1101b13e60daSPeter Grehan.Nm
1102b13e60daSPeter Grehanfirst appeared in
1103b13e60daSPeter Grehan.Fx 10.0 .
1104b13e60daSPeter Grehan.Sh AUTHORS
110501c2b8acSBaptiste Daroussin.An Neel Natu Aq Mt neel@freebsd.org
110601c2b8acSBaptiste Daroussin.An Peter Grehan Aq Mt grehan@freebsd.org
1107