xref: /freebsd/usr.sbin/bhyve/bhyve.8 (revision 234d8c470b44160fe0cbce49b972b3b19f246a89)
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.
103ccb1c87aSMateusz Piotrowski.It Fl a
104ccb1c87aSMateusz PiotrowskiThe guest's local APIC is configured in xAPIC mode.
105ccb1c87aSMateusz PiotrowskiThe xAPIC mode is the default setting so this option is redundant.
106ccb1c87aSMateusz PiotrowskiIt will be deprecated in a future version.
107ccb1c87aSMateusz Piotrowski.It Fl C
108ccb1c87aSMateusz 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.
156ccb1c87aSMateusz Piotrowski.It Fl h
157ccb1c87aSMateusz 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.
1694c08b978SMateusz Piotrowski.It Fl l Cm help
1704c08b978SMateusz PiotrowskiPrint a list of supported LPC devices.
1714c08b978SMateusz Piotrowski.It Fl l Ar lpcdev Ns Op Cm \&, Ns Ar conf
172cde1f5b8SJohn BaldwinAllow devices behind the LPC PCI-ISA bridge to be configured.
1739b1aa8d6SNeel NatuThe only supported devices are the TTY-class devices
1744c08b978SMateusz Piotrowski.Cm com1 , com2 , com3 ,
1754c08b978SMateusz Piotrowskiand
1764c08b978SMateusz Piotrowski.Cm com4 ,
1772f40fc6fSPeter Grehanthe boot ROM device
1784c08b978SMateusz Piotrowski.Cm bootrom ,
1792f40fc6fSPeter Grehanand the debug/test device
1804c08b978SMateusz Piotrowski.Cm pc-testdev .
1811aa56353SMarcelo Araujo.Pp
1824c08b978SMateusz PiotrowskiThe possible values for the
1834c08b978SMateusz Piotrowski.Ar conf
1844c08b978SMateusz Piotrowskiargument are listed in the
1854c08b978SMateusz Piotrowski.Fl s
1864c08b978SMateusz Piotrowskiflag description.
1877e0cb3dfSMateusz Piotrowski.It Xo
1887e0cb3dfSMateusz Piotrowski.Fl m Ar memsize Ns Oo
1897e0cb3dfSMateusz Piotrowski.Sm off
1907e0cb3dfSMateusz Piotrowski.Cm K | k | M | m | G | g | T | t
1917e0cb3dfSMateusz Piotrowski.Sm on
1927e0cb3dfSMateusz Piotrowski.Oc
1937e0cb3dfSMateusz Piotrowski.Xc
1947e0cb3dfSMateusz PiotrowskiSet the guest physical memory size
195cde1f5b8SJohn BaldwinThis must be the same size that was given to
196cde1f5b8SJohn Baldwin.Xr bhyveload 8 .
197cde1f5b8SJohn Baldwin.Pp
1987e0cb3dfSMateusz PiotrowskiThe size argument may be suffixed with one of
1997e0cb3dfSMateusz Piotrowski.Cm K , M , G
2007e0cb3dfSMateusz Piotrowskior
2017e0cb3dfSMateusz Piotrowski.Cm T
2027e0cb3dfSMateusz Piotrowski(either upper or lower case)
2037e0cb3dfSMateusz Piotrowskito indicate a multiple of kilobytes, megabytes, gigabytes, or terabytes.
204cde1f5b8SJohn BaldwinIf no suffix is given, the value is assumed to be in megabytes.
2056ee52c65SRoman Bogorodskiy.Pp
2067e0cb3dfSMateusz PiotrowskiThe default is 256M.
207621b5090SJohn Baldwin.It Fl o Ar var Ns Cm = Ns Ar value
208621b5090SJohn BaldwinSet the configuration variable
209621b5090SJohn Baldwin.Ar var
210621b5090SJohn Baldwinto
211621b5090SJohn Baldwin.Ar value .
212ccb1c87aSMateusz Piotrowski.It Fl P
213ccb1c87aSMateusz PiotrowskiForce the guest virtual CPU to exit when a PAUSE instruction is detected.
21490df5437SMateusz Piotrowski.It Fl p Ar vcpu Ns Cm \& : Ns Ar hostcpu
2159b6155a2SNeel NatuPin guest's virtual CPU
2169b6155a2SNeel Natu.Em vcpu
2179b6155a2SNeel Natuto
2189b6155a2SNeel Natu.Em hostcpu .
219483d953aSJohn Baldwin.It Fl r Ar file
220483d953aSJohn BaldwinResume a guest from a snapshot.
221483d953aSJohn BaldwinThe guest memory contents are restored from
222483d953aSJohn Baldwin.Ar file ,
223483d953aSJohn Baldwinand the guest device and vCPU state are restored from the file
224483d953aSJohn Baldwin.Dq Ar file Ns .kern .
225483d953aSJohn Baldwin.Pp
226483d953aSJohn BaldwinNote that the current snapshot file format requires that the configuration of
227483d953aSJohn Baldwindevices in the new VM match the VM from which the snapshot was taken by specifying the
228483d953aSJohn Baldwinsame
229b24eea8cSMateusz Piotrowski.Fl s
230483d953aSJohn Baldwinand
231b24eea8cSMateusz Piotrowski.Fl l
232483d953aSJohn Baldwinoptions.
233483d953aSJohn BaldwinThe count of vCPUs and memory configuration are read from the snapshot.
234ccb1c87aSMateusz Piotrowski.It Fl S
235ccb1c87aSMateusz PiotrowskiWire guest memory.
236449f0e48SMateusz Piotrowski.It Fl s Cm help
237449f0e48SMateusz PiotrowskiPrint a list of supported PCI devices.
238449f0e48SMateusz Piotrowski.It Fl s Ar slot Ns Cm \&, Ns Ar emulation Ns Op Cm \&, Ns Ar conf
239b13e60daSPeter GrehanConfigure a virtual PCI slot and function.
240b13e60daSPeter Grehan.Pp
24184fe889cSChristian Brueffer.Nm
242b13e60daSPeter Grehanprovides PCI bus emulation and virtual devices that can be attached to
243b13e60daSPeter Grehanslots on the bus.
244b13e60daSPeter GrehanThere are 32 available slots, with the option of providing up to 8 functions
245b13e60daSPeter Grehanper slot.
246*234d8c47SMateusz Piotrowski.Pp
247*234d8c47SMateusz PiotrowskiThe
248*234d8c47SMateusz Piotrowski.Ar slot
249*234d8c47SMateusz Piotrowskican be specified in one of the following formats:
250*234d8c47SMateusz Piotrowski.Pp
251*234d8c47SMateusz Piotrowski.Bl -bullet -compact
252*234d8c47SMateusz Piotrowski.It
253*234d8c47SMateusz Piotrowski.Ar pcislot
254*234d8c47SMateusz Piotrowski.It
255*234d8c47SMateusz Piotrowski.Sm off
256*234d8c47SMateusz Piotrowski.Ar pcislot Cm \&: Ar function
257*234d8c47SMateusz Piotrowski.Sm on
258*234d8c47SMateusz Piotrowski.It
259*234d8c47SMateusz Piotrowski.Sm off
260*234d8c47SMateusz Piotrowski.Ar bus Cm \&: Ar pcislot Cm \&: Ar function
261*234d8c47SMateusz Piotrowski.Sm on
262*234d8c47SMateusz Piotrowski.El
263b13e60daSPeter Grehan.Pp
264b13e60daSPeter GrehanThe
265b13e60daSPeter Grehan.Ar pcislot
26684fe889cSChristian Brueffervalue is 0 to 31.
26784fe889cSChristian BruefferThe optional
26884fe889cSChristian Brueffer.Ar function
26984fe889cSChristian Brueffervalue is 0 to 7.
27084fe889cSChristian BruefferThe optional
27106db1b4aSNeel Natu.Ar bus
27206db1b4aSNeel Natuvalue is 0 to 255.
27384fe889cSChristian BruefferIf not specified, the
27484fe889cSChristian Brueffer.Ar function
27584fe889cSChristian Brueffervalue defaults to 0.
27684fe889cSChristian BruefferIf not specified, the
27784fe889cSChristian Brueffer.Ar bus
27884fe889cSChristian Brueffervalue defaults to 0.
279*234d8c47SMateusz Piotrowski.Pp
280*234d8c47SMateusz PiotrowskiThe
281*234d8c47SMateusz Piotrowski.Ar emulation
282*234d8c47SMateusz Piotrowskiargument
283*234d8c47SMateusz Piotrowskican be one of the following:
284b13e60daSPeter Grehan.Bl -tag -width 10n
285b13e60daSPeter Grehan.It Li hostbridge | Li amd_hostbridge
286b13e60daSPeter Grehan.Pp
287b13e60daSPeter GrehanProvide a simple host bridge.
288b13e60daSPeter GrehanThis is usually configured at slot 0, and is required by most guest
289b13e60daSPeter Grehanoperating systems.
290b13e60daSPeter GrehanThe
291b13e60daSPeter Grehan.Li amd_hostbridge
292b13e60daSPeter Grehanemulation is identical but uses a PCI vendor ID of
293b13e60daSPeter Grehan.Li AMD .
294b13e60daSPeter Grehan.It Li passthru
295b13e60daSPeter GrehanPCI pass-through device.
296b13e60daSPeter Grehan.It Li virtio-net
297b13e60daSPeter GrehanVirtio network interface.
298a8be8e5eSRemko Lodder.It Li virtio-blk
299b13e60daSPeter GrehanVirtio block storage interface.
300f9c005a1SMarcelo Araujo.It Li virtio-scsi
301f9c005a1SMarcelo AraujoVirtio SCSI interface.
302100353cfSJakub Wojciech Klama.It Li virtio-9p
303100353cfSJakub Wojciech KlamaVirtio 9p (VirtFS) interface.
3049d0c4e17SPeter Grehan.It Li virtio-rnd
3059d0c4e17SPeter GrehanVirtio RNG interface.
3065121b6ccSRoman Bogorodskiy.It Li virtio-console
3075121b6ccSRoman BogorodskiyVirtio console interface, which exposes multiple ports
3085121b6ccSRoman Bogorodskiyto the guest in the form of simple char devices for simple IO
3095121b6ccSRoman Bogorodskiybetween the guest and host userspaces.
310098f5155SAlexander Motin.It Li ahci
311d6099860SMaxim KonovalovAHCI controller attached to arbitrary devices.
312b13e60daSPeter Grehan.It Li ahci-cd
313b13e60daSPeter GrehanAHCI controller attached to an ATAPI CD/DVD.
314b13e60daSPeter Grehan.It Li ahci-hd
315b13e60daSPeter GrehanAHCI controller attached to a SATA hard-drive.
3169e749f25SAlexander Motin.It Li e1000
3179e749f25SAlexander MotinIntel e82545 network interface.
318b13e60daSPeter Grehan.It Li uart
319b13e60daSPeter GrehanPCI 16550 serial device.
320b13e60daSPeter Grehan.It Li lpc
3212f40fc6fSPeter GrehanLPC PCI-ISA bridge with COM1 and COM2 16550 serial ports, a boot ROM, and,
3222f40fc6fSPeter Grehanoptionally, the debug/test device.
3239b1aa8d6SNeel NatuThe LPC bridge emulation can only be configured on bus 0.
3246c87a2c0SGleb Smirnoff.It Li fbuf
3256c87a2c0SGleb SmirnoffRaw framebuffer device attached to VNC server.
3266c87a2c0SGleb Smirnoff.It Li xhci
3275c3ec676SGleb SmirnoffeXtensible Host Controller Interface (xHCI) USB controller.
328c066c68cSMarcelo Araujo.It Li nvme
329c066c68cSMarcelo AraujoNVM Express (NVMe) controller.
33036f9f044SWarner Losh.It Li hda
33136f9f044SWarner LoshHigh Definition Audio Controller.
332b13e60daSPeter Grehan.El
333*234d8c47SMateusz Piotrowski.Pp
334*234d8c47SMateusz PiotrowskiThe optional parameter
335*234d8c47SMateusz Piotrowski.Ar conf
336*234d8c47SMateusz Piotrowskidescribes the backend for device emulations.
337b13e60daSPeter GrehanIf
338b13e60daSPeter Grehan.Ar conf
339b13e60daSPeter Grehanis not specified, the device emulation has no backend and can be
340b13e60daSPeter Grehanconsidered unconnected.
341b13e60daSPeter Grehan.Pp
342e90337e4SAleksandr FedorovNetwork backends:
343b13e60daSPeter Grehan.Bl -tag -width 10n
344692dbfe9SVincenzo Maffione.It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
345692dbfe9SVincenzo Maffione.It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
346e90337e4SAleksandr 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
347b13e60daSPeter Grehan.Pp
348b13e60daSPeter GrehanIf
349b13e60daSPeter Grehan.Ar mac
350b13e60daSPeter Grehanis not specified, the MAC address is derived from a fixed OUI and the
351b13e60daSPeter Grehanremaining bytes from an MD5 hash of the slot and function numbers and
352b13e60daSPeter Grehanthe device name.
353b13e60daSPeter Grehan.Pp
354b13e60daSPeter GrehanThe MAC address is an ASCII string in
355b13e60daSPeter Grehan.Xr ethers 5
356b13e60daSPeter Grehanformat.
357692dbfe9SVincenzo Maffione.Pp
358692dbfe9SVincenzo MaffioneWith virtio-net devices, the
359692dbfe9SVincenzo Maffione.Ar mtu
360692dbfe9SVincenzo Maffioneparameter can be specified to inform the guest about the largest MTU
361692dbfe9SVincenzo Maffionethat should be allowed, expressed in bytes.
362e90337e4SAleksandr Fedorov.Pp
363e90337e4SAleksandr FedorovWith netgraph backend, the
364e90337e4SAleksandr Fedorov.Ar path
365e90337e4SAleksandr Fedorovand
366e90337e4SAleksandr Fedorov.Ar peerhook
367e90337e4SAleksandr Fedorovparameters must be specified to set the destination node and corresponding hook.
368e90337e4SAleksandr FedorovThe optional parameters
369e90337e4SAleksandr Fedorov.Ar socket
370e90337e4SAleksandr Fedorovand
371e90337e4SAleksandr Fedorov.Ar hook
372e90337e4SAleksandr Fedorovmay be used to set the
373e90337e4SAleksandr Fedorov.Xr ng_socket 4
374e90337e4SAleksandr Fedorovnode name and source hook.
375e90337e4SAleksandr FedorovThe
376e90337e4SAleksandr Fedorov.Ar ADDRESS ,
377e90337e4SAleksandr Fedorov.Ar HOOK
378e90337e4SAleksandr Fedorovand
379e90337e4SAleksandr Fedorov.Ar NAME
380e90337e4SAleksandr Fedorovmust comply with
381e90337e4SAleksandr Fedorov.Xr netgraph 4
382e90337e4SAleksandr Fedorovaddressing rules.
383b13e60daSPeter Grehan.El
384b13e60daSPeter Grehan.Pp
385b13e60daSPeter GrehanBlock storage devices:
386b13e60daSPeter Grehan.Bl -tag -width 10n
3874e43c1e8SNeel Natu.It Pa /filename Ns Oo , Ns Ar block-device-options Oc
3884e43c1e8SNeel Natu.It Pa /dev/xxx Ns Oo , Ns Ar block-device-options Oc
3894e43c1e8SNeel Natu.El
3904e43c1e8SNeel Natu.Pp
3914e43c1e8SNeel NatuThe
3924e43c1e8SNeel Natu.Ar block-device-options
3934e43c1e8SNeel Natuare:
394b13e60daSPeter Grehan.Bl -tag -width 8n
395b13e60daSPeter Grehan.It Li nocache
396b13e60daSPeter GrehanOpen the file with
397b13e60daSPeter Grehan.Dv O_DIRECT .
398b13e60daSPeter Grehan.It Li direct
399b13e60daSPeter GrehanOpen the file using
400b13e60daSPeter Grehan.Dv O_SYNC .
401b13e60daSPeter Grehan.It Li ro
402b13e60daSPeter GrehanForce the file to be opened read-only.
4034e43c1e8SNeel Natu.It Li sectorsize= Ns Ar logical Ns Oo / Ns Ar physical Oc
4044e43c1e8SNeel NatuSpecify the logical and physical sector sizes of the emulated disk.
4054e43c1e8SNeel NatuThe physical sector size is optional and is equal to the logical sector size
4064e43c1e8SNeel Natuif not explicitly specified.
4072c8bb126SAllan Jude.It Li nodelete
408e6d795d1SAllan JudeDisable emulation of guest trim requests via
409e6d795d1SAllan Jude.Dv DIOCGDELETE
410e6d795d1SAllan Juderequests.
411b13e60daSPeter Grehan.El
412b13e60daSPeter Grehan.Pp
413f9c005a1SMarcelo AraujoSCSI devices:
414f9c005a1SMarcelo Araujo.Bl -tag -width 10n
41549f87822SAlexander Motin.It Pa /dev/cam/ctl Ns Oo Ar pp . Ns Ar vp Oc Ns Oo , Ns Ar scsi-device-options Oc
41649f87822SAlexander Motin.El
41749f87822SAlexander Motin.Pp
41849f87822SAlexander MotinThe
41949f87822SAlexander Motin.Ar scsi-device-options
42049f87822SAlexander Motinare:
42149f87822SAlexander Motin.Bl -tag -width 10n
42249f87822SAlexander Motin.It Li iid= Ns Ar IID
42349f87822SAlexander MotinInitiator ID to use when sending requests to specified CTL port.
42449f87822SAlexander MotinThe default value is 0.
425f9c005a1SMarcelo Araujo.El
426f9c005a1SMarcelo Araujo.Pp
427100353cfSJakub Wojciech Klama9P devices:
428100353cfSJakub Wojciech Klama.Bl -tag -width 10n
429100353cfSJakub Wojciech Klama.It Pa sharename=/path/to/share[,9p-device-options]
430100353cfSJakub Wojciech Klama.El
431100353cfSJakub Wojciech Klama.Pp
432100353cfSJakub Wojciech KlamaThe
433100353cfSJakub Wojciech Klama.Ar 9p-device-options
434100353cfSJakub Wojciech Klamaare:
435100353cfSJakub Wojciech Klama.Bl -tag -width 10n
436100353cfSJakub Wojciech Klama.It Li ro
437100353cfSJakub Wojciech KlamaExpose the share in read-only mode.
438100353cfSJakub Wojciech Klama.El
439100353cfSJakub Wojciech Klama.Pp
440b13e60daSPeter GrehanTTY devices:
441b13e60daSPeter Grehan.Bl -tag -width 10n
442b13e60daSPeter Grehan.It Li stdio
443b13e60daSPeter GrehanConnect the serial port to the standard input and output of
44484fe889cSChristian Bruefferthe
44584fe889cSChristian Brueffer.Nm
44684fe889cSChristian Bruefferprocess.
447b13e60daSPeter Grehan.It Pa /dev/xxx
448b13e60daSPeter GrehanUse the host TTY device for serial port I/O.
449b13e60daSPeter Grehan.El
450b13e60daSPeter Grehan.Pp
4519b1aa8d6SNeel NatuBoot ROM device:
4529b1aa8d6SNeel Natu.Bl -tag -width 10n
4539b1aa8d6SNeel Natu.It Pa romfile
4549b1aa8d6SNeel NatuMap
4559b1aa8d6SNeel Natu.Ar romfile
4569b1aa8d6SNeel Natuin the guest address space reserved for boot firmware.
4579b1aa8d6SNeel Natu.El
4589b1aa8d6SNeel Natu.Pp
459b13e60daSPeter GrehanPass-through devices:
460b13e60daSPeter Grehan.Bl -tag -width 10n
461b13e60daSPeter Grehan.It Ns Ar slot Ns / Ns Ar bus Ns / Ns Ar function
462b13e60daSPeter GrehanConnect to a PCI device on the host at the selector described by
463b13e60daSPeter Grehan.Ar slot ,
464b13e60daSPeter Grehan.Ar bus ,
465b13e60daSPeter Grehanand
466b13e60daSPeter Grehan.Ar function
467b13e60daSPeter Grehannumbers.
468b13e60daSPeter Grehan.El
469b13e60daSPeter Grehan.Pp
4709b1aa8d6SNeel NatuGuest memory must be wired using the
4719b1aa8d6SNeel Natu.Fl S
4729b1aa8d6SNeel Natuoption when a pass-through device is configured.
4739b1aa8d6SNeel Natu.Pp
474b13e60daSPeter GrehanThe host device must have been reserved at boot-time using the
475a9258f9bSWarren Block.Va pptdevs
476b13e60daSPeter Grehanloader variable as described in
477b13e60daSPeter Grehan.Xr vmm 4 .
4785121b6ccSRoman Bogorodskiy.Pp
4795121b6ccSRoman BogorodskiyVirtio console devices:
4805121b6ccSRoman Bogorodskiy.Bl -tag -width 10n
4815121b6ccSRoman Bogorodskiy.It Li port1= Ns Pa /path/to/port1.sock Ns ,anotherport= Ns Pa ...
4825121b6ccSRoman BogorodskiyA maximum of 16 ports per device can be created.
4835121b6ccSRoman BogorodskiyEvery port is named and corresponds to a Unix domain socket created by
4845121b6ccSRoman Bogorodskiy.Nm .
4855121b6ccSRoman Bogorodskiy.Nm
4865121b6ccSRoman Bogorodskiyaccepts at most one connection per port at a time.
4875121b6ccSRoman Bogorodskiy.Pp
4885121b6ccSRoman BogorodskiyLimitations:
4895121b6ccSRoman Bogorodskiy.Bl -bullet -offset 2n
4905121b6ccSRoman Bogorodskiy.It
4915121b6ccSRoman BogorodskiyDue to lack of destructors in
4925121b6ccSRoman Bogorodskiy.Nm ,
4935121b6ccSRoman Bogorodskiysockets on the filesystem must be cleaned up manually after
4945121b6ccSRoman Bogorodskiy.Nm
4955121b6ccSRoman Bogorodskiyexits.
4965121b6ccSRoman Bogorodskiy.It
4975121b6ccSRoman BogorodskiyThere is no way to use the "console port" feature, nor the console port
4980ee3a4b4SRoman Bogorodskiyresize at present.
4995121b6ccSRoman Bogorodskiy.It
5000ee3a4b4SRoman BogorodskiyEmergency write is advertised, but no-op at present.
5015121b6ccSRoman Bogorodskiy.El
5025121b6ccSRoman Bogorodskiy.El
5036c87a2c0SGleb Smirnoff.Pp
5045c3ec676SGleb SmirnoffFramebuffer devices:
5055c3ec676SGleb Smirnoff.Bl -tag -width 10n
5068d56c805SYuri Pankov.It Xo
5078d56c805SYuri Pankov.Oo rfb= Ns Oo Ar IP\&: Oc Ns Ar port Oc Ns Oo ,w= Ns Ar width Oc Ns Oo ,h= Ns
5088d56c805SYuri Pankov.Ar height Oc Ns Oo ,vga= Ns Ar vgaconf Oc Ns Oo Ns ,wait Oc Ns Oo ,password= Ns
5098d56c805SYuri Pankov.Ar password Oc
5108d56c805SYuri Pankov.Xc
5115c3ec676SGleb Smirnoff.Bl -tag -width 8n
5128883128bSBjoern A. Zeeb.It Ar IPv4:port No or Ar [IPv6%zone]:port
5135c3ec676SGleb SmirnoffAn
5145c3ec676SGleb Smirnoff.Ar IP
5155c3ec676SGleb Smirnoffaddress and a
5165c3ec676SGleb Smirnoff.Ar port
5175c3ec676SGleb SmirnoffVNC should listen on.
5186c87a2c0SGleb SmirnoffThe default is to listen on localhost IPv4 address and default VNC port 5900.
5198883128bSBjoern A. ZeebAn IPv6 address must be enclosed in square brackets and may contain an
5207d9545fcSRodney W. Grimesoptional zone identifier.
5215c3ec676SGleb Smirnoff.It Ar width No and Ar height
5225c3ec676SGleb SmirnoffA display resolution, width and height, respectively.
5235c3ec676SGleb SmirnoffIf not specified, a default resolution of 1024x768 pixels will be used.
5245c3ec676SGleb SmirnoffMinimal supported resolution is 640x480 pixels,
5255c3ec676SGleb Smirnoffand maximum is 1920x1200 pixels.
5265c3ec676SGleb Smirnoff.It Ar vgaconf
5275c3ec676SGleb SmirnoffPossible values for this option are
5285c3ec676SGleb Smirnoff.Dq io
5295c3ec676SGleb Smirnoff(default),
5305c3ec676SGleb Smirnoff.Dq on
5315c3ec676SGleb Smirnoff, and
5325c3ec676SGleb Smirnoff.Dq off .
5335c3ec676SGleb SmirnoffPCI graphics cards have a dual personality in that they are
5345c3ec676SGleb Smirnoffstandard PCI devices with BAR addressing, but may also
5355c3ec676SGleb Smirnoffimplicitly decode legacy VGA I/O space
5365c3ec676SGleb Smirnoff.Pq Ad 0x3c0-3df
5375c3ec676SGleb Smirnoffand memory space
5385c3ec676SGleb Smirnoff.Pq 64KB at Ad 0xA0000 .
5395c3ec676SGleb SmirnoffThe default
5405c3ec676SGleb Smirnoff.Dq io
5418d56c805SYuri Pankovoption should be used for guests that attempt to issue BIOS calls which result
5428d56c805SYuri Pankovin I/O port queries, and fail to boot if I/O decode is disabled.
5435c3ec676SGleb Smirnoff.Pp
5445c3ec676SGleb SmirnoffThe
5455c3ec676SGleb Smirnoff.Dq on
5465c3ec676SGleb Smirnoffoption should be used along with the CSM BIOS capability in UEFI
5475c3ec676SGleb Smirnoffto boot traditional BIOS guests that require the legacy VGA I/O and
5485c3ec676SGleb Smirnoffmemory regions to be available.
5495c3ec676SGleb Smirnoff.Pp
5505c3ec676SGleb SmirnoffThe
5515c3ec676SGleb Smirnoff.Dq off
5525c3ec676SGleb Smirnoffoption should be used for the UEFI guests that assume that
5535c3ec676SGleb SmirnoffVGA adapter is present if they detect the I/O ports.
5545c3ec676SGleb SmirnoffAn example of such a guest is
5555c3ec676SGleb Smirnoff.Ox
5565c3ec676SGleb Smirnoffin UEFI mode.
5575c3ec676SGleb Smirnoff.Pp
5585c3ec676SGleb SmirnoffPlease refer to the
5595c3ec676SGleb Smirnoff.Nm
5605c3ec676SGleb Smirnoff.Fx
5615c3ec676SGleb Smirnoffwiki page
5625c3ec676SGleb Smirnoff.Pq Lk https://wiki.freebsd.org/bhyve
5635c3ec676SGleb Smirnofffor configuration notes of particular guests.
5645c3ec676SGleb Smirnoff.It wait
5655c3ec676SGleb SmirnoffInstruct
5665c3ec676SGleb Smirnoff.Nm
5678d56c805SYuri Pankovto only boot upon the initiation of a VNC connection, simplifying the
5688d56c805SYuri Pankovinstallation of operating systems that require immediate keyboard input.
5695c3ec676SGleb SmirnoffThis can be removed for post-installation use.
570f4d34383SMarcelo Araujo.It password
571f4d34383SMarcelo AraujoThis type of authentication is known to be cryptographically weak and is not
572f4d34383SMarcelo Araujointended for use on untrusted networks.
573f4d34383SMarcelo AraujoMany implementations will want to use stronger security, such as running
574f4d34383SMarcelo Araujothe session over an encrypted channel provided by IPsec or SSH.
5755c3ec676SGleb Smirnoff.El
5766c87a2c0SGleb Smirnoff.El
5776c87a2c0SGleb Smirnoff.Pp
5785c3ec676SGleb SmirnoffxHCI USB devices:
5795c3ec676SGleb Smirnoff.Bl -tag -width 10n
5805c3ec676SGleb Smirnoff.It Li tablet
5815c3ec676SGleb SmirnoffA USB tablet device which provides precise cursor synchronization
5825c3ec676SGleb Smirnoffwhen using VNC.
5836c87a2c0SGleb Smirnoff.El
584c066c68cSMarcelo Araujo.Pp
585c066c68cSMarcelo AraujoNVMe devices:
586c066c68cSMarcelo Araujo.Bl -tag -width 10n
587c066c68cSMarcelo Araujo.It Li devpath
588c066c68cSMarcelo AraujoAccepted device paths are:
589c066c68cSMarcelo Araujo.Ar /dev/blockdev
590c066c68cSMarcelo Araujoor
591c066c68cSMarcelo Araujo.Ar /path/to/image
592c066c68cSMarcelo Araujoor
593c066c68cSMarcelo Araujo.Ar ram=size_in_MiB .
594c066c68cSMarcelo Araujo.It Li maxq
595c066c68cSMarcelo AraujoMax number of queues.
596c066c68cSMarcelo Araujo.It Li qsz
597c066c68cSMarcelo AraujoMax elements in each queue.
598c066c68cSMarcelo Araujo.It Li ioslots
599c066c68cSMarcelo AraujoMax number of concurrent I/O requests.
600c066c68cSMarcelo Araujo.It Li sectsz
601c066c68cSMarcelo AraujoSector size (defaults to blockif sector size).
602c066c68cSMarcelo Araujo.It Li ser
603c066c68cSMarcelo AraujoSerial number with maximum 20 characters.
604c066c68cSMarcelo Araujo.El
60536f9f044SWarner Losh.Pp
6069af3bcd7SPeter GrehanAHCI devices:
6079af3bcd7SPeter Grehan.Bl -tag -width 10n
6089af3bcd7SPeter Grehan.It Li nmrr
6099af3bcd7SPeter GrehanNominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report.
6109af3bcd7SPeter Grehan.It Li ser
6119af3bcd7SPeter GrehanSerial Number with maximum 20 characters.
6129af3bcd7SPeter Grehan.It Li rev
6139af3bcd7SPeter GrehanRevision Number with maximum 8 characters.
6149af3bcd7SPeter Grehan.It Li model
6159af3bcd7SPeter GrehanModel Number with maximum 40 characters.
6169af3bcd7SPeter Grehan.El
6179af3bcd7SPeter Grehan.Pp
61836f9f044SWarner LoshHD Audio devices:
61936f9f044SWarner Losh.Bl -tag -width 10n
62036f9f044SWarner Losh.It Li play
62136f9f044SWarner LoshPlayback device, typically
62236f9f044SWarner Losh.Ar /dev/dsp0 .
62336f9f044SWarner Losh.It Li rec
62436f9f044SWarner LoshRecording device, typically
62536f9f044SWarner Losh.Ar /dev/dsp0 .
62636f9f044SWarner Losh.El
627b13e60daSPeter Grehan.El
6285749449dSJohn Baldwin.It Fl U Ar uuid
6295749449dSJohn BaldwinSet the universally unique identifier
6305749449dSJohn Baldwin.Pq UUID
6315749449dSJohn Baldwinin the guest's System Management BIOS System Information structure.
6325749449dSJohn BaldwinBy default a UUID is generated from the host's hostname and
6335749449dSJohn Baldwin.Ar vmname .
634ccb1c87aSMateusz Piotrowski.It Fl u
635ccb1c87aSMateusz PiotrowskiRTC keeps UTC time.
636cde1f5b8SJohn Baldwin.It Fl W
637cde1f5b8SJohn BaldwinForce virtio PCI device emulations to use MSI interrupts instead of MSI-X
638cde1f5b8SJohn Baldwininterrupts.
639ccb1c87aSMateusz Piotrowski.It Fl w
640ccb1c87aSMateusz PiotrowskiIgnore accesses to unimplemented Model Specific Registers (MSRs).
641ccb1c87aSMateusz PiotrowskiThis is intended for debug purposes.
6429777ca20SNeel Natu.It Fl x
6439777ca20SNeel NatuThe guest's local APIC is configured in x2APIC mode.
644b100acf2SNeel Natu.It Fl Y
645b100acf2SNeel NatuDisable MPtable generation.
646b13e60daSPeter Grehan.It Ar vmname
647b13e60daSPeter GrehanAlphanumeric name of the guest.
648b13e60daSPeter GrehanThis should be the same as that created by
649b13e60daSPeter Grehan.Xr bhyveload 8 .
650b13e60daSPeter Grehan.El
651621b5090SJohn Baldwin.Sh CONFIGURATION VARIABLES
652621b5090SJohn Baldwin.Nm
653621b5090SJohn Baldwinuses an internal tree of configuration variables to describe global and
654621b5090SJohn Baldwinper-device settings.
655621b5090SJohn BaldwinWhen
656621b5090SJohn Baldwin.Nm
657621b5090SJohn Baldwinstarts,
658621b5090SJohn Baldwinit parses command line options (including config files) in the order given
659621b5090SJohn Baldwinon the command line.
660621b5090SJohn BaldwinEach command line option sets one or more configuration variables.
661621b5090SJohn BaldwinFor example,
662621b5090SJohn Baldwinthe
663621b5090SJohn Baldwin.Fl s
664621b5090SJohn Baldwinoption creates a new tree node for a PCI device and sets one or more variables
665621b5090SJohn Baldwinunder that node including the device model and device model-specific variables.
666621b5090SJohn BaldwinVariables may be set multiple times during this parsing stage with the final
667621b5090SJohn Baldwinvalue overriding previous values.
668621b5090SJohn Baldwin.Pp
669621b5090SJohn BaldwinOnce all of the command line options have been processed,
670621b5090SJohn Baldwinthe configuration values are frozen.
671621b5090SJohn Baldwin.Nm
672621b5090SJohn Baldwinthen uses the value of configuration values to initialize device models
673621b5090SJohn Baldwinand global settings.
674621b5090SJohn Baldwin.Pp
675621b5090SJohn BaldwinMore details on configuration variables can be found in
676621b5090SJohn Baldwin.Xr bhyve_config 5 .
677cd377eb3SJohn Baldwin.Sh DEBUG SERVER
678cd377eb3SJohn BaldwinThe current debug server provides limited support for debuggers.
679cd377eb3SJohn Baldwin.Ss Registers
680cd377eb3SJohn BaldwinEach virtual CPU is exposed to the debugger as a thread.
681cd377eb3SJohn Baldwin.Pp
682cd377eb3SJohn BaldwinGeneral purpose registers can be queried for each virtual CPU, but other
683cd377eb3SJohn Baldwinregisters such as floating-point and system registers cannot be queried.
684cd377eb3SJohn Baldwin.Ss Memory
685976ba8c6SJohn BaldwinMemory (including memory mapped I/O regions) can be read and written by the debugger.
6868d56c805SYuri PankovMemory operations use virtual addresses that are resolved to physical addresses
6878d56c805SYuri Pankovvia the current virtual CPU's active address translation.
688cd377eb3SJohn Baldwin.Ss Control
689cd377eb3SJohn BaldwinThe running guest can be interrupted by the debugger at any time
690cd377eb3SJohn Baldwin.Pq for example, by pressing Ctrl-C in the debugger .
691cd377eb3SJohn Baldwin.Pp
692cd377eb3SJohn BaldwinSingle stepping is only supported on Intel CPUs supporting the MTRAP VM exit.
693cd377eb3SJohn Baldwin.Pp
694cbd03a9dSJohn BaldwinBreakpoints are supported on Intel CPUs that support single stepping.
695cbd03a9dSJohn BaldwinNote that continuing from a breakpoint while interrupts are enabled in the
696cbd03a9dSJohn Baldwinguest may not work as expected due to timer interrupts firing while single
697cbd03a9dSJohn Baldwinstepping over the breakpoint.
698c2202d41SRoman Bogorodskiy.Sh SIGNAL HANDLING
699c2202d41SRoman Bogorodskiy.Nm
700c2202d41SRoman Bogorodskiydeals with the following signals:
701c2202d41SRoman Bogorodskiy.Pp
7023357e948SMateusz Piotrowski.Bl -tag -width SIGTERM -compact
703c2202d41SRoman Bogorodskiy.It SIGTERM
704c2202d41SRoman BogorodskiyTrigger ACPI poweroff for a VM
705c2202d41SRoman Bogorodskiy.El
706c2202d41SRoman Bogorodskiy.Sh EXIT STATUS
707c2202d41SRoman BogorodskiyExit status indicates how the VM was terminated:
708c2202d41SRoman Bogorodskiy.Pp
709c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact
710c2202d41SRoman Bogorodskiy.It 0
711c2202d41SRoman Bogorodskiyrebooted
712c2202d41SRoman Bogorodskiy.It 1
713c2202d41SRoman Bogorodskiypowered off
714c2202d41SRoman Bogorodskiy.It 2
715c2202d41SRoman Bogorodskiyhalted
716c2202d41SRoman Bogorodskiy.It 3
717c2202d41SRoman Bogorodskiytriple fault
718989e062bSMarcelo Araujo.It 4
719989e062bSMarcelo Araujoexited due to an error
720c2202d41SRoman Bogorodskiy.El
721b13e60daSPeter Grehan.Sh EXAMPLES
7225c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must have been loaded with
72384fe889cSChristian Brueffer.Xr bhyveload 8
724b13e60daSPeter Grehanor a similar boot loader before
725b13e60daSPeter Grehan.Xr bhyve 4
726b13e60daSPeter Grehancan be run.
7275c3ec676SGleb SmirnoffOtherwise, the boot loader is not needed.
728b13e60daSPeter Grehan.Pp
729b13e60daSPeter GrehanTo run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
730b13e60daSPeter Grehanblock device backed by the
731b13e60daSPeter Grehan.Pa /my/image
732b13e60daSPeter Grehanfilesystem image, and a serial port for the console:
733b13e60daSPeter Grehan.Bd -literal -offset indent
734b13e60daSPeter Grehanbhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
735b13e60daSPeter Grehan  -l com1,stdio -A -H -P -m 1G vm1
736b13e60daSPeter Grehan.Ed
737b13e60daSPeter Grehan.Pp
738b13e60daSPeter GrehanRun a 24GB single-CPU virtual machine with three network ports, one of which
739b13e60daSPeter Grehanhas a MAC address specified:
740b13e60daSPeter Grehan.Bd -literal -offset indent
741b13e60daSPeter Grehanbhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\
742b13e60daSPeter Grehan  -s 2:1,virtio-net,tap1 \\
743b13e60daSPeter Grehan  -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\
744b13e60daSPeter Grehan  -s 3,virtio-blk,/my/image -l com1,stdio \\
745b13e60daSPeter Grehan  -A -H -P -m 24G bigvm
746b13e60daSPeter Grehan.Ed
747b13e60daSPeter Grehan.Pp
748b13e60daSPeter GrehanRun an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI
749b13e60daSPeter GrehanCD-ROM, a single virtio network port, an AMD hostbridge, and the console
750b13e60daSPeter Grehanport connected to an
751b13e60daSPeter Grehan.Xr nmdm 4
75284fe889cSChristian Brueffernull-modem device.
753b13e60daSPeter Grehan.Bd -literal -offset indent
754a7ab1463SAlexander Motinbhyve -c 4 \\
755b13e60daSPeter Grehan  -s 0,amd_hostbridge -s 1,lpc \\
756098f5155SAlexander Motin  -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\
757098f5155SAlexander Motinhd:/images/disk.3,hd:/images/disk.4,\\
758098f5155SAlexander Motinhd:/images/disk.5,hd:/images/disk.6,\\
759098f5155SAlexander Motinhd:/images/disk.7,hd:/images/disk.8,\\
760098f5155SAlexander Motincd:/images/install.iso \\
761b13e60daSPeter Grehan  -s 3,virtio-net,tap0 \\
762b13e60daSPeter Grehan  -l com1,/dev/nmdm0A \\
763b13e60daSPeter Grehan  -A -H -P -m 8G
764b13e60daSPeter Grehan.Ed
7655c3ec676SGleb Smirnoff.Pp
7665c3ec676SGleb SmirnoffRun a UEFI virtual machine with a display resolution of 800 by 600 pixels
7675c3ec676SGleb Smirnoffthat can be accessed via VNC at: 0.0.0.0:5900.
7685c3ec676SGleb Smirnoff.Bd -literal -offset indent
7695c3ec676SGleb Smirnoffbhyve -c 2 -m 4G -w -H \\
7705c3ec676SGleb Smirnoff  -s 0,hostbridge \\
7715c3ec676SGleb Smirnoff  -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\
7725c3ec676SGleb Smirnoff  -s 4,ahci-hd,disk.img \\
7735c3ec676SGleb Smirnoff  -s 5,virtio-net,tap0 \\
7745c3ec676SGleb Smirnoff  -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\
7755c3ec676SGleb Smirnoff  -s 30,xhci,tablet \\
7765c3ec676SGleb Smirnoff  -s 31,lpc -l com1,stdio \\
7775c3ec676SGleb Smirnoff  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
7785c3ec676SGleb Smirnoff   uefivm
7795c3ec676SGleb Smirnoff.Ed
7808883128bSBjoern A. Zeeb.Pp
7818883128bSBjoern A. ZeebRun a UEFI virtual machine with a VNC display that is bound to all IPv6
7828883128bSBjoern A. Zeebaddresses on port 5900.
7838883128bSBjoern A. Zeeb.Bd -literal -offset indent
7848883128bSBjoern A. Zeebbhyve -c 2 -m 4G -w -H \\
7858883128bSBjoern A. Zeeb  -s 0,hostbridge \\
7868883128bSBjoern A. Zeeb  -s 4,ahci-hd,disk.img \\
7878883128bSBjoern A. Zeeb  -s 5,virtio-net,tap0 \\
7888883128bSBjoern A. Zeeb  -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\
7898883128bSBjoern A. Zeeb  -s 30,xhci,tablet \\
7908883128bSBjoern A. Zeeb  -s 31,lpc -l com1,stdio \\
7918883128bSBjoern A. Zeeb  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
7928883128bSBjoern A. Zeeb   uefivm
7938883128bSBjoern A. Zeeb.Ed
794b13e60daSPeter Grehan.Sh SEE ALSO
795b13e60daSPeter Grehan.Xr bhyve 4 ,
796e90337e4SAleksandr Fedorov.Xr netgraph 4 ,
797e90337e4SAleksandr Fedorov.Xr ng_socket 4 ,
798b13e60daSPeter Grehan.Xr nmdm 4 ,
799b13e60daSPeter Grehan.Xr vmm 4 ,
800621b5090SJohn Baldwin.Xr bhyve_config 5 ,
801b13e60daSPeter Grehan.Xr ethers 5 ,
80205f7cd8bSJoel Dahl.Xr bhyvectl 8 ,
80305f7cd8bSJoel Dahl.Xr bhyveload 8
8048d56c805SYuri Pankov.Pp
8058d56c805SYuri Pankov.Rs
8068d56c805SYuri Pankov.%A Intel
8078d56c805SYuri Pankov.%B 64 and IA-32 Architectures Software Developer’s Manual
8088d56c805SYuri Pankov.%V Volume 3
8098d56c805SYuri Pankov.Re
810b13e60daSPeter Grehan.Sh HISTORY
811b13e60daSPeter Grehan.Nm
812b13e60daSPeter Grehanfirst appeared in
813b13e60daSPeter Grehan.Fx 10.0 .
814b13e60daSPeter Grehan.Sh AUTHORS
81501c2b8acSBaptiste Daroussin.An Neel Natu Aq Mt neel@freebsd.org
81601c2b8acSBaptiste Daroussin.An Peter Grehan Aq Mt grehan@freebsd.org
817