xref: /freebsd/usr.sbin/bhyve/bhyve.8 (revision ccb1c87a6aa563a927a98a6f9175d95929535b21)
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.\"
25b13e60daSPeter Grehan.\" $FreeBSD$
26b13e60daSPeter Grehan.\"
27bfe40b69SMateusz Piotrowski.Dd April 18, 2021
28b13e60daSPeter Grehan.Dt BHYVE 8
29b13e60daSPeter Grehan.Os
30b13e60daSPeter Grehan.Sh NAME
31b13e60daSPeter Grehan.Nm bhyve
32b13e60daSPeter Grehan.Nd "run a guest operating system inside a virtual machine"
33b13e60daSPeter Grehan.Sh SYNOPSIS
34b13e60daSPeter Grehan.Nm
35c4df8cbfSRobert Wing.Op Fl AaCDeHhPSuWwxY
3601d822d3SRodney W. Grimes.Oo
3777d208a3SMateusz Piotrowski.Sm off
3877d208a3SMateusz Piotrowski.Fl c\~
3901d822d3SRodney W. Grimes.Oo
4077d208a3SMateusz Piotrowski.Op Cm cpus=
4177d208a3SMateusz Piotrowski.Ar numcpus
4201d822d3SRodney W. Grimes.Oc
4377d208a3SMateusz Piotrowski.Op Cm ,sockets= Ar n
4477d208a3SMateusz Piotrowski.Op Cm ,cores= Ar n
4577d208a3SMateusz Piotrowski.Op Cm ,threads= Ar n
4677d208a3SMateusz Piotrowski.Oc
4777d208a3SMateusz Piotrowski.Sm on
48cd377eb3SJohn Baldwin.Op Fl G Ar port
49621b5090SJohn Baldwin.Op Fl k Ar file
5077d208a3SMateusz Piotrowski.Oo Fl l
5177d208a3SMateusz Piotrowski.Sm off
52bfe40b69SMateusz Piotrowski.Ar lpcdev Op Cm \&, Ar conf
5377d208a3SMateusz Piotrowski.Sm on
5477d208a3SMateusz Piotrowski.Oc
5577d208a3SMateusz Piotrowski.Oo Fl m
5677d208a3SMateusz Piotrowski.Sm off
5777d208a3SMateusz Piotrowski.Ar memsize
5877d208a3SMateusz Piotrowski.Oo
5977d208a3SMateusz Piotrowski.Cm K No | Cm k No | Cm M No | Cm m No | Cm G No | Cm g No | Cm T No | Cm t
6077d208a3SMateusz Piotrowski.Oc
6177d208a3SMateusz Piotrowski.Sm on
6277d208a3SMateusz Piotrowski.Oc
63621b5090SJohn Baldwin.Op Fl o Ar var Ns Cm = Ns Ar value
6477d208a3SMateusz Piotrowski.Op Fl p Ar vcpu Ns Cm \&: Ns Ar hostcpu
65483d953aSJohn Baldwin.Op Fl r Ar file
6677d208a3SMateusz Piotrowski.Sm off
67bfe40b69SMateusz Piotrowski.Oo Fl s\~
68bfe40b69SMateusz Piotrowski.Ar slot Cm \&, Ar emulation Op Cm \&, Ar conf
6977d208a3SMateusz Piotrowski.Sm on
7077d208a3SMateusz Piotrowski.Oc
715749449dSJohn Baldwin.Op Fl U Ar uuid
72b13e60daSPeter Grehan.Ar vmname
73bfe40b69SMateusz Piotrowski.Nm
74bfe40b69SMateusz Piotrowski.Fl l Cm help
75bfe40b69SMateusz Piotrowski.Nm
76bfe40b69SMateusz Piotrowski.Fl s Cm help
77b13e60daSPeter Grehan.Sh DESCRIPTION
78b13e60daSPeter Grehan.Nm
797fca1ad5SGlen Barberis a hypervisor that runs guest operating systems inside a
80b13e60daSPeter Grehanvirtual machine.
81b13e60daSPeter Grehan.Pp
82b13e60daSPeter GrehanParameters such as the number of virtual CPUs, amount of guest memory, and
83b13e60daSPeter GrehanI/O connectivity can be specified with command-line parameters.
84b13e60daSPeter Grehan.Pp
855c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must be loaded with
8684fe889cSChristian Brueffer.Xr bhyveload 8
87b13e60daSPeter Grehanor a similar boot loader before running
885c3ec676SGleb Smirnoff.Nm ,
895c3ec676SGleb Smirnoffotherwise, it is enough to run
905c3ec676SGleb Smirnoff.Nm
915c3ec676SGleb Smirnoffwith a boot ROM of choice.
92b13e60daSPeter Grehan.Pp
93b13e60daSPeter Grehan.Nm
94b13e60daSPeter Grehanruns until the guest operating system reboots or an unhandled hypervisor
95b13e60daSPeter Grehanexit is detected.
96b13e60daSPeter Grehan.Sh OPTIONS
97b13e60daSPeter Grehan.Bl -tag -width 10n
98b13e60daSPeter Grehan.It Fl A
99b13e60daSPeter GrehanGenerate ACPI tables.
100b13e60daSPeter GrehanRequired for
101b13e60daSPeter Grehan.Fx Ns /amd64
102b13e60daSPeter Grehanguests.
103*ccb1c87aSMateusz Piotrowski.It Fl a
104*ccb1c87aSMateusz PiotrowskiThe guest's local APIC is configured in xAPIC mode.
105*ccb1c87aSMateusz PiotrowskiThe xAPIC mode is the default setting so this option is redundant.
106*ccb1c87aSMateusz PiotrowskiIt will be deprecated in a future version.
107*ccb1c87aSMateusz Piotrowski.It Fl C
108*ccb1c87aSMateusz PiotrowskiInclude guest memory in core file.
10901d822d3SRodney W. Grimes.It Fl c Op Ar setting ...
11001d822d3SRodney W. GrimesNumber of guest virtual CPUs
11101d822d3SRodney W. Grimesand/or the CPU topology.
11201d822d3SRodney W. GrimesThe default value for each of
11301d822d3SRodney W. Grimes.Ar numcpus ,
11401d822d3SRodney W. Grimes.Ar sockets ,
11501d822d3SRodney W. Grimes.Ar cores ,
11601d822d3SRodney W. Grimesand
11701d822d3SRodney W. Grimes.Ar threads
11801d822d3SRodney W. Grimesis 1.
11901d822d3SRodney W. GrimesThe current maximum number of guest virtual CPUs is 16.
12001d822d3SRodney W. GrimesIf
12101d822d3SRodney W. Grimes.Ar numcpus
12201d822d3SRodney W. Grimesis not specified then it will be calculated from the other arguments.
12301d822d3SRodney W. GrimesThe topology must be consistent in that the
12401d822d3SRodney W. Grimes.Ar numcpus
12501d822d3SRodney W. Grimesmust equal the product of
12601d822d3SRodney W. Grimes.Ar sockets ,
12701d822d3SRodney W. Grimes.Ar cores ,
12801d822d3SRodney W. Grimesand
12901d822d3SRodney W. Grimes.Ar threads .
13001d822d3SRodney W. GrimesIf a
13101d822d3SRodney W. Grimes.Ar setting
13201d822d3SRodney W. Grimesis specified more than once the last one has precedence.
1330a1016f9SPawel Biernacki.It Fl D
1340a1016f9SPawel BiernackiDestroy the VM on guest initiated power-off.
135cde1f5b8SJohn Baldwin.It Fl e
136cde1f5b8SJohn BaldwinForce
137cde1f5b8SJohn Baldwin.Nm
138cde1f5b8SJohn Baldwinto exit when a guest issues an access to an I/O port that is not emulated.
139cde1f5b8SJohn BaldwinThis is intended for debug purposes.
140cd377eb3SJohn Baldwin.It Fl G Ar port
141cd377eb3SJohn BaldwinStart a debug server that uses the GDB protocol to export guest state to a
142cd377eb3SJohn Baldwindebugger.
143cd377eb3SJohn BaldwinAn IPv4 TCP socket will be bound to the supplied
144cd377eb3SJohn Baldwin.Ar port
145cd377eb3SJohn Baldwinto listen for debugger connections.
146cd377eb3SJohn BaldwinOnly a single debugger may be attached to the debug server at a time.
147cd377eb3SJohn BaldwinIf
148cd377eb3SJohn Baldwin.Ar port
149cd377eb3SJohn Baldwinbegins with
150cd377eb3SJohn Baldwin.Sq w ,
151cd377eb3SJohn Baldwin.Nm
152cd377eb3SJohn Baldwinwill pause execution at the first instruction waiting for a debugger to attach.
153cde1f5b8SJohn Baldwin.It Fl H
154cde1f5b8SJohn BaldwinYield the virtual CPU thread when a HLT instruction is detected.
155cde1f5b8SJohn BaldwinIf this option is not specified, virtual CPUs will use 100% of a host CPU.
156*ccb1c87aSMateusz Piotrowski.It Fl h
157*ccb1c87aSMateusz PiotrowskiPrint help message and exit.
158621b5090SJohn Baldwin.It Fl k Ar file
159621b5090SJohn BaldwinSet configuration variables from a simple, key-value config file.
160621b5090SJohn BaldwinEach line of the config file is expected to consist of a config variable
161621b5090SJohn Baldwinname, an equals sign
162621b5090SJohn Baldwin.Pq Sq = ,
163621b5090SJohn Baldwinand a value.
164621b5090SJohn BaldwinNo spaces are permitted between the variable name, equals sign, or
165621b5090SJohn Baldwinvalue.
166621b5090SJohn BaldwinBlank lines and lines starting with
167621b5090SJohn Baldwin.Sq #
168621b5090SJohn Baldwinare ignored.
1691aa56353SMarcelo Araujo.It Fl l Op Ar help|lpcdev Ns Op , Ns Ar conf
170cde1f5b8SJohn BaldwinAllow devices behind the LPC PCI-ISA bridge to be configured.
1719b1aa8d6SNeel NatuThe only supported devices are the TTY-class devices
1729b1aa8d6SNeel Natu.Ar com1
173eed1cc6cSPeter Grehanthrough
174eed1cc6cSPeter Grehan.Ar com4 ,
1752f40fc6fSPeter Grehanthe boot ROM device
1762f40fc6fSPeter Grehan.Ar bootrom ,
1772f40fc6fSPeter Grehanand the debug/test device
1782f40fc6fSPeter Grehan.Ar pc-testdev .
1791aa56353SMarcelo Araujo.Pp
1801aa56353SMarcelo Araujo.Ar help
1811aa56353SMarcelo Araujoprint a list of supported LPC devices.
1826ee52c65SRoman Bogorodskiy.It Fl m Ar memsize Ns Op Ar K|k|M|m|G|g|T|t
183cde1f5b8SJohn BaldwinGuest physical memory size in bytes.
184cde1f5b8SJohn BaldwinThis must be the same size that was given to
185cde1f5b8SJohn Baldwin.Xr bhyveload 8 .
186cde1f5b8SJohn Baldwin.Pp
187cde1f5b8SJohn BaldwinThe size argument may be suffixed with one of K, M, G or T (either upper
188cde1f5b8SJohn Baldwinor lower case) to indicate a multiple of kilobytes, megabytes, gigabytes,
189cde1f5b8SJohn Baldwinor terabytes.
190cde1f5b8SJohn BaldwinIf no suffix is given, the value is assumed to be in megabytes.
1916ee52c65SRoman Bogorodskiy.Pp
1926ee52c65SRoman Bogorodskiy.Ar memsize
1936ee52c65SRoman Bogorodskiydefaults to 256M.
194621b5090SJohn Baldwin.It Fl o Ar var Ns Cm = Ns Ar value
195621b5090SJohn BaldwinSet the configuration variable
196621b5090SJohn Baldwin.Ar var
197621b5090SJohn Baldwinto
198621b5090SJohn Baldwin.Ar value .
199*ccb1c87aSMateusz Piotrowski.It Fl P
200*ccb1c87aSMateusz PiotrowskiForce the guest virtual CPU to exit when a PAUSE instruction is detected.
2019b6155a2SNeel Natu.It Fl p Ar vcpu:hostcpu
2029b6155a2SNeel NatuPin guest's virtual CPU
2039b6155a2SNeel Natu.Em vcpu
2049b6155a2SNeel Natuto
2059b6155a2SNeel Natu.Em hostcpu .
206483d953aSJohn Baldwin.It Fl r Ar file
207483d953aSJohn BaldwinResume a guest from a snapshot.
208483d953aSJohn BaldwinThe guest memory contents are restored from
209483d953aSJohn Baldwin.Ar file ,
210483d953aSJohn Baldwinand the guest device and vCPU state are restored from the file
211483d953aSJohn Baldwin.Dq Ar file Ns .kern .
212483d953aSJohn Baldwin.Pp
213483d953aSJohn BaldwinNote that the current snapshot file format requires that the configuration of
214483d953aSJohn Baldwindevices in the new VM match the VM from which the snapshot was taken by specifying the
215483d953aSJohn Baldwinsame
216483d953aSJohn Baldwin.Op Fl s
217483d953aSJohn Baldwinand
218483d953aSJohn Baldwin.Op Fl l
219483d953aSJohn Baldwinoptions.
220483d953aSJohn BaldwinThe count of vCPUs and memory configuration are read from the snapshot.
221*ccb1c87aSMateusz Piotrowski.It Fl S
222*ccb1c87aSMateusz PiotrowskiWire guest memory.
2231aa56353SMarcelo Araujo.It Fl s Op Ar help|slot,emulation Ns Op , Ns Ar conf
224b13e60daSPeter GrehanConfigure a virtual PCI slot and function.
225b13e60daSPeter Grehan.Pp
22684fe889cSChristian Brueffer.Nm
227b13e60daSPeter Grehanprovides PCI bus emulation and virtual devices that can be attached to
228b13e60daSPeter Grehanslots on the bus.
229b13e60daSPeter GrehanThere are 32 available slots, with the option of providing up to 8 functions
230b13e60daSPeter Grehanper slot.
231b13e60daSPeter Grehan.Bl -tag -width 10n
2321aa56353SMarcelo Araujo.It Ar help
2331aa56353SMarcelo Araujoprint a list of supported PCI devices.
234b13e60daSPeter Grehan.It Ar slot
23506db1b4aSNeel Natu.Ar pcislot[:function]
23606db1b4aSNeel Natu.Ar bus:pcislot:function
237b13e60daSPeter Grehan.Pp
238b13e60daSPeter GrehanThe
239b13e60daSPeter Grehan.Ar pcislot
24084fe889cSChristian Brueffervalue is 0 to 31.
24184fe889cSChristian BruefferThe optional
24284fe889cSChristian Brueffer.Ar function
24384fe889cSChristian Brueffervalue is 0 to 7.
24484fe889cSChristian BruefferThe optional
24506db1b4aSNeel Natu.Ar bus
24606db1b4aSNeel Natuvalue is 0 to 255.
24784fe889cSChristian BruefferIf not specified, the
24884fe889cSChristian Brueffer.Ar function
24984fe889cSChristian Brueffervalue defaults to 0.
25084fe889cSChristian BruefferIf not specified, the
25184fe889cSChristian Brueffer.Ar bus
25284fe889cSChristian Brueffervalue defaults to 0.
253b13e60daSPeter Grehan.It Ar emulation
254b13e60daSPeter Grehan.Bl -tag -width 10n
255b13e60daSPeter Grehan.It Li hostbridge | Li amd_hostbridge
256b13e60daSPeter Grehan.Pp
257b13e60daSPeter GrehanProvide a simple host bridge.
258b13e60daSPeter GrehanThis is usually configured at slot 0, and is required by most guest
259b13e60daSPeter Grehanoperating systems.
260b13e60daSPeter GrehanThe
261b13e60daSPeter Grehan.Li amd_hostbridge
262b13e60daSPeter Grehanemulation is identical but uses a PCI vendor ID of
263b13e60daSPeter Grehan.Li AMD .
264b13e60daSPeter Grehan.It Li passthru
265b13e60daSPeter GrehanPCI pass-through device.
266b13e60daSPeter Grehan.It Li virtio-net
267b13e60daSPeter GrehanVirtio network interface.
268a8be8e5eSRemko Lodder.It Li virtio-blk
269b13e60daSPeter GrehanVirtio block storage interface.
270f9c005a1SMarcelo Araujo.It Li virtio-scsi
271f9c005a1SMarcelo AraujoVirtio SCSI interface.
272100353cfSJakub Wojciech Klama.It Li virtio-9p
273100353cfSJakub Wojciech KlamaVirtio 9p (VirtFS) interface.
2749d0c4e17SPeter Grehan.It Li virtio-rnd
2759d0c4e17SPeter GrehanVirtio RNG interface.
2765121b6ccSRoman Bogorodskiy.It Li virtio-console
2775121b6ccSRoman BogorodskiyVirtio console interface, which exposes multiple ports
2785121b6ccSRoman Bogorodskiyto the guest in the form of simple char devices for simple IO
2795121b6ccSRoman Bogorodskiybetween the guest and host userspaces.
280098f5155SAlexander Motin.It Li ahci
281d6099860SMaxim KonovalovAHCI controller attached to arbitrary devices.
282b13e60daSPeter Grehan.It Li ahci-cd
283b13e60daSPeter GrehanAHCI controller attached to an ATAPI CD/DVD.
284b13e60daSPeter Grehan.It Li ahci-hd
285b13e60daSPeter GrehanAHCI controller attached to a SATA hard-drive.
2869e749f25SAlexander Motin.It Li e1000
2879e749f25SAlexander MotinIntel e82545 network interface.
288b13e60daSPeter Grehan.It Li uart
289b13e60daSPeter GrehanPCI 16550 serial device.
290b13e60daSPeter Grehan.It Li lpc
2912f40fc6fSPeter GrehanLPC PCI-ISA bridge with COM1 and COM2 16550 serial ports, a boot ROM, and,
2922f40fc6fSPeter Grehanoptionally, the debug/test device.
2939b1aa8d6SNeel NatuThe LPC bridge emulation can only be configured on bus 0.
2946c87a2c0SGleb Smirnoff.It Li fbuf
2956c87a2c0SGleb SmirnoffRaw framebuffer device attached to VNC server.
2966c87a2c0SGleb Smirnoff.It Li xhci
2975c3ec676SGleb SmirnoffeXtensible Host Controller Interface (xHCI) USB controller.
298c066c68cSMarcelo Araujo.It Li nvme
299c066c68cSMarcelo AraujoNVM Express (NVMe) controller.
30036f9f044SWarner Losh.It Li hda
30136f9f044SWarner LoshHigh Definition Audio Controller.
302b13e60daSPeter Grehan.El
303b13e60daSPeter Grehan.It Op Ar conf
304b13e60daSPeter GrehanThis optional parameter describes the backend for device emulations.
305b13e60daSPeter GrehanIf
306b13e60daSPeter Grehan.Ar conf
307b13e60daSPeter Grehanis not specified, the device emulation has no backend and can be
308b13e60daSPeter Grehanconsidered unconnected.
309b13e60daSPeter Grehan.Pp
310e90337e4SAleksandr FedorovNetwork backends:
311b13e60daSPeter Grehan.Bl -tag -width 10n
312692dbfe9SVincenzo Maffione.It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
313692dbfe9SVincenzo Maffione.It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
314e90337e4SAleksandr Fedorov.It Ar netgraph,path=ADDRESS,peerhook=HOOK Ns Oo , Ns Ar socket=NAME Oc Ns Oo , Ns Ar hook=HOOK Oc Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
315b13e60daSPeter Grehan.Pp
316b13e60daSPeter GrehanIf
317b13e60daSPeter Grehan.Ar mac
318b13e60daSPeter Grehanis not specified, the MAC address is derived from a fixed OUI and the
319b13e60daSPeter Grehanremaining bytes from an MD5 hash of the slot and function numbers and
320b13e60daSPeter Grehanthe device name.
321b13e60daSPeter Grehan.Pp
322b13e60daSPeter GrehanThe MAC address is an ASCII string in
323b13e60daSPeter Grehan.Xr ethers 5
324b13e60daSPeter Grehanformat.
325692dbfe9SVincenzo Maffione.Pp
326692dbfe9SVincenzo MaffioneWith virtio-net devices, the
327692dbfe9SVincenzo Maffione.Ar mtu
328692dbfe9SVincenzo Maffioneparameter can be specified to inform the guest about the largest MTU
329692dbfe9SVincenzo Maffionethat should be allowed, expressed in bytes.
330e90337e4SAleksandr Fedorov.Pp
331e90337e4SAleksandr FedorovWith netgraph backend, the
332e90337e4SAleksandr Fedorov.Ar path
333e90337e4SAleksandr Fedorovand
334e90337e4SAleksandr Fedorov.Ar peerhook
335e90337e4SAleksandr Fedorovparameters must be specified to set the destination node and corresponding hook.
336e90337e4SAleksandr FedorovThe optional parameters
337e90337e4SAleksandr Fedorov.Ar socket
338e90337e4SAleksandr Fedorovand
339e90337e4SAleksandr Fedorov.Ar hook
340e90337e4SAleksandr Fedorovmay be used to set the
341e90337e4SAleksandr Fedorov.Xr ng_socket 4
342e90337e4SAleksandr Fedorovnode name and source hook.
343e90337e4SAleksandr FedorovThe
344e90337e4SAleksandr Fedorov.Ar ADDRESS ,
345e90337e4SAleksandr Fedorov.Ar HOOK
346e90337e4SAleksandr Fedorovand
347e90337e4SAleksandr Fedorov.Ar NAME
348e90337e4SAleksandr Fedorovmust comply with
349e90337e4SAleksandr Fedorov.Xr netgraph 4
350e90337e4SAleksandr Fedorovaddressing rules.
351b13e60daSPeter Grehan.El
352b13e60daSPeter Grehan.Pp
353b13e60daSPeter GrehanBlock storage devices:
354b13e60daSPeter Grehan.Bl -tag -width 10n
3554e43c1e8SNeel Natu.It Pa /filename Ns Oo , Ns Ar block-device-options Oc
3564e43c1e8SNeel Natu.It Pa /dev/xxx Ns Oo , Ns Ar block-device-options Oc
3574e43c1e8SNeel Natu.El
3584e43c1e8SNeel Natu.Pp
3594e43c1e8SNeel NatuThe
3604e43c1e8SNeel Natu.Ar block-device-options
3614e43c1e8SNeel Natuare:
362b13e60daSPeter Grehan.Bl -tag -width 8n
363b13e60daSPeter Grehan.It Li nocache
364b13e60daSPeter GrehanOpen the file with
365b13e60daSPeter Grehan.Dv O_DIRECT .
366b13e60daSPeter Grehan.It Li direct
367b13e60daSPeter GrehanOpen the file using
368b13e60daSPeter Grehan.Dv O_SYNC .
369b13e60daSPeter Grehan.It Li ro
370b13e60daSPeter GrehanForce the file to be opened read-only.
3714e43c1e8SNeel Natu.It Li sectorsize= Ns Ar logical Ns Oo / Ns Ar physical Oc
3724e43c1e8SNeel NatuSpecify the logical and physical sector sizes of the emulated disk.
3734e43c1e8SNeel NatuThe physical sector size is optional and is equal to the logical sector size
3744e43c1e8SNeel Natuif not explicitly specified.
3752c8bb126SAllan Jude.It Li nodelete
376e6d795d1SAllan JudeDisable emulation of guest trim requests via
377e6d795d1SAllan Jude.Dv DIOCGDELETE
378e6d795d1SAllan Juderequests.
379b13e60daSPeter Grehan.El
380b13e60daSPeter Grehan.Pp
381f9c005a1SMarcelo AraujoSCSI devices:
382f9c005a1SMarcelo Araujo.Bl -tag -width 10n
38349f87822SAlexander Motin.It Pa /dev/cam/ctl Ns Oo Ar pp . Ns Ar vp Oc Ns Oo , Ns Ar scsi-device-options Oc
38449f87822SAlexander Motin.El
38549f87822SAlexander Motin.Pp
38649f87822SAlexander MotinThe
38749f87822SAlexander Motin.Ar scsi-device-options
38849f87822SAlexander Motinare:
38949f87822SAlexander Motin.Bl -tag -width 10n
39049f87822SAlexander Motin.It Li iid= Ns Ar IID
39149f87822SAlexander MotinInitiator ID to use when sending requests to specified CTL port.
39249f87822SAlexander MotinThe default value is 0.
393f9c005a1SMarcelo Araujo.El
394f9c005a1SMarcelo Araujo.Pp
395100353cfSJakub Wojciech Klama9P devices:
396100353cfSJakub Wojciech Klama.Bl -tag -width 10n
397100353cfSJakub Wojciech Klama.It Pa sharename=/path/to/share[,9p-device-options]
398100353cfSJakub Wojciech Klama.El
399100353cfSJakub Wojciech Klama.Pp
400100353cfSJakub Wojciech KlamaThe
401100353cfSJakub Wojciech Klama.Ar 9p-device-options
402100353cfSJakub Wojciech Klamaare:
403100353cfSJakub Wojciech Klama.Bl -tag -width 10n
404100353cfSJakub Wojciech Klama.It Li ro
405100353cfSJakub Wojciech KlamaExpose the share in read-only mode.
406100353cfSJakub Wojciech Klama.El
407100353cfSJakub Wojciech Klama.Pp
408b13e60daSPeter GrehanTTY devices:
409b13e60daSPeter Grehan.Bl -tag -width 10n
410b13e60daSPeter Grehan.It Li stdio
411b13e60daSPeter GrehanConnect the serial port to the standard input and output of
41284fe889cSChristian Bruefferthe
41384fe889cSChristian Brueffer.Nm
41484fe889cSChristian Bruefferprocess.
415b13e60daSPeter Grehan.It Pa /dev/xxx
416b13e60daSPeter GrehanUse the host TTY device for serial port I/O.
417b13e60daSPeter Grehan.El
418b13e60daSPeter Grehan.Pp
4199b1aa8d6SNeel NatuBoot ROM device:
4209b1aa8d6SNeel Natu.Bl -tag -width 10n
4219b1aa8d6SNeel Natu.It Pa romfile
4229b1aa8d6SNeel NatuMap
4239b1aa8d6SNeel Natu.Ar romfile
4249b1aa8d6SNeel Natuin the guest address space reserved for boot firmware.
4259b1aa8d6SNeel Natu.El
4269b1aa8d6SNeel Natu.Pp
427b13e60daSPeter GrehanPass-through devices:
428b13e60daSPeter Grehan.Bl -tag -width 10n
429b13e60daSPeter Grehan.It Ns Ar slot Ns / Ns Ar bus Ns / Ns Ar function
430b13e60daSPeter GrehanConnect to a PCI device on the host at the selector described by
431b13e60daSPeter Grehan.Ar slot ,
432b13e60daSPeter Grehan.Ar bus ,
433b13e60daSPeter Grehanand
434b13e60daSPeter Grehan.Ar function
435b13e60daSPeter Grehannumbers.
436b13e60daSPeter Grehan.El
437b13e60daSPeter Grehan.Pp
4389b1aa8d6SNeel NatuGuest memory must be wired using the
4399b1aa8d6SNeel Natu.Fl S
4409b1aa8d6SNeel Natuoption when a pass-through device is configured.
4419b1aa8d6SNeel Natu.Pp
442b13e60daSPeter GrehanThe host device must have been reserved at boot-time using the
443a9258f9bSWarren Block.Va pptdevs
444b13e60daSPeter Grehanloader variable as described in
445b13e60daSPeter Grehan.Xr vmm 4 .
4465121b6ccSRoman Bogorodskiy.Pp
4475121b6ccSRoman BogorodskiyVirtio console devices:
4485121b6ccSRoman Bogorodskiy.Bl -tag -width 10n
4495121b6ccSRoman Bogorodskiy.It Li port1= Ns Pa /path/to/port1.sock Ns ,anotherport= Ns Pa ...
4505121b6ccSRoman BogorodskiyA maximum of 16 ports per device can be created.
4515121b6ccSRoman BogorodskiyEvery port is named and corresponds to a Unix domain socket created by
4525121b6ccSRoman Bogorodskiy.Nm .
4535121b6ccSRoman Bogorodskiy.Nm
4545121b6ccSRoman Bogorodskiyaccepts at most one connection per port at a time.
4555121b6ccSRoman Bogorodskiy.Pp
4565121b6ccSRoman BogorodskiyLimitations:
4575121b6ccSRoman Bogorodskiy.Bl -bullet -offset 2n
4585121b6ccSRoman Bogorodskiy.It
4595121b6ccSRoman BogorodskiyDue to lack of destructors in
4605121b6ccSRoman Bogorodskiy.Nm ,
4615121b6ccSRoman Bogorodskiysockets on the filesystem must be cleaned up manually after
4625121b6ccSRoman Bogorodskiy.Nm
4635121b6ccSRoman Bogorodskiyexits.
4645121b6ccSRoman Bogorodskiy.It
4655121b6ccSRoman BogorodskiyThere is no way to use the "console port" feature, nor the console port
4660ee3a4b4SRoman Bogorodskiyresize at present.
4675121b6ccSRoman Bogorodskiy.It
4680ee3a4b4SRoman BogorodskiyEmergency write is advertised, but no-op at present.
4695121b6ccSRoman Bogorodskiy.El
4705121b6ccSRoman Bogorodskiy.El
4716c87a2c0SGleb Smirnoff.Pp
4725c3ec676SGleb SmirnoffFramebuffer devices:
4735c3ec676SGleb Smirnoff.Bl -tag -width 10n
4748d56c805SYuri Pankov.It Xo
4758d56c805SYuri Pankov.Oo rfb= Ns Oo Ar IP\&: Oc Ns Ar port Oc Ns Oo ,w= Ns Ar width Oc Ns Oo ,h= Ns
4768d56c805SYuri Pankov.Ar height Oc Ns Oo ,vga= Ns Ar vgaconf Oc Ns Oo Ns ,wait Oc Ns Oo ,password= Ns
4778d56c805SYuri Pankov.Ar password Oc
4788d56c805SYuri Pankov.Xc
4795c3ec676SGleb Smirnoff.Bl -tag -width 8n
4808883128bSBjoern A. Zeeb.It Ar IPv4:port No or Ar [IPv6%zone]:port
4815c3ec676SGleb SmirnoffAn
4825c3ec676SGleb Smirnoff.Ar IP
4835c3ec676SGleb Smirnoffaddress and a
4845c3ec676SGleb Smirnoff.Ar port
4855c3ec676SGleb SmirnoffVNC should listen on.
4866c87a2c0SGleb SmirnoffThe default is to listen on localhost IPv4 address and default VNC port 5900.
4878883128bSBjoern A. ZeebAn IPv6 address must be enclosed in square brackets and may contain an
4887d9545fcSRodney W. Grimesoptional zone identifier.
4895c3ec676SGleb Smirnoff.It Ar width No and Ar height
4905c3ec676SGleb SmirnoffA display resolution, width and height, respectively.
4915c3ec676SGleb SmirnoffIf not specified, a default resolution of 1024x768 pixels will be used.
4925c3ec676SGleb SmirnoffMinimal supported resolution is 640x480 pixels,
4935c3ec676SGleb Smirnoffand maximum is 1920x1200 pixels.
4945c3ec676SGleb Smirnoff.It Ar vgaconf
4955c3ec676SGleb SmirnoffPossible values for this option are
4965c3ec676SGleb Smirnoff.Dq io
4975c3ec676SGleb Smirnoff(default),
4985c3ec676SGleb Smirnoff.Dq on
4995c3ec676SGleb Smirnoff, and
5005c3ec676SGleb Smirnoff.Dq off .
5015c3ec676SGleb SmirnoffPCI graphics cards have a dual personality in that they are
5025c3ec676SGleb Smirnoffstandard PCI devices with BAR addressing, but may also
5035c3ec676SGleb Smirnoffimplicitly decode legacy VGA I/O space
5045c3ec676SGleb Smirnoff.Pq Ad 0x3c0-3df
5055c3ec676SGleb Smirnoffand memory space
5065c3ec676SGleb Smirnoff.Pq 64KB at Ad 0xA0000 .
5075c3ec676SGleb SmirnoffThe default
5085c3ec676SGleb Smirnoff.Dq io
5098d56c805SYuri Pankovoption should be used for guests that attempt to issue BIOS calls which result
5108d56c805SYuri Pankovin I/O port queries, and fail to boot if I/O decode is disabled.
5115c3ec676SGleb Smirnoff.Pp
5125c3ec676SGleb SmirnoffThe
5135c3ec676SGleb Smirnoff.Dq on
5145c3ec676SGleb Smirnoffoption should be used along with the CSM BIOS capability in UEFI
5155c3ec676SGleb Smirnoffto boot traditional BIOS guests that require the legacy VGA I/O and
5165c3ec676SGleb Smirnoffmemory regions to be available.
5175c3ec676SGleb Smirnoff.Pp
5185c3ec676SGleb SmirnoffThe
5195c3ec676SGleb Smirnoff.Dq off
5205c3ec676SGleb Smirnoffoption should be used for the UEFI guests that assume that
5215c3ec676SGleb SmirnoffVGA adapter is present if they detect the I/O ports.
5225c3ec676SGleb SmirnoffAn example of such a guest is
5235c3ec676SGleb Smirnoff.Ox
5245c3ec676SGleb Smirnoffin UEFI mode.
5255c3ec676SGleb Smirnoff.Pp
5265c3ec676SGleb SmirnoffPlease refer to the
5275c3ec676SGleb Smirnoff.Nm
5285c3ec676SGleb Smirnoff.Fx
5295c3ec676SGleb Smirnoffwiki page
5305c3ec676SGleb Smirnoff.Pq Lk https://wiki.freebsd.org/bhyve
5315c3ec676SGleb Smirnofffor configuration notes of particular guests.
5325c3ec676SGleb Smirnoff.It wait
5335c3ec676SGleb SmirnoffInstruct
5345c3ec676SGleb Smirnoff.Nm
5358d56c805SYuri Pankovto only boot upon the initiation of a VNC connection, simplifying the
5368d56c805SYuri Pankovinstallation of operating systems that require immediate keyboard input.
5375c3ec676SGleb SmirnoffThis can be removed for post-installation use.
538f4d34383SMarcelo Araujo.It password
539f4d34383SMarcelo AraujoThis type of authentication is known to be cryptographically weak and is not
540f4d34383SMarcelo Araujointended for use on untrusted networks.
541f4d34383SMarcelo AraujoMany implementations will want to use stronger security, such as running
542f4d34383SMarcelo Araujothe session over an encrypted channel provided by IPsec or SSH.
5435c3ec676SGleb Smirnoff.El
5446c87a2c0SGleb Smirnoff.El
5456c87a2c0SGleb Smirnoff.Pp
5465c3ec676SGleb SmirnoffxHCI USB devices:
5475c3ec676SGleb Smirnoff.Bl -tag -width 10n
5485c3ec676SGleb Smirnoff.It Li tablet
5495c3ec676SGleb SmirnoffA USB tablet device which provides precise cursor synchronization
5505c3ec676SGleb Smirnoffwhen using VNC.
5516c87a2c0SGleb Smirnoff.El
552c066c68cSMarcelo Araujo.Pp
553c066c68cSMarcelo AraujoNVMe devices:
554c066c68cSMarcelo Araujo.Bl -tag -width 10n
555c066c68cSMarcelo Araujo.It Li devpath
556c066c68cSMarcelo AraujoAccepted device paths are:
557c066c68cSMarcelo Araujo.Ar /dev/blockdev
558c066c68cSMarcelo Araujoor
559c066c68cSMarcelo Araujo.Ar /path/to/image
560c066c68cSMarcelo Araujoor
561c066c68cSMarcelo Araujo.Ar ram=size_in_MiB .
562c066c68cSMarcelo Araujo.It Li maxq
563c066c68cSMarcelo AraujoMax number of queues.
564c066c68cSMarcelo Araujo.It Li qsz
565c066c68cSMarcelo AraujoMax elements in each queue.
566c066c68cSMarcelo Araujo.It Li ioslots
567c066c68cSMarcelo AraujoMax number of concurrent I/O requests.
568c066c68cSMarcelo Araujo.It Li sectsz
569c066c68cSMarcelo AraujoSector size (defaults to blockif sector size).
570c066c68cSMarcelo Araujo.It Li ser
571c066c68cSMarcelo AraujoSerial number with maximum 20 characters.
572c066c68cSMarcelo Araujo.El
57336f9f044SWarner Losh.Pp
5749af3bcd7SPeter GrehanAHCI devices:
5759af3bcd7SPeter Grehan.Bl -tag -width 10n
5769af3bcd7SPeter Grehan.It Li nmrr
5779af3bcd7SPeter GrehanNominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report.
5789af3bcd7SPeter Grehan.It Li ser
5799af3bcd7SPeter GrehanSerial Number with maximum 20 characters.
5809af3bcd7SPeter Grehan.It Li rev
5819af3bcd7SPeter GrehanRevision Number with maximum 8 characters.
5829af3bcd7SPeter Grehan.It Li model
5839af3bcd7SPeter GrehanModel Number with maximum 40 characters.
5849af3bcd7SPeter Grehan.El
5859af3bcd7SPeter Grehan.Pp
58636f9f044SWarner LoshHD Audio devices:
58736f9f044SWarner Losh.Bl -tag -width 10n
58836f9f044SWarner Losh.It Li play
58936f9f044SWarner LoshPlayback device, typically
59036f9f044SWarner Losh.Ar /dev/dsp0 .
59136f9f044SWarner Losh.It Li rec
59236f9f044SWarner LoshRecording device, typically
59336f9f044SWarner Losh.Ar /dev/dsp0 .
59436f9f044SWarner Losh.El
595b13e60daSPeter Grehan.El
5965749449dSJohn Baldwin.It Fl U Ar uuid
5975749449dSJohn BaldwinSet the universally unique identifier
5985749449dSJohn Baldwin.Pq UUID
5995749449dSJohn Baldwinin the guest's System Management BIOS System Information structure.
6005749449dSJohn BaldwinBy default a UUID is generated from the host's hostname and
6015749449dSJohn Baldwin.Ar vmname .
602*ccb1c87aSMateusz Piotrowski.It Fl u
603*ccb1c87aSMateusz PiotrowskiRTC keeps UTC time.
604cde1f5b8SJohn Baldwin.It Fl W
605cde1f5b8SJohn BaldwinForce virtio PCI device emulations to use MSI interrupts instead of MSI-X
606cde1f5b8SJohn Baldwininterrupts.
607*ccb1c87aSMateusz Piotrowski.It Fl w
608*ccb1c87aSMateusz PiotrowskiIgnore accesses to unimplemented Model Specific Registers (MSRs).
609*ccb1c87aSMateusz PiotrowskiThis is intended for debug purposes.
6109777ca20SNeel Natu.It Fl x
6119777ca20SNeel NatuThe guest's local APIC is configured in x2APIC mode.
612b100acf2SNeel Natu.It Fl Y
613b100acf2SNeel NatuDisable MPtable generation.
614b13e60daSPeter Grehan.It Ar vmname
615b13e60daSPeter GrehanAlphanumeric name of the guest.
616b13e60daSPeter GrehanThis should be the same as that created by
617b13e60daSPeter Grehan.Xr bhyveload 8 .
618b13e60daSPeter Grehan.El
619621b5090SJohn Baldwin.Sh CONFIGURATION VARIABLES
620621b5090SJohn Baldwin.Nm
621621b5090SJohn Baldwinuses an internal tree of configuration variables to describe global and
622621b5090SJohn Baldwinper-device settings.
623621b5090SJohn BaldwinWhen
624621b5090SJohn Baldwin.Nm
625621b5090SJohn Baldwinstarts,
626621b5090SJohn Baldwinit parses command line options (including config files) in the order given
627621b5090SJohn Baldwinon the command line.
628621b5090SJohn BaldwinEach command line option sets one or more configuration variables.
629621b5090SJohn BaldwinFor example,
630621b5090SJohn Baldwinthe
631621b5090SJohn Baldwin.Fl s
632621b5090SJohn Baldwinoption creates a new tree node for a PCI device and sets one or more variables
633621b5090SJohn Baldwinunder that node including the device model and device model-specific variables.
634621b5090SJohn BaldwinVariables may be set multiple times during this parsing stage with the final
635621b5090SJohn Baldwinvalue overriding previous values.
636621b5090SJohn Baldwin.Pp
637621b5090SJohn BaldwinOnce all of the command line options have been processed,
638621b5090SJohn Baldwinthe configuration values are frozen.
639621b5090SJohn Baldwin.Nm
640621b5090SJohn Baldwinthen uses the value of configuration values to initialize device models
641621b5090SJohn Baldwinand global settings.
642621b5090SJohn Baldwin.Pp
643621b5090SJohn BaldwinMore details on configuration variables can be found in
644621b5090SJohn Baldwin.Xr bhyve_config 5 .
645cd377eb3SJohn Baldwin.Sh DEBUG SERVER
646cd377eb3SJohn BaldwinThe current debug server provides limited support for debuggers.
647cd377eb3SJohn Baldwin.Ss Registers
648cd377eb3SJohn BaldwinEach virtual CPU is exposed to the debugger as a thread.
649cd377eb3SJohn Baldwin.Pp
650cd377eb3SJohn BaldwinGeneral purpose registers can be queried for each virtual CPU, but other
651cd377eb3SJohn Baldwinregisters such as floating-point and system registers cannot be queried.
652cd377eb3SJohn Baldwin.Ss Memory
653976ba8c6SJohn BaldwinMemory (including memory mapped I/O regions) can be read and written by the debugger.
6548d56c805SYuri PankovMemory operations use virtual addresses that are resolved to physical addresses
6558d56c805SYuri Pankovvia the current virtual CPU's active address translation.
656cd377eb3SJohn Baldwin.Ss Control
657cd377eb3SJohn BaldwinThe running guest can be interrupted by the debugger at any time
658cd377eb3SJohn Baldwin.Pq for example, by pressing Ctrl-C in the debugger .
659cd377eb3SJohn Baldwin.Pp
660cd377eb3SJohn BaldwinSingle stepping is only supported on Intel CPUs supporting the MTRAP VM exit.
661cd377eb3SJohn Baldwin.Pp
662cbd03a9dSJohn BaldwinBreakpoints are supported on Intel CPUs that support single stepping.
663cbd03a9dSJohn BaldwinNote that continuing from a breakpoint while interrupts are enabled in the
664cbd03a9dSJohn Baldwinguest may not work as expected due to timer interrupts firing while single
665cbd03a9dSJohn Baldwinstepping over the breakpoint.
666c2202d41SRoman Bogorodskiy.Sh SIGNAL HANDLING
667c2202d41SRoman Bogorodskiy.Nm
668c2202d41SRoman Bogorodskiydeals with the following signals:
669c2202d41SRoman Bogorodskiy.Pp
670c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact
671c2202d41SRoman Bogorodskiy.It SIGTERM
672c2202d41SRoman BogorodskiyTrigger ACPI poweroff for a VM
673c2202d41SRoman Bogorodskiy.El
674c2202d41SRoman Bogorodskiy.Sh EXIT STATUS
675c2202d41SRoman BogorodskiyExit status indicates how the VM was terminated:
676c2202d41SRoman Bogorodskiy.Pp
677c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact
678c2202d41SRoman Bogorodskiy.It 0
679c2202d41SRoman Bogorodskiyrebooted
680c2202d41SRoman Bogorodskiy.It 1
681c2202d41SRoman Bogorodskiypowered off
682c2202d41SRoman Bogorodskiy.It 2
683c2202d41SRoman Bogorodskiyhalted
684c2202d41SRoman Bogorodskiy.It 3
685c2202d41SRoman Bogorodskiytriple fault
686989e062bSMarcelo Araujo.It 4
687989e062bSMarcelo Araujoexited due to an error
688c2202d41SRoman Bogorodskiy.El
689b13e60daSPeter Grehan.Sh EXAMPLES
6905c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must have been loaded with
69184fe889cSChristian Brueffer.Xr bhyveload 8
692b13e60daSPeter Grehanor a similar boot loader before
693b13e60daSPeter Grehan.Xr bhyve 4
694b13e60daSPeter Grehancan be run.
6955c3ec676SGleb SmirnoffOtherwise, the boot loader is not needed.
696b13e60daSPeter Grehan.Pp
697b13e60daSPeter GrehanTo run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
698b13e60daSPeter Grehanblock device backed by the
699b13e60daSPeter Grehan.Pa /my/image
700b13e60daSPeter Grehanfilesystem image, and a serial port for the console:
701b13e60daSPeter Grehan.Bd -literal -offset indent
702b13e60daSPeter Grehanbhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
703b13e60daSPeter Grehan  -l com1,stdio -A -H -P -m 1G vm1
704b13e60daSPeter Grehan.Ed
705b13e60daSPeter Grehan.Pp
706b13e60daSPeter GrehanRun a 24GB single-CPU virtual machine with three network ports, one of which
707b13e60daSPeter Grehanhas a MAC address specified:
708b13e60daSPeter Grehan.Bd -literal -offset indent
709b13e60daSPeter Grehanbhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\
710b13e60daSPeter Grehan  -s 2:1,virtio-net,tap1 \\
711b13e60daSPeter Grehan  -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\
712b13e60daSPeter Grehan  -s 3,virtio-blk,/my/image -l com1,stdio \\
713b13e60daSPeter Grehan  -A -H -P -m 24G bigvm
714b13e60daSPeter Grehan.Ed
715b13e60daSPeter Grehan.Pp
716b13e60daSPeter GrehanRun an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI
717b13e60daSPeter GrehanCD-ROM, a single virtio network port, an AMD hostbridge, and the console
718b13e60daSPeter Grehanport connected to an
719b13e60daSPeter Grehan.Xr nmdm 4
72084fe889cSChristian Brueffernull-modem device.
721b13e60daSPeter Grehan.Bd -literal -offset indent
722a7ab1463SAlexander Motinbhyve -c 4 \\
723b13e60daSPeter Grehan  -s 0,amd_hostbridge -s 1,lpc \\
724098f5155SAlexander Motin  -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\
725098f5155SAlexander Motinhd:/images/disk.3,hd:/images/disk.4,\\
726098f5155SAlexander Motinhd:/images/disk.5,hd:/images/disk.6,\\
727098f5155SAlexander Motinhd:/images/disk.7,hd:/images/disk.8,\\
728098f5155SAlexander Motincd:/images/install.iso \\
729b13e60daSPeter Grehan  -s 3,virtio-net,tap0 \\
730b13e60daSPeter Grehan  -l com1,/dev/nmdm0A \\
731b13e60daSPeter Grehan  -A -H -P -m 8G
732b13e60daSPeter Grehan.Ed
7335c3ec676SGleb Smirnoff.Pp
7345c3ec676SGleb SmirnoffRun a UEFI virtual machine with a display resolution of 800 by 600 pixels
7355c3ec676SGleb Smirnoffthat can be accessed via VNC at: 0.0.0.0:5900.
7365c3ec676SGleb Smirnoff.Bd -literal -offset indent
7375c3ec676SGleb Smirnoffbhyve -c 2 -m 4G -w -H \\
7385c3ec676SGleb Smirnoff  -s 0,hostbridge \\
7395c3ec676SGleb Smirnoff  -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\
7405c3ec676SGleb Smirnoff  -s 4,ahci-hd,disk.img \\
7415c3ec676SGleb Smirnoff  -s 5,virtio-net,tap0 \\
7425c3ec676SGleb Smirnoff  -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\
7435c3ec676SGleb Smirnoff  -s 30,xhci,tablet \\
7445c3ec676SGleb Smirnoff  -s 31,lpc -l com1,stdio \\
7455c3ec676SGleb Smirnoff  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
7465c3ec676SGleb Smirnoff   uefivm
7475c3ec676SGleb Smirnoff.Ed
7488883128bSBjoern A. Zeeb.Pp
7498883128bSBjoern A. ZeebRun a UEFI virtual machine with a VNC display that is bound to all IPv6
7508883128bSBjoern A. Zeebaddresses on port 5900.
7518883128bSBjoern A. Zeeb.Bd -literal -offset indent
7528883128bSBjoern A. Zeebbhyve -c 2 -m 4G -w -H \\
7538883128bSBjoern A. Zeeb  -s 0,hostbridge \\
7548883128bSBjoern A. Zeeb  -s 4,ahci-hd,disk.img \\
7558883128bSBjoern A. Zeeb  -s 5,virtio-net,tap0 \\
7568883128bSBjoern A. Zeeb  -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\
7578883128bSBjoern A. Zeeb  -s 30,xhci,tablet \\
7588883128bSBjoern A. Zeeb  -s 31,lpc -l com1,stdio \\
7598883128bSBjoern A. Zeeb  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
7608883128bSBjoern A. Zeeb   uefivm
7618883128bSBjoern A. Zeeb.Ed
762b13e60daSPeter Grehan.Sh SEE ALSO
763b13e60daSPeter Grehan.Xr bhyve 4 ,
764e90337e4SAleksandr Fedorov.Xr netgraph 4 ,
765e90337e4SAleksandr Fedorov.Xr ng_socket 4 ,
766b13e60daSPeter Grehan.Xr nmdm 4 ,
767b13e60daSPeter Grehan.Xr vmm 4 ,
768621b5090SJohn Baldwin.Xr bhyve_config 5 ,
769b13e60daSPeter Grehan.Xr ethers 5 ,
77005f7cd8bSJoel Dahl.Xr bhyvectl 8 ,
77105f7cd8bSJoel Dahl.Xr bhyveload 8
7728d56c805SYuri Pankov.Pp
7738d56c805SYuri Pankov.Rs
7748d56c805SYuri Pankov.%A Intel
7758d56c805SYuri Pankov.%B 64 and IA-32 Architectures Software Developer’s Manual
7768d56c805SYuri Pankov.%V Volume 3
7778d56c805SYuri Pankov.Re
778b13e60daSPeter Grehan.Sh HISTORY
779b13e60daSPeter Grehan.Nm
780b13e60daSPeter Grehanfirst appeared in
781b13e60daSPeter Grehan.Fx 10.0 .
782b13e60daSPeter Grehan.Sh AUTHORS
78301c2b8acSBaptiste Daroussin.An Neel Natu Aq Mt neel@freebsd.org
78401c2b8acSBaptiste Daroussin.An Peter Grehan Aq Mt grehan@freebsd.org
785