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.\" 27*621b5090SJohn Baldwin.Dd March 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 49*621b5090SJohn Baldwin.Op Fl k Ar file 5077d208a3SMateusz Piotrowski.Oo Fl l 5177d208a3SMateusz Piotrowski.Sm off 5277d208a3SMateusz Piotrowski.Cm help | 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 63*621b5090SJohn 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.Oo Fl s 6777d208a3SMateusz Piotrowski.Sm off 6877d208a3SMateusz Piotrowski.Cm help | 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 73b13e60daSPeter Grehan.Sh DESCRIPTION 74b13e60daSPeter Grehan.Nm 757fca1ad5SGlen Barberis a hypervisor that runs guest operating systems inside a 76b13e60daSPeter Grehanvirtual machine. 77b13e60daSPeter Grehan.Pp 78b13e60daSPeter GrehanParameters such as the number of virtual CPUs, amount of guest memory, and 79b13e60daSPeter GrehanI/O connectivity can be specified with command-line parameters. 80b13e60daSPeter Grehan.Pp 815c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must be loaded with 8284fe889cSChristian Brueffer.Xr bhyveload 8 83b13e60daSPeter Grehanor a similar boot loader before running 845c3ec676SGleb Smirnoff.Nm , 855c3ec676SGleb Smirnoffotherwise, it is enough to run 865c3ec676SGleb Smirnoff.Nm 875c3ec676SGleb Smirnoffwith a boot ROM of choice. 88b13e60daSPeter Grehan.Pp 89b13e60daSPeter Grehan.Nm 90b13e60daSPeter Grehanruns until the guest operating system reboots or an unhandled hypervisor 91b13e60daSPeter Grehanexit is detected. 92b13e60daSPeter Grehan.Sh OPTIONS 93b13e60daSPeter Grehan.Bl -tag -width 10n 94b13e60daSPeter Grehan.It Fl a 959777ca20SNeel NatuThe guest's local APIC is configured in xAPIC mode. 9684fe889cSChristian BruefferThe xAPIC mode is the default setting so this option is redundant. 9784fe889cSChristian BruefferIt will be deprecated in a future version. 98b13e60daSPeter Grehan.It Fl A 99b13e60daSPeter GrehanGenerate ACPI tables. 100b13e60daSPeter GrehanRequired for 101b13e60daSPeter Grehan.Fx Ns /amd64 102b13e60daSPeter Grehanguests. 10301d822d3SRodney W. Grimes.It Fl c Op Ar setting ... 10401d822d3SRodney W. GrimesNumber of guest virtual CPUs 10501d822d3SRodney W. Grimesand/or the CPU topology. 10601d822d3SRodney W. GrimesThe default value for each of 10701d822d3SRodney W. Grimes.Ar numcpus , 10801d822d3SRodney W. Grimes.Ar sockets , 10901d822d3SRodney W. Grimes.Ar cores , 11001d822d3SRodney W. Grimesand 11101d822d3SRodney W. Grimes.Ar threads 11201d822d3SRodney W. Grimesis 1. 11301d822d3SRodney W. GrimesThe current maximum number of guest virtual CPUs is 16. 11401d822d3SRodney W. GrimesIf 11501d822d3SRodney W. Grimes.Ar numcpus 11601d822d3SRodney W. Grimesis not specified then it will be calculated from the other arguments. 11701d822d3SRodney W. GrimesThe topology must be consistent in that the 11801d822d3SRodney W. Grimes.Ar numcpus 11901d822d3SRodney W. Grimesmust equal the product of 12001d822d3SRodney W. Grimes.Ar sockets , 12101d822d3SRodney W. Grimes.Ar cores , 12201d822d3SRodney W. Grimesand 12301d822d3SRodney W. Grimes.Ar threads . 12401d822d3SRodney W. GrimesIf a 12501d822d3SRodney W. Grimes.Ar setting 12601d822d3SRodney W. Grimesis specified more than once the last one has precedence. 1270dd10c00SNeel Natu.It Fl C 1280dd10c00SNeel NatuInclude guest memory in core file. 1290a1016f9SPawel Biernacki.It Fl D 1300a1016f9SPawel BiernackiDestroy the VM on guest initiated power-off. 131cde1f5b8SJohn Baldwin.It Fl e 132cde1f5b8SJohn BaldwinForce 133cde1f5b8SJohn Baldwin.Nm 134cde1f5b8SJohn Baldwinto exit when a guest issues an access to an I/O port that is not emulated. 135cde1f5b8SJohn BaldwinThis is intended for debug purposes. 136cd377eb3SJohn Baldwin.It Fl G Ar port 137cd377eb3SJohn BaldwinStart a debug server that uses the GDB protocol to export guest state to a 138cd377eb3SJohn Baldwindebugger. 139cd377eb3SJohn BaldwinAn IPv4 TCP socket will be bound to the supplied 140cd377eb3SJohn Baldwin.Ar port 141cd377eb3SJohn Baldwinto listen for debugger connections. 142cd377eb3SJohn BaldwinOnly a single debugger may be attached to the debug server at a time. 143cd377eb3SJohn BaldwinIf 144cd377eb3SJohn Baldwin.Ar port 145cd377eb3SJohn Baldwinbegins with 146cd377eb3SJohn Baldwin.Sq w , 147cd377eb3SJohn Baldwin.Nm 148cd377eb3SJohn Baldwinwill pause execution at the first instruction waiting for a debugger to attach. 149cde1f5b8SJohn Baldwin.It Fl h 150cde1f5b8SJohn BaldwinPrint help message and exit. 151cde1f5b8SJohn Baldwin.It Fl H 152cde1f5b8SJohn BaldwinYield the virtual CPU thread when a HLT instruction is detected. 153cde1f5b8SJohn BaldwinIf this option is not specified, virtual CPUs will use 100% of a host CPU. 154*621b5090SJohn Baldwin.It Fl k Ar file 155*621b5090SJohn BaldwinSet configuration variables from a simple, key-value config file. 156*621b5090SJohn BaldwinEach line of the config file is expected to consist of a config variable 157*621b5090SJohn Baldwinname, an equals sign 158*621b5090SJohn Baldwin.Pq Sq = , 159*621b5090SJohn Baldwinand a value. 160*621b5090SJohn BaldwinNo spaces are permitted between the variable name, equals sign, or 161*621b5090SJohn Baldwinvalue. 162*621b5090SJohn BaldwinBlank lines and lines starting with 163*621b5090SJohn Baldwin.Sq # 164*621b5090SJohn Baldwinare ignored. 1651aa56353SMarcelo Araujo.It Fl l Op Ar help|lpcdev Ns Op , Ns Ar conf 166cde1f5b8SJohn BaldwinAllow devices behind the LPC PCI-ISA bridge to be configured. 1679b1aa8d6SNeel NatuThe only supported devices are the TTY-class devices 1689b1aa8d6SNeel Natu.Ar com1 169eed1cc6cSPeter Grehanthrough 170eed1cc6cSPeter Grehan.Ar com4 , 1712f40fc6fSPeter Grehanthe boot ROM device 1722f40fc6fSPeter Grehan.Ar bootrom , 1732f40fc6fSPeter Grehanand the debug/test device 1742f40fc6fSPeter Grehan.Ar pc-testdev . 1751aa56353SMarcelo Araujo.Pp 1761aa56353SMarcelo Araujo.Ar help 1771aa56353SMarcelo Araujoprint a list of supported LPC devices. 1786ee52c65SRoman Bogorodskiy.It Fl m Ar memsize Ns Op Ar K|k|M|m|G|g|T|t 179cde1f5b8SJohn BaldwinGuest physical memory size in bytes. 180cde1f5b8SJohn BaldwinThis must be the same size that was given to 181cde1f5b8SJohn Baldwin.Xr bhyveload 8 . 182cde1f5b8SJohn Baldwin.Pp 183cde1f5b8SJohn BaldwinThe size argument may be suffixed with one of K, M, G or T (either upper 184cde1f5b8SJohn Baldwinor lower case) to indicate a multiple of kilobytes, megabytes, gigabytes, 185cde1f5b8SJohn Baldwinor terabytes. 186cde1f5b8SJohn BaldwinIf no suffix is given, the value is assumed to be in megabytes. 1876ee52c65SRoman Bogorodskiy.Pp 1886ee52c65SRoman Bogorodskiy.Ar memsize 1896ee52c65SRoman Bogorodskiydefaults to 256M. 190*621b5090SJohn Baldwin.It Fl o Ar var Ns Cm = Ns Ar value 191*621b5090SJohn BaldwinSet the configuration variable 192*621b5090SJohn Baldwin.Ar var 193*621b5090SJohn Baldwinto 194*621b5090SJohn Baldwin.Ar value . 1959b6155a2SNeel Natu.It Fl p Ar vcpu:hostcpu 1969b6155a2SNeel NatuPin guest's virtual CPU 1979b6155a2SNeel Natu.Em vcpu 1989b6155a2SNeel Natuto 1999b6155a2SNeel Natu.Em hostcpu . 200b13e60daSPeter Grehan.It Fl P 201b13e60daSPeter GrehanForce the guest virtual CPU to exit when a PAUSE instruction is detected. 202483d953aSJohn Baldwin.It Fl r Ar file 203483d953aSJohn BaldwinResume a guest from a snapshot. 204483d953aSJohn BaldwinThe guest memory contents are restored from 205483d953aSJohn Baldwin.Ar file , 206483d953aSJohn Baldwinand the guest device and vCPU state are restored from the file 207483d953aSJohn Baldwin.Dq Ar file Ns .kern . 208483d953aSJohn Baldwin.Pp 209483d953aSJohn BaldwinNote that the current snapshot file format requires that the configuration of 210483d953aSJohn Baldwindevices in the new VM match the VM from which the snapshot was taken by specifying the 211483d953aSJohn Baldwinsame 212483d953aSJohn Baldwin.Op Fl s 213483d953aSJohn Baldwinand 214483d953aSJohn Baldwin.Op Fl l 215483d953aSJohn Baldwinoptions. 216483d953aSJohn BaldwinThe count of vCPUs and memory configuration are read from the snapshot. 2171aa56353SMarcelo Araujo.It Fl s Op Ar help|slot,emulation Ns Op , Ns Ar conf 218b13e60daSPeter GrehanConfigure a virtual PCI slot and function. 219b13e60daSPeter Grehan.Pp 22084fe889cSChristian Brueffer.Nm 221b13e60daSPeter Grehanprovides PCI bus emulation and virtual devices that can be attached to 222b13e60daSPeter Grehanslots on the bus. 223b13e60daSPeter GrehanThere are 32 available slots, with the option of providing up to 8 functions 224b13e60daSPeter Grehanper slot. 225b13e60daSPeter Grehan.Bl -tag -width 10n 2261aa56353SMarcelo Araujo.It Ar help 2271aa56353SMarcelo Araujoprint a list of supported PCI devices. 228b13e60daSPeter Grehan.It Ar slot 22906db1b4aSNeel Natu.Ar pcislot[:function] 23006db1b4aSNeel Natu.Ar bus:pcislot:function 231b13e60daSPeter Grehan.Pp 232b13e60daSPeter GrehanThe 233b13e60daSPeter Grehan.Ar pcislot 23484fe889cSChristian Brueffervalue is 0 to 31. 23584fe889cSChristian BruefferThe optional 23684fe889cSChristian Brueffer.Ar function 23784fe889cSChristian Brueffervalue is 0 to 7. 23884fe889cSChristian BruefferThe optional 23906db1b4aSNeel Natu.Ar bus 24006db1b4aSNeel Natuvalue is 0 to 255. 24184fe889cSChristian BruefferIf not specified, the 24284fe889cSChristian Brueffer.Ar function 24384fe889cSChristian Brueffervalue defaults to 0. 24484fe889cSChristian BruefferIf not specified, the 24584fe889cSChristian Brueffer.Ar bus 24684fe889cSChristian Brueffervalue defaults to 0. 247b13e60daSPeter Grehan.It Ar emulation 248b13e60daSPeter Grehan.Bl -tag -width 10n 249b13e60daSPeter Grehan.It Li hostbridge | Li amd_hostbridge 250b13e60daSPeter Grehan.Pp 251b13e60daSPeter GrehanProvide a simple host bridge. 252b13e60daSPeter GrehanThis is usually configured at slot 0, and is required by most guest 253b13e60daSPeter Grehanoperating systems. 254b13e60daSPeter GrehanThe 255b13e60daSPeter Grehan.Li amd_hostbridge 256b13e60daSPeter Grehanemulation is identical but uses a PCI vendor ID of 257b13e60daSPeter Grehan.Li AMD . 258b13e60daSPeter Grehan.It Li passthru 259b13e60daSPeter GrehanPCI pass-through device. 260b13e60daSPeter Grehan.It Li virtio-net 261b13e60daSPeter GrehanVirtio network interface. 262a8be8e5eSRemko Lodder.It Li virtio-blk 263b13e60daSPeter GrehanVirtio block storage interface. 264f9c005a1SMarcelo Araujo.It Li virtio-scsi 265f9c005a1SMarcelo AraujoVirtio SCSI interface. 266100353cfSJakub Wojciech Klama.It Li virtio-9p 267100353cfSJakub Wojciech KlamaVirtio 9p (VirtFS) interface. 2689d0c4e17SPeter Grehan.It Li virtio-rnd 2699d0c4e17SPeter GrehanVirtio RNG interface. 2705121b6ccSRoman Bogorodskiy.It Li virtio-console 2715121b6ccSRoman BogorodskiyVirtio console interface, which exposes multiple ports 2725121b6ccSRoman Bogorodskiyto the guest in the form of simple char devices for simple IO 2735121b6ccSRoman Bogorodskiybetween the guest and host userspaces. 274098f5155SAlexander Motin.It Li ahci 275d6099860SMaxim KonovalovAHCI controller attached to arbitrary devices. 276b13e60daSPeter Grehan.It Li ahci-cd 277b13e60daSPeter GrehanAHCI controller attached to an ATAPI CD/DVD. 278b13e60daSPeter Grehan.It Li ahci-hd 279b13e60daSPeter GrehanAHCI controller attached to a SATA hard-drive. 2809e749f25SAlexander Motin.It Li e1000 2819e749f25SAlexander MotinIntel e82545 network interface. 282b13e60daSPeter Grehan.It Li uart 283b13e60daSPeter GrehanPCI 16550 serial device. 284b13e60daSPeter Grehan.It Li lpc 2852f40fc6fSPeter GrehanLPC PCI-ISA bridge with COM1 and COM2 16550 serial ports, a boot ROM, and, 2862f40fc6fSPeter Grehanoptionally, the debug/test device. 2879b1aa8d6SNeel NatuThe LPC bridge emulation can only be configured on bus 0. 2886c87a2c0SGleb Smirnoff.It Li fbuf 2896c87a2c0SGleb SmirnoffRaw framebuffer device attached to VNC server. 2906c87a2c0SGleb Smirnoff.It Li xhci 2915c3ec676SGleb SmirnoffeXtensible Host Controller Interface (xHCI) USB controller. 292c066c68cSMarcelo Araujo.It Li nvme 293c066c68cSMarcelo AraujoNVM Express (NVMe) controller. 29436f9f044SWarner Losh.It Li hda 29536f9f044SWarner LoshHigh Definition Audio Controller. 296b13e60daSPeter Grehan.El 297b13e60daSPeter Grehan.It Op Ar conf 298b13e60daSPeter GrehanThis optional parameter describes the backend for device emulations. 299b13e60daSPeter GrehanIf 300b13e60daSPeter Grehan.Ar conf 301b13e60daSPeter Grehanis not specified, the device emulation has no backend and can be 302b13e60daSPeter Grehanconsidered unconnected. 303b13e60daSPeter Grehan.Pp 304e90337e4SAleksandr FedorovNetwork backends: 305b13e60daSPeter Grehan.Bl -tag -width 10n 306692dbfe9SVincenzo Maffione.It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc 307692dbfe9SVincenzo Maffione.It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc 308e90337e4SAleksandr 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 309b13e60daSPeter Grehan.Pp 310b13e60daSPeter GrehanIf 311b13e60daSPeter Grehan.Ar mac 312b13e60daSPeter Grehanis not specified, the MAC address is derived from a fixed OUI and the 313b13e60daSPeter Grehanremaining bytes from an MD5 hash of the slot and function numbers and 314b13e60daSPeter Grehanthe device name. 315b13e60daSPeter Grehan.Pp 316b13e60daSPeter GrehanThe MAC address is an ASCII string in 317b13e60daSPeter Grehan.Xr ethers 5 318b13e60daSPeter Grehanformat. 319692dbfe9SVincenzo Maffione.Pp 320692dbfe9SVincenzo MaffioneWith virtio-net devices, the 321692dbfe9SVincenzo Maffione.Ar mtu 322692dbfe9SVincenzo Maffioneparameter can be specified to inform the guest about the largest MTU 323692dbfe9SVincenzo Maffionethat should be allowed, expressed in bytes. 324e90337e4SAleksandr Fedorov.Pp 325e90337e4SAleksandr FedorovWith netgraph backend, the 326e90337e4SAleksandr Fedorov.Ar path 327e90337e4SAleksandr Fedorovand 328e90337e4SAleksandr Fedorov.Ar peerhook 329e90337e4SAleksandr Fedorovparameters must be specified to set the destination node and corresponding hook. 330e90337e4SAleksandr FedorovThe optional parameters 331e90337e4SAleksandr Fedorov.Ar socket 332e90337e4SAleksandr Fedorovand 333e90337e4SAleksandr Fedorov.Ar hook 334e90337e4SAleksandr Fedorovmay be used to set the 335e90337e4SAleksandr Fedorov.Xr ng_socket 4 336e90337e4SAleksandr Fedorovnode name and source hook. 337e90337e4SAleksandr FedorovThe 338e90337e4SAleksandr Fedorov.Ar ADDRESS , 339e90337e4SAleksandr Fedorov.Ar HOOK 340e90337e4SAleksandr Fedorovand 341e90337e4SAleksandr Fedorov.Ar NAME 342e90337e4SAleksandr Fedorovmust comply with 343e90337e4SAleksandr Fedorov.Xr netgraph 4 344e90337e4SAleksandr Fedorovaddressing rules. 345b13e60daSPeter Grehan.El 346b13e60daSPeter Grehan.Pp 347b13e60daSPeter GrehanBlock storage devices: 348b13e60daSPeter Grehan.Bl -tag -width 10n 3494e43c1e8SNeel Natu.It Pa /filename Ns Oo , Ns Ar block-device-options Oc 3504e43c1e8SNeel Natu.It Pa /dev/xxx Ns Oo , Ns Ar block-device-options Oc 3514e43c1e8SNeel Natu.El 3524e43c1e8SNeel Natu.Pp 3534e43c1e8SNeel NatuThe 3544e43c1e8SNeel Natu.Ar block-device-options 3554e43c1e8SNeel Natuare: 356b13e60daSPeter Grehan.Bl -tag -width 8n 357b13e60daSPeter Grehan.It Li nocache 358b13e60daSPeter GrehanOpen the file with 359b13e60daSPeter Grehan.Dv O_DIRECT . 360b13e60daSPeter Grehan.It Li direct 361b13e60daSPeter GrehanOpen the file using 362b13e60daSPeter Grehan.Dv O_SYNC . 363b13e60daSPeter Grehan.It Li ro 364b13e60daSPeter GrehanForce the file to be opened read-only. 3654e43c1e8SNeel Natu.It Li sectorsize= Ns Ar logical Ns Oo / Ns Ar physical Oc 3664e43c1e8SNeel NatuSpecify the logical and physical sector sizes of the emulated disk. 3674e43c1e8SNeel NatuThe physical sector size is optional and is equal to the logical sector size 3684e43c1e8SNeel Natuif not explicitly specified. 3692c8bb126SAllan Jude.It Li nodelete 370e6d795d1SAllan JudeDisable emulation of guest trim requests via 371e6d795d1SAllan Jude.Dv DIOCGDELETE 372e6d795d1SAllan Juderequests. 373b13e60daSPeter Grehan.El 374b13e60daSPeter Grehan.Pp 375f9c005a1SMarcelo AraujoSCSI devices: 376f9c005a1SMarcelo Araujo.Bl -tag -width 10n 37749f87822SAlexander Motin.It Pa /dev/cam/ctl Ns Oo Ar pp . Ns Ar vp Oc Ns Oo , Ns Ar scsi-device-options Oc 37849f87822SAlexander Motin.El 37949f87822SAlexander Motin.Pp 38049f87822SAlexander MotinThe 38149f87822SAlexander Motin.Ar scsi-device-options 38249f87822SAlexander Motinare: 38349f87822SAlexander Motin.Bl -tag -width 10n 38449f87822SAlexander Motin.It Li iid= Ns Ar IID 38549f87822SAlexander MotinInitiator ID to use when sending requests to specified CTL port. 38649f87822SAlexander MotinThe default value is 0. 387f9c005a1SMarcelo Araujo.El 388f9c005a1SMarcelo Araujo.Pp 389100353cfSJakub Wojciech Klama9P devices: 390100353cfSJakub Wojciech Klama.Bl -tag -width 10n 391100353cfSJakub Wojciech Klama.It Pa sharename=/path/to/share[,9p-device-options] 392100353cfSJakub Wojciech Klama.El 393100353cfSJakub Wojciech Klama.Pp 394100353cfSJakub Wojciech KlamaThe 395100353cfSJakub Wojciech Klama.Ar 9p-device-options 396100353cfSJakub Wojciech Klamaare: 397100353cfSJakub Wojciech Klama.Bl -tag -width 10n 398100353cfSJakub Wojciech Klama.It Li ro 399100353cfSJakub Wojciech KlamaExpose the share in read-only mode. 400100353cfSJakub Wojciech Klama.El 401100353cfSJakub Wojciech Klama.Pp 402b13e60daSPeter GrehanTTY devices: 403b13e60daSPeter Grehan.Bl -tag -width 10n 404b13e60daSPeter Grehan.It Li stdio 405b13e60daSPeter GrehanConnect the serial port to the standard input and output of 40684fe889cSChristian Bruefferthe 40784fe889cSChristian Brueffer.Nm 40884fe889cSChristian Bruefferprocess. 409b13e60daSPeter Grehan.It Pa /dev/xxx 410b13e60daSPeter GrehanUse the host TTY device for serial port I/O. 411b13e60daSPeter Grehan.El 412b13e60daSPeter Grehan.Pp 4139b1aa8d6SNeel NatuBoot ROM device: 4149b1aa8d6SNeel Natu.Bl -tag -width 10n 4159b1aa8d6SNeel Natu.It Pa romfile 4169b1aa8d6SNeel NatuMap 4179b1aa8d6SNeel Natu.Ar romfile 4189b1aa8d6SNeel Natuin the guest address space reserved for boot firmware. 4199b1aa8d6SNeel Natu.El 4209b1aa8d6SNeel Natu.Pp 421b13e60daSPeter GrehanPass-through devices: 422b13e60daSPeter Grehan.Bl -tag -width 10n 423b13e60daSPeter Grehan.It Ns Ar slot Ns / Ns Ar bus Ns / Ns Ar function 424b13e60daSPeter GrehanConnect to a PCI device on the host at the selector described by 425b13e60daSPeter Grehan.Ar slot , 426b13e60daSPeter Grehan.Ar bus , 427b13e60daSPeter Grehanand 428b13e60daSPeter Grehan.Ar function 429b13e60daSPeter Grehannumbers. 430b13e60daSPeter Grehan.El 431b13e60daSPeter Grehan.Pp 4329b1aa8d6SNeel NatuGuest memory must be wired using the 4339b1aa8d6SNeel Natu.Fl S 4349b1aa8d6SNeel Natuoption when a pass-through device is configured. 4359b1aa8d6SNeel Natu.Pp 436b13e60daSPeter GrehanThe host device must have been reserved at boot-time using the 437a9258f9bSWarren Block.Va pptdevs 438b13e60daSPeter Grehanloader variable as described in 439b13e60daSPeter Grehan.Xr vmm 4 . 4405121b6ccSRoman Bogorodskiy.Pp 4415121b6ccSRoman BogorodskiyVirtio console devices: 4425121b6ccSRoman Bogorodskiy.Bl -tag -width 10n 4435121b6ccSRoman Bogorodskiy.It Li port1= Ns Pa /path/to/port1.sock Ns ,anotherport= Ns Pa ... 4445121b6ccSRoman BogorodskiyA maximum of 16 ports per device can be created. 4455121b6ccSRoman BogorodskiyEvery port is named and corresponds to a Unix domain socket created by 4465121b6ccSRoman Bogorodskiy.Nm . 4475121b6ccSRoman Bogorodskiy.Nm 4485121b6ccSRoman Bogorodskiyaccepts at most one connection per port at a time. 4495121b6ccSRoman Bogorodskiy.Pp 4505121b6ccSRoman BogorodskiyLimitations: 4515121b6ccSRoman Bogorodskiy.Bl -bullet -offset 2n 4525121b6ccSRoman Bogorodskiy.It 4535121b6ccSRoman BogorodskiyDue to lack of destructors in 4545121b6ccSRoman Bogorodskiy.Nm , 4555121b6ccSRoman Bogorodskiysockets on the filesystem must be cleaned up manually after 4565121b6ccSRoman Bogorodskiy.Nm 4575121b6ccSRoman Bogorodskiyexits. 4585121b6ccSRoman Bogorodskiy.It 4595121b6ccSRoman BogorodskiyThere is no way to use the "console port" feature, nor the console port 4600ee3a4b4SRoman Bogorodskiyresize at present. 4615121b6ccSRoman Bogorodskiy.It 4620ee3a4b4SRoman BogorodskiyEmergency write is advertised, but no-op at present. 4635121b6ccSRoman Bogorodskiy.El 4645121b6ccSRoman Bogorodskiy.El 4656c87a2c0SGleb Smirnoff.Pp 4665c3ec676SGleb SmirnoffFramebuffer devices: 4675c3ec676SGleb Smirnoff.Bl -tag -width 10n 4688d56c805SYuri Pankov.It Xo 4698d56c805SYuri Pankov.Oo rfb= Ns Oo Ar IP\&: Oc Ns Ar port Oc Ns Oo ,w= Ns Ar width Oc Ns Oo ,h= Ns 4708d56c805SYuri Pankov.Ar height Oc Ns Oo ,vga= Ns Ar vgaconf Oc Ns Oo Ns ,wait Oc Ns Oo ,password= Ns 4718d56c805SYuri Pankov.Ar password Oc 4728d56c805SYuri Pankov.Xc 4735c3ec676SGleb Smirnoff.Bl -tag -width 8n 4748883128bSBjoern A. Zeeb.It Ar IPv4:port No or Ar [IPv6%zone]:port 4755c3ec676SGleb SmirnoffAn 4765c3ec676SGleb Smirnoff.Ar IP 4775c3ec676SGleb Smirnoffaddress and a 4785c3ec676SGleb Smirnoff.Ar port 4795c3ec676SGleb SmirnoffVNC should listen on. 4806c87a2c0SGleb SmirnoffThe default is to listen on localhost IPv4 address and default VNC port 5900. 4818883128bSBjoern A. ZeebAn IPv6 address must be enclosed in square brackets and may contain an 4827d9545fcSRodney W. Grimesoptional zone identifier. 4835c3ec676SGleb Smirnoff.It Ar width No and Ar height 4845c3ec676SGleb SmirnoffA display resolution, width and height, respectively. 4855c3ec676SGleb SmirnoffIf not specified, a default resolution of 1024x768 pixels will be used. 4865c3ec676SGleb SmirnoffMinimal supported resolution is 640x480 pixels, 4875c3ec676SGleb Smirnoffand maximum is 1920x1200 pixels. 4885c3ec676SGleb Smirnoff.It Ar vgaconf 4895c3ec676SGleb SmirnoffPossible values for this option are 4905c3ec676SGleb Smirnoff.Dq io 4915c3ec676SGleb Smirnoff(default), 4925c3ec676SGleb Smirnoff.Dq on 4935c3ec676SGleb Smirnoff, and 4945c3ec676SGleb Smirnoff.Dq off . 4955c3ec676SGleb SmirnoffPCI graphics cards have a dual personality in that they are 4965c3ec676SGleb Smirnoffstandard PCI devices with BAR addressing, but may also 4975c3ec676SGleb Smirnoffimplicitly decode legacy VGA I/O space 4985c3ec676SGleb Smirnoff.Pq Ad 0x3c0-3df 4995c3ec676SGleb Smirnoffand memory space 5005c3ec676SGleb Smirnoff.Pq 64KB at Ad 0xA0000 . 5015c3ec676SGleb SmirnoffThe default 5025c3ec676SGleb Smirnoff.Dq io 5038d56c805SYuri Pankovoption should be used for guests that attempt to issue BIOS calls which result 5048d56c805SYuri Pankovin I/O port queries, and fail to boot if I/O decode is disabled. 5055c3ec676SGleb Smirnoff.Pp 5065c3ec676SGleb SmirnoffThe 5075c3ec676SGleb Smirnoff.Dq on 5085c3ec676SGleb Smirnoffoption should be used along with the CSM BIOS capability in UEFI 5095c3ec676SGleb Smirnoffto boot traditional BIOS guests that require the legacy VGA I/O and 5105c3ec676SGleb Smirnoffmemory regions to be available. 5115c3ec676SGleb Smirnoff.Pp 5125c3ec676SGleb SmirnoffThe 5135c3ec676SGleb Smirnoff.Dq off 5145c3ec676SGleb Smirnoffoption should be used for the UEFI guests that assume that 5155c3ec676SGleb SmirnoffVGA adapter is present if they detect the I/O ports. 5165c3ec676SGleb SmirnoffAn example of such a guest is 5175c3ec676SGleb Smirnoff.Ox 5185c3ec676SGleb Smirnoffin UEFI mode. 5195c3ec676SGleb Smirnoff.Pp 5205c3ec676SGleb SmirnoffPlease refer to the 5215c3ec676SGleb Smirnoff.Nm 5225c3ec676SGleb Smirnoff.Fx 5235c3ec676SGleb Smirnoffwiki page 5245c3ec676SGleb Smirnoff.Pq Lk https://wiki.freebsd.org/bhyve 5255c3ec676SGleb Smirnofffor configuration notes of particular guests. 5265c3ec676SGleb Smirnoff.It wait 5275c3ec676SGleb SmirnoffInstruct 5285c3ec676SGleb Smirnoff.Nm 5298d56c805SYuri Pankovto only boot upon the initiation of a VNC connection, simplifying the 5308d56c805SYuri Pankovinstallation of operating systems that require immediate keyboard input. 5315c3ec676SGleb SmirnoffThis can be removed for post-installation use. 532f4d34383SMarcelo Araujo.It password 533f4d34383SMarcelo AraujoThis type of authentication is known to be cryptographically weak and is not 534f4d34383SMarcelo Araujointended for use on untrusted networks. 535f4d34383SMarcelo AraujoMany implementations will want to use stronger security, such as running 536f4d34383SMarcelo Araujothe session over an encrypted channel provided by IPsec or SSH. 5375c3ec676SGleb Smirnoff.El 5386c87a2c0SGleb Smirnoff.El 5396c87a2c0SGleb Smirnoff.Pp 5405c3ec676SGleb SmirnoffxHCI USB devices: 5415c3ec676SGleb Smirnoff.Bl -tag -width 10n 5425c3ec676SGleb Smirnoff.It Li tablet 5435c3ec676SGleb SmirnoffA USB tablet device which provides precise cursor synchronization 5445c3ec676SGleb Smirnoffwhen using VNC. 5456c87a2c0SGleb Smirnoff.El 546c066c68cSMarcelo Araujo.Pp 547c066c68cSMarcelo AraujoNVMe devices: 548c066c68cSMarcelo Araujo.Bl -tag -width 10n 549c066c68cSMarcelo Araujo.It Li devpath 550c066c68cSMarcelo AraujoAccepted device paths are: 551c066c68cSMarcelo Araujo.Ar /dev/blockdev 552c066c68cSMarcelo Araujoor 553c066c68cSMarcelo Araujo.Ar /path/to/image 554c066c68cSMarcelo Araujoor 555c066c68cSMarcelo Araujo.Ar ram=size_in_MiB . 556c066c68cSMarcelo Araujo.It Li maxq 557c066c68cSMarcelo AraujoMax number of queues. 558c066c68cSMarcelo Araujo.It Li qsz 559c066c68cSMarcelo AraujoMax elements in each queue. 560c066c68cSMarcelo Araujo.It Li ioslots 561c066c68cSMarcelo AraujoMax number of concurrent I/O requests. 562c066c68cSMarcelo Araujo.It Li sectsz 563c066c68cSMarcelo AraujoSector size (defaults to blockif sector size). 564c066c68cSMarcelo Araujo.It Li ser 565c066c68cSMarcelo AraujoSerial number with maximum 20 characters. 566c066c68cSMarcelo Araujo.El 56736f9f044SWarner Losh.Pp 5689af3bcd7SPeter GrehanAHCI devices: 5699af3bcd7SPeter Grehan.Bl -tag -width 10n 5709af3bcd7SPeter Grehan.It Li nmrr 5719af3bcd7SPeter GrehanNominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report. 5729af3bcd7SPeter Grehan.It Li ser 5739af3bcd7SPeter GrehanSerial Number with maximum 20 characters. 5749af3bcd7SPeter Grehan.It Li rev 5759af3bcd7SPeter GrehanRevision Number with maximum 8 characters. 5769af3bcd7SPeter Grehan.It Li model 5779af3bcd7SPeter GrehanModel Number with maximum 40 characters. 5789af3bcd7SPeter Grehan.El 5799af3bcd7SPeter Grehan.Pp 58036f9f044SWarner LoshHD Audio devices: 58136f9f044SWarner Losh.Bl -tag -width 10n 58236f9f044SWarner Losh.It Li play 58336f9f044SWarner LoshPlayback device, typically 58436f9f044SWarner Losh.Ar /dev/dsp0 . 58536f9f044SWarner Losh.It Li rec 58636f9f044SWarner LoshRecording device, typically 58736f9f044SWarner Losh.Ar /dev/dsp0 . 58836f9f044SWarner Losh.El 589b13e60daSPeter Grehan.El 5909b1aa8d6SNeel Natu.It Fl S 5919b1aa8d6SNeel NatuWire guest memory. 592c9747678SNeel Natu.It Fl u 593c9747678SNeel NatuRTC keeps UTC time. 5945749449dSJohn Baldwin.It Fl U Ar uuid 5955749449dSJohn BaldwinSet the universally unique identifier 5965749449dSJohn Baldwin.Pq UUID 5975749449dSJohn Baldwinin the guest's System Management BIOS System Information structure. 5985749449dSJohn BaldwinBy default a UUID is generated from the host's hostname and 5995749449dSJohn Baldwin.Ar vmname . 600851d84f1SNeel Natu.It Fl w 60184fe889cSChristian BruefferIgnore accesses to unimplemented Model Specific Registers (MSRs). 60284fe889cSChristian BruefferThis is intended for debug purposes. 603cde1f5b8SJohn Baldwin.It Fl W 604cde1f5b8SJohn BaldwinForce virtio PCI device emulations to use MSI interrupts instead of MSI-X 605cde1f5b8SJohn Baldwininterrupts. 6069777ca20SNeel Natu.It Fl x 6079777ca20SNeel NatuThe guest's local APIC is configured in x2APIC mode. 608b100acf2SNeel Natu.It Fl Y 609b100acf2SNeel NatuDisable MPtable generation. 610b13e60daSPeter Grehan.It Ar vmname 611b13e60daSPeter GrehanAlphanumeric name of the guest. 612b13e60daSPeter GrehanThis should be the same as that created by 613b13e60daSPeter Grehan.Xr bhyveload 8 . 614b13e60daSPeter Grehan.El 615*621b5090SJohn Baldwin.Sh CONFIGURATION VARIABLES 616*621b5090SJohn Baldwin.Nm 617*621b5090SJohn Baldwinuses an internal tree of configuration variables to describe global and 618*621b5090SJohn Baldwinper-device settings. 619*621b5090SJohn BaldwinWhen 620*621b5090SJohn Baldwin.Nm 621*621b5090SJohn Baldwinstarts, 622*621b5090SJohn Baldwinit parses command line options (including config files) in the order given 623*621b5090SJohn Baldwinon the command line. 624*621b5090SJohn BaldwinEach command line option sets one or more configuration variables. 625*621b5090SJohn BaldwinFor example, 626*621b5090SJohn Baldwinthe 627*621b5090SJohn Baldwin.Fl s 628*621b5090SJohn Baldwinoption creates a new tree node for a PCI device and sets one or more variables 629*621b5090SJohn Baldwinunder that node including the device model and device model-specific variables. 630*621b5090SJohn BaldwinVariables may be set multiple times during this parsing stage with the final 631*621b5090SJohn Baldwinvalue overriding previous values. 632*621b5090SJohn Baldwin.Pp 633*621b5090SJohn BaldwinOnce all of the command line options have been processed, 634*621b5090SJohn Baldwinthe configuration values are frozen. 635*621b5090SJohn Baldwin.Nm 636*621b5090SJohn Baldwinthen uses the value of configuration values to initialize device models 637*621b5090SJohn Baldwinand global settings. 638*621b5090SJohn Baldwin.Pp 639*621b5090SJohn BaldwinMore details on configuration variables can be found in 640*621b5090SJohn Baldwin.Xr bhyve_config 5 . 641cd377eb3SJohn Baldwin.Sh DEBUG SERVER 642cd377eb3SJohn BaldwinThe current debug server provides limited support for debuggers. 643cd377eb3SJohn Baldwin.Ss Registers 644cd377eb3SJohn BaldwinEach virtual CPU is exposed to the debugger as a thread. 645cd377eb3SJohn Baldwin.Pp 646cd377eb3SJohn BaldwinGeneral purpose registers can be queried for each virtual CPU, but other 647cd377eb3SJohn Baldwinregisters such as floating-point and system registers cannot be queried. 648cd377eb3SJohn Baldwin.Ss Memory 649976ba8c6SJohn BaldwinMemory (including memory mapped I/O regions) can be read and written by the debugger. 6508d56c805SYuri PankovMemory operations use virtual addresses that are resolved to physical addresses 6518d56c805SYuri Pankovvia the current virtual CPU's active address translation. 652cd377eb3SJohn Baldwin.Ss Control 653cd377eb3SJohn BaldwinThe running guest can be interrupted by the debugger at any time 654cd377eb3SJohn Baldwin.Pq for example, by pressing Ctrl-C in the debugger . 655cd377eb3SJohn Baldwin.Pp 656cd377eb3SJohn BaldwinSingle stepping is only supported on Intel CPUs supporting the MTRAP VM exit. 657cd377eb3SJohn Baldwin.Pp 658cbd03a9dSJohn BaldwinBreakpoints are supported on Intel CPUs that support single stepping. 659cbd03a9dSJohn BaldwinNote that continuing from a breakpoint while interrupts are enabled in the 660cbd03a9dSJohn Baldwinguest may not work as expected due to timer interrupts firing while single 661cbd03a9dSJohn Baldwinstepping over the breakpoint. 662c2202d41SRoman Bogorodskiy.Sh SIGNAL HANDLING 663c2202d41SRoman Bogorodskiy.Nm 664c2202d41SRoman Bogorodskiydeals with the following signals: 665c2202d41SRoman Bogorodskiy.Pp 666c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact 667c2202d41SRoman Bogorodskiy.It SIGTERM 668c2202d41SRoman BogorodskiyTrigger ACPI poweroff for a VM 669c2202d41SRoman Bogorodskiy.El 670c2202d41SRoman Bogorodskiy.Sh EXIT STATUS 671c2202d41SRoman BogorodskiyExit status indicates how the VM was terminated: 672c2202d41SRoman Bogorodskiy.Pp 673c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact 674c2202d41SRoman Bogorodskiy.It 0 675c2202d41SRoman Bogorodskiyrebooted 676c2202d41SRoman Bogorodskiy.It 1 677c2202d41SRoman Bogorodskiypowered off 678c2202d41SRoman Bogorodskiy.It 2 679c2202d41SRoman Bogorodskiyhalted 680c2202d41SRoman Bogorodskiy.It 3 681c2202d41SRoman Bogorodskiytriple fault 682989e062bSMarcelo Araujo.It 4 683989e062bSMarcelo Araujoexited due to an error 684c2202d41SRoman Bogorodskiy.El 685b13e60daSPeter Grehan.Sh EXAMPLES 6865c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must have been loaded with 68784fe889cSChristian Brueffer.Xr bhyveload 8 688b13e60daSPeter Grehanor a similar boot loader before 689b13e60daSPeter Grehan.Xr bhyve 4 690b13e60daSPeter Grehancan be run. 6915c3ec676SGleb SmirnoffOtherwise, the boot loader is not needed. 692b13e60daSPeter Grehan.Pp 693b13e60daSPeter GrehanTo run a virtual machine with 1GB of memory, two virtual CPUs, a virtio 694b13e60daSPeter Grehanblock device backed by the 695b13e60daSPeter Grehan.Pa /my/image 696b13e60daSPeter Grehanfilesystem image, and a serial port for the console: 697b13e60daSPeter Grehan.Bd -literal -offset indent 698b13e60daSPeter Grehanbhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\ 699b13e60daSPeter Grehan -l com1,stdio -A -H -P -m 1G vm1 700b13e60daSPeter Grehan.Ed 701b13e60daSPeter Grehan.Pp 702b13e60daSPeter GrehanRun a 24GB single-CPU virtual machine with three network ports, one of which 703b13e60daSPeter Grehanhas a MAC address specified: 704b13e60daSPeter Grehan.Bd -literal -offset indent 705b13e60daSPeter Grehanbhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ 706b13e60daSPeter Grehan -s 2:1,virtio-net,tap1 \\ 707b13e60daSPeter Grehan -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\ 708b13e60daSPeter Grehan -s 3,virtio-blk,/my/image -l com1,stdio \\ 709b13e60daSPeter Grehan -A -H -P -m 24G bigvm 710b13e60daSPeter Grehan.Ed 711b13e60daSPeter Grehan.Pp 712b13e60daSPeter GrehanRun an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI 713b13e60daSPeter GrehanCD-ROM, a single virtio network port, an AMD hostbridge, and the console 714b13e60daSPeter Grehanport connected to an 715b13e60daSPeter Grehan.Xr nmdm 4 71684fe889cSChristian Brueffernull-modem device. 717b13e60daSPeter Grehan.Bd -literal -offset indent 718a7ab1463SAlexander Motinbhyve -c 4 \\ 719b13e60daSPeter Grehan -s 0,amd_hostbridge -s 1,lpc \\ 720098f5155SAlexander Motin -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\ 721098f5155SAlexander Motinhd:/images/disk.3,hd:/images/disk.4,\\ 722098f5155SAlexander Motinhd:/images/disk.5,hd:/images/disk.6,\\ 723098f5155SAlexander Motinhd:/images/disk.7,hd:/images/disk.8,\\ 724098f5155SAlexander Motincd:/images/install.iso \\ 725b13e60daSPeter Grehan -s 3,virtio-net,tap0 \\ 726b13e60daSPeter Grehan -l com1,/dev/nmdm0A \\ 727b13e60daSPeter Grehan -A -H -P -m 8G 728b13e60daSPeter Grehan.Ed 7295c3ec676SGleb Smirnoff.Pp 7305c3ec676SGleb SmirnoffRun a UEFI virtual machine with a display resolution of 800 by 600 pixels 7315c3ec676SGleb Smirnoffthat can be accessed via VNC at: 0.0.0.0:5900. 7325c3ec676SGleb Smirnoff.Bd -literal -offset indent 7335c3ec676SGleb Smirnoffbhyve -c 2 -m 4G -w -H \\ 7345c3ec676SGleb Smirnoff -s 0,hostbridge \\ 7355c3ec676SGleb Smirnoff -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\ 7365c3ec676SGleb Smirnoff -s 4,ahci-hd,disk.img \\ 7375c3ec676SGleb Smirnoff -s 5,virtio-net,tap0 \\ 7385c3ec676SGleb Smirnoff -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\ 7395c3ec676SGleb Smirnoff -s 30,xhci,tablet \\ 7405c3ec676SGleb Smirnoff -s 31,lpc -l com1,stdio \\ 7415c3ec676SGleb Smirnoff -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\ 7425c3ec676SGleb Smirnoff uefivm 7435c3ec676SGleb Smirnoff.Ed 7448883128bSBjoern A. Zeeb.Pp 7458883128bSBjoern A. ZeebRun a UEFI virtual machine with a VNC display that is bound to all IPv6 7468883128bSBjoern A. Zeebaddresses on port 5900. 7478883128bSBjoern A. Zeeb.Bd -literal -offset indent 7488883128bSBjoern A. Zeebbhyve -c 2 -m 4G -w -H \\ 7498883128bSBjoern A. Zeeb -s 0,hostbridge \\ 7508883128bSBjoern A. Zeeb -s 4,ahci-hd,disk.img \\ 7518883128bSBjoern A. Zeeb -s 5,virtio-net,tap0 \\ 7528883128bSBjoern A. Zeeb -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\ 7538883128bSBjoern A. Zeeb -s 30,xhci,tablet \\ 7548883128bSBjoern A. Zeeb -s 31,lpc -l com1,stdio \\ 7558883128bSBjoern A. Zeeb -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\ 7568883128bSBjoern A. Zeeb uefivm 7578883128bSBjoern A. Zeeb.Ed 758b13e60daSPeter Grehan.Sh SEE ALSO 759b13e60daSPeter Grehan.Xr bhyve 4 , 760e90337e4SAleksandr Fedorov.Xr netgraph 4 , 761e90337e4SAleksandr Fedorov.Xr ng_socket 4 , 762b13e60daSPeter Grehan.Xr nmdm 4 , 763b13e60daSPeter Grehan.Xr vmm 4 , 764*621b5090SJohn Baldwin.Xr bhyve_config 5 , 765b13e60daSPeter Grehan.Xr ethers 5 , 76605f7cd8bSJoel Dahl.Xr bhyvectl 8 , 76705f7cd8bSJoel Dahl.Xr bhyveload 8 7688d56c805SYuri Pankov.Pp 7698d56c805SYuri Pankov.Rs 7708d56c805SYuri Pankov.%A Intel 7718d56c805SYuri Pankov.%B 64 and IA-32 Architectures Software Developer’s Manual 7728d56c805SYuri Pankov.%V Volume 3 7738d56c805SYuri Pankov.Re 774b13e60daSPeter Grehan.Sh HISTORY 775b13e60daSPeter Grehan.Nm 776b13e60daSPeter Grehanfirst appeared in 777b13e60daSPeter Grehan.Fx 10.0 . 778b13e60daSPeter Grehan.Sh AUTHORS 77901c2b8acSBaptiste Daroussin.An Neel Natu Aq Mt neel@freebsd.org 78001c2b8acSBaptiste Daroussin.An Peter Grehan Aq Mt grehan@freebsd.org 781