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 229*b24eea8cSMateusz Piotrowski.Fl s 230483d953aSJohn Baldwinand 231*b24eea8cSMateusz 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. 2361aa56353SMarcelo Araujo.It Fl s Op Ar help|slot,emulation Ns Op , Ns Ar conf 237b13e60daSPeter GrehanConfigure a virtual PCI slot and function. 238b13e60daSPeter Grehan.Pp 23984fe889cSChristian Brueffer.Nm 240b13e60daSPeter Grehanprovides PCI bus emulation and virtual devices that can be attached to 241b13e60daSPeter Grehanslots on the bus. 242b13e60daSPeter GrehanThere are 32 available slots, with the option of providing up to 8 functions 243b13e60daSPeter Grehanper slot. 244b13e60daSPeter Grehan.Bl -tag -width 10n 2451aa56353SMarcelo Araujo.It Ar help 2461aa56353SMarcelo Araujoprint a list of supported PCI devices. 247b13e60daSPeter Grehan.It Ar slot 24806db1b4aSNeel Natu.Ar pcislot[:function] 24906db1b4aSNeel Natu.Ar bus:pcislot:function 250b13e60daSPeter Grehan.Pp 251b13e60daSPeter GrehanThe 252b13e60daSPeter Grehan.Ar pcislot 25384fe889cSChristian Brueffervalue is 0 to 31. 25484fe889cSChristian BruefferThe optional 25584fe889cSChristian Brueffer.Ar function 25684fe889cSChristian Brueffervalue is 0 to 7. 25784fe889cSChristian BruefferThe optional 25806db1b4aSNeel Natu.Ar bus 25906db1b4aSNeel Natuvalue is 0 to 255. 26084fe889cSChristian BruefferIf not specified, the 26184fe889cSChristian Brueffer.Ar function 26284fe889cSChristian Brueffervalue defaults to 0. 26384fe889cSChristian BruefferIf not specified, the 26484fe889cSChristian Brueffer.Ar bus 26584fe889cSChristian Brueffervalue defaults to 0. 266b13e60daSPeter Grehan.It Ar emulation 267b13e60daSPeter Grehan.Bl -tag -width 10n 268b13e60daSPeter Grehan.It Li hostbridge | Li amd_hostbridge 269b13e60daSPeter Grehan.Pp 270b13e60daSPeter GrehanProvide a simple host bridge. 271b13e60daSPeter GrehanThis is usually configured at slot 0, and is required by most guest 272b13e60daSPeter Grehanoperating systems. 273b13e60daSPeter GrehanThe 274b13e60daSPeter Grehan.Li amd_hostbridge 275b13e60daSPeter Grehanemulation is identical but uses a PCI vendor ID of 276b13e60daSPeter Grehan.Li AMD . 277b13e60daSPeter Grehan.It Li passthru 278b13e60daSPeter GrehanPCI pass-through device. 279b13e60daSPeter Grehan.It Li virtio-net 280b13e60daSPeter GrehanVirtio network interface. 281a8be8e5eSRemko Lodder.It Li virtio-blk 282b13e60daSPeter GrehanVirtio block storage interface. 283f9c005a1SMarcelo Araujo.It Li virtio-scsi 284f9c005a1SMarcelo AraujoVirtio SCSI interface. 285100353cfSJakub Wojciech Klama.It Li virtio-9p 286100353cfSJakub Wojciech KlamaVirtio 9p (VirtFS) interface. 2879d0c4e17SPeter Grehan.It Li virtio-rnd 2889d0c4e17SPeter GrehanVirtio RNG interface. 2895121b6ccSRoman Bogorodskiy.It Li virtio-console 2905121b6ccSRoman BogorodskiyVirtio console interface, which exposes multiple ports 2915121b6ccSRoman Bogorodskiyto the guest in the form of simple char devices for simple IO 2925121b6ccSRoman Bogorodskiybetween the guest and host userspaces. 293098f5155SAlexander Motin.It Li ahci 294d6099860SMaxim KonovalovAHCI controller attached to arbitrary devices. 295b13e60daSPeter Grehan.It Li ahci-cd 296b13e60daSPeter GrehanAHCI controller attached to an ATAPI CD/DVD. 297b13e60daSPeter Grehan.It Li ahci-hd 298b13e60daSPeter GrehanAHCI controller attached to a SATA hard-drive. 2999e749f25SAlexander Motin.It Li e1000 3009e749f25SAlexander MotinIntel e82545 network interface. 301b13e60daSPeter Grehan.It Li uart 302b13e60daSPeter GrehanPCI 16550 serial device. 303b13e60daSPeter Grehan.It Li lpc 3042f40fc6fSPeter GrehanLPC PCI-ISA bridge with COM1 and COM2 16550 serial ports, a boot ROM, and, 3052f40fc6fSPeter Grehanoptionally, the debug/test device. 3069b1aa8d6SNeel NatuThe LPC bridge emulation can only be configured on bus 0. 3076c87a2c0SGleb Smirnoff.It Li fbuf 3086c87a2c0SGleb SmirnoffRaw framebuffer device attached to VNC server. 3096c87a2c0SGleb Smirnoff.It Li xhci 3105c3ec676SGleb SmirnoffeXtensible Host Controller Interface (xHCI) USB controller. 311c066c68cSMarcelo Araujo.It Li nvme 312c066c68cSMarcelo AraujoNVM Express (NVMe) controller. 31336f9f044SWarner Losh.It Li hda 31436f9f044SWarner LoshHigh Definition Audio Controller. 315b13e60daSPeter Grehan.El 316b13e60daSPeter Grehan.It Op Ar conf 317b13e60daSPeter GrehanThis optional parameter describes the backend for device emulations. 318b13e60daSPeter GrehanIf 319b13e60daSPeter Grehan.Ar conf 320b13e60daSPeter Grehanis not specified, the device emulation has no backend and can be 321b13e60daSPeter Grehanconsidered unconnected. 322b13e60daSPeter Grehan.Pp 323e90337e4SAleksandr FedorovNetwork backends: 324b13e60daSPeter Grehan.Bl -tag -width 10n 325692dbfe9SVincenzo Maffione.It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc 326692dbfe9SVincenzo Maffione.It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc 327e90337e4SAleksandr 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 328b13e60daSPeter Grehan.Pp 329b13e60daSPeter GrehanIf 330b13e60daSPeter Grehan.Ar mac 331b13e60daSPeter Grehanis not specified, the MAC address is derived from a fixed OUI and the 332b13e60daSPeter Grehanremaining bytes from an MD5 hash of the slot and function numbers and 333b13e60daSPeter Grehanthe device name. 334b13e60daSPeter Grehan.Pp 335b13e60daSPeter GrehanThe MAC address is an ASCII string in 336b13e60daSPeter Grehan.Xr ethers 5 337b13e60daSPeter Grehanformat. 338692dbfe9SVincenzo Maffione.Pp 339692dbfe9SVincenzo MaffioneWith virtio-net devices, the 340692dbfe9SVincenzo Maffione.Ar mtu 341692dbfe9SVincenzo Maffioneparameter can be specified to inform the guest about the largest MTU 342692dbfe9SVincenzo Maffionethat should be allowed, expressed in bytes. 343e90337e4SAleksandr Fedorov.Pp 344e90337e4SAleksandr FedorovWith netgraph backend, the 345e90337e4SAleksandr Fedorov.Ar path 346e90337e4SAleksandr Fedorovand 347e90337e4SAleksandr Fedorov.Ar peerhook 348e90337e4SAleksandr Fedorovparameters must be specified to set the destination node and corresponding hook. 349e90337e4SAleksandr FedorovThe optional parameters 350e90337e4SAleksandr Fedorov.Ar socket 351e90337e4SAleksandr Fedorovand 352e90337e4SAleksandr Fedorov.Ar hook 353e90337e4SAleksandr Fedorovmay be used to set the 354e90337e4SAleksandr Fedorov.Xr ng_socket 4 355e90337e4SAleksandr Fedorovnode name and source hook. 356e90337e4SAleksandr FedorovThe 357e90337e4SAleksandr Fedorov.Ar ADDRESS , 358e90337e4SAleksandr Fedorov.Ar HOOK 359e90337e4SAleksandr Fedorovand 360e90337e4SAleksandr Fedorov.Ar NAME 361e90337e4SAleksandr Fedorovmust comply with 362e90337e4SAleksandr Fedorov.Xr netgraph 4 363e90337e4SAleksandr Fedorovaddressing rules. 364b13e60daSPeter Grehan.El 365b13e60daSPeter Grehan.Pp 366b13e60daSPeter GrehanBlock storage devices: 367b13e60daSPeter Grehan.Bl -tag -width 10n 3684e43c1e8SNeel Natu.It Pa /filename Ns Oo , Ns Ar block-device-options Oc 3694e43c1e8SNeel Natu.It Pa /dev/xxx Ns Oo , Ns Ar block-device-options Oc 3704e43c1e8SNeel Natu.El 3714e43c1e8SNeel Natu.Pp 3724e43c1e8SNeel NatuThe 3734e43c1e8SNeel Natu.Ar block-device-options 3744e43c1e8SNeel Natuare: 375b13e60daSPeter Grehan.Bl -tag -width 8n 376b13e60daSPeter Grehan.It Li nocache 377b13e60daSPeter GrehanOpen the file with 378b13e60daSPeter Grehan.Dv O_DIRECT . 379b13e60daSPeter Grehan.It Li direct 380b13e60daSPeter GrehanOpen the file using 381b13e60daSPeter Grehan.Dv O_SYNC . 382b13e60daSPeter Grehan.It Li ro 383b13e60daSPeter GrehanForce the file to be opened read-only. 3844e43c1e8SNeel Natu.It Li sectorsize= Ns Ar logical Ns Oo / Ns Ar physical Oc 3854e43c1e8SNeel NatuSpecify the logical and physical sector sizes of the emulated disk. 3864e43c1e8SNeel NatuThe physical sector size is optional and is equal to the logical sector size 3874e43c1e8SNeel Natuif not explicitly specified. 3882c8bb126SAllan Jude.It Li nodelete 389e6d795d1SAllan JudeDisable emulation of guest trim requests via 390e6d795d1SAllan Jude.Dv DIOCGDELETE 391e6d795d1SAllan Juderequests. 392b13e60daSPeter Grehan.El 393b13e60daSPeter Grehan.Pp 394f9c005a1SMarcelo AraujoSCSI devices: 395f9c005a1SMarcelo Araujo.Bl -tag -width 10n 39649f87822SAlexander Motin.It Pa /dev/cam/ctl Ns Oo Ar pp . Ns Ar vp Oc Ns Oo , Ns Ar scsi-device-options Oc 39749f87822SAlexander Motin.El 39849f87822SAlexander Motin.Pp 39949f87822SAlexander MotinThe 40049f87822SAlexander Motin.Ar scsi-device-options 40149f87822SAlexander Motinare: 40249f87822SAlexander Motin.Bl -tag -width 10n 40349f87822SAlexander Motin.It Li iid= Ns Ar IID 40449f87822SAlexander MotinInitiator ID to use when sending requests to specified CTL port. 40549f87822SAlexander MotinThe default value is 0. 406f9c005a1SMarcelo Araujo.El 407f9c005a1SMarcelo Araujo.Pp 408100353cfSJakub Wojciech Klama9P devices: 409100353cfSJakub Wojciech Klama.Bl -tag -width 10n 410100353cfSJakub Wojciech Klama.It Pa sharename=/path/to/share[,9p-device-options] 411100353cfSJakub Wojciech Klama.El 412100353cfSJakub Wojciech Klama.Pp 413100353cfSJakub Wojciech KlamaThe 414100353cfSJakub Wojciech Klama.Ar 9p-device-options 415100353cfSJakub Wojciech Klamaare: 416100353cfSJakub Wojciech Klama.Bl -tag -width 10n 417100353cfSJakub Wojciech Klama.It Li ro 418100353cfSJakub Wojciech KlamaExpose the share in read-only mode. 419100353cfSJakub Wojciech Klama.El 420100353cfSJakub Wojciech Klama.Pp 421b13e60daSPeter GrehanTTY devices: 422b13e60daSPeter Grehan.Bl -tag -width 10n 423b13e60daSPeter Grehan.It Li stdio 424b13e60daSPeter GrehanConnect the serial port to the standard input and output of 42584fe889cSChristian Bruefferthe 42684fe889cSChristian Brueffer.Nm 42784fe889cSChristian Bruefferprocess. 428b13e60daSPeter Grehan.It Pa /dev/xxx 429b13e60daSPeter GrehanUse the host TTY device for serial port I/O. 430b13e60daSPeter Grehan.El 431b13e60daSPeter Grehan.Pp 4329b1aa8d6SNeel NatuBoot ROM device: 4339b1aa8d6SNeel Natu.Bl -tag -width 10n 4349b1aa8d6SNeel Natu.It Pa romfile 4359b1aa8d6SNeel NatuMap 4369b1aa8d6SNeel Natu.Ar romfile 4379b1aa8d6SNeel Natuin the guest address space reserved for boot firmware. 4389b1aa8d6SNeel Natu.El 4399b1aa8d6SNeel Natu.Pp 440b13e60daSPeter GrehanPass-through devices: 441b13e60daSPeter Grehan.Bl -tag -width 10n 442b13e60daSPeter Grehan.It Ns Ar slot Ns / Ns Ar bus Ns / Ns Ar function 443b13e60daSPeter GrehanConnect to a PCI device on the host at the selector described by 444b13e60daSPeter Grehan.Ar slot , 445b13e60daSPeter Grehan.Ar bus , 446b13e60daSPeter Grehanand 447b13e60daSPeter Grehan.Ar function 448b13e60daSPeter Grehannumbers. 449b13e60daSPeter Grehan.El 450b13e60daSPeter Grehan.Pp 4519b1aa8d6SNeel NatuGuest memory must be wired using the 4529b1aa8d6SNeel Natu.Fl S 4539b1aa8d6SNeel Natuoption when a pass-through device is configured. 4549b1aa8d6SNeel Natu.Pp 455b13e60daSPeter GrehanThe host device must have been reserved at boot-time using the 456a9258f9bSWarren Block.Va pptdevs 457b13e60daSPeter Grehanloader variable as described in 458b13e60daSPeter Grehan.Xr vmm 4 . 4595121b6ccSRoman Bogorodskiy.Pp 4605121b6ccSRoman BogorodskiyVirtio console devices: 4615121b6ccSRoman Bogorodskiy.Bl -tag -width 10n 4625121b6ccSRoman Bogorodskiy.It Li port1= Ns Pa /path/to/port1.sock Ns ,anotherport= Ns Pa ... 4635121b6ccSRoman BogorodskiyA maximum of 16 ports per device can be created. 4645121b6ccSRoman BogorodskiyEvery port is named and corresponds to a Unix domain socket created by 4655121b6ccSRoman Bogorodskiy.Nm . 4665121b6ccSRoman Bogorodskiy.Nm 4675121b6ccSRoman Bogorodskiyaccepts at most one connection per port at a time. 4685121b6ccSRoman Bogorodskiy.Pp 4695121b6ccSRoman BogorodskiyLimitations: 4705121b6ccSRoman Bogorodskiy.Bl -bullet -offset 2n 4715121b6ccSRoman Bogorodskiy.It 4725121b6ccSRoman BogorodskiyDue to lack of destructors in 4735121b6ccSRoman Bogorodskiy.Nm , 4745121b6ccSRoman Bogorodskiysockets on the filesystem must be cleaned up manually after 4755121b6ccSRoman Bogorodskiy.Nm 4765121b6ccSRoman Bogorodskiyexits. 4775121b6ccSRoman Bogorodskiy.It 4785121b6ccSRoman BogorodskiyThere is no way to use the "console port" feature, nor the console port 4790ee3a4b4SRoman Bogorodskiyresize at present. 4805121b6ccSRoman Bogorodskiy.It 4810ee3a4b4SRoman BogorodskiyEmergency write is advertised, but no-op at present. 4825121b6ccSRoman Bogorodskiy.El 4835121b6ccSRoman Bogorodskiy.El 4846c87a2c0SGleb Smirnoff.Pp 4855c3ec676SGleb SmirnoffFramebuffer devices: 4865c3ec676SGleb Smirnoff.Bl -tag -width 10n 4878d56c805SYuri Pankov.It Xo 4888d56c805SYuri Pankov.Oo rfb= Ns Oo Ar IP\&: Oc Ns Ar port Oc Ns Oo ,w= Ns Ar width Oc Ns Oo ,h= Ns 4898d56c805SYuri Pankov.Ar height Oc Ns Oo ,vga= Ns Ar vgaconf Oc Ns Oo Ns ,wait Oc Ns Oo ,password= Ns 4908d56c805SYuri Pankov.Ar password Oc 4918d56c805SYuri Pankov.Xc 4925c3ec676SGleb Smirnoff.Bl -tag -width 8n 4938883128bSBjoern A. Zeeb.It Ar IPv4:port No or Ar [IPv6%zone]:port 4945c3ec676SGleb SmirnoffAn 4955c3ec676SGleb Smirnoff.Ar IP 4965c3ec676SGleb Smirnoffaddress and a 4975c3ec676SGleb Smirnoff.Ar port 4985c3ec676SGleb SmirnoffVNC should listen on. 4996c87a2c0SGleb SmirnoffThe default is to listen on localhost IPv4 address and default VNC port 5900. 5008883128bSBjoern A. ZeebAn IPv6 address must be enclosed in square brackets and may contain an 5017d9545fcSRodney W. Grimesoptional zone identifier. 5025c3ec676SGleb Smirnoff.It Ar width No and Ar height 5035c3ec676SGleb SmirnoffA display resolution, width and height, respectively. 5045c3ec676SGleb SmirnoffIf not specified, a default resolution of 1024x768 pixels will be used. 5055c3ec676SGleb SmirnoffMinimal supported resolution is 640x480 pixels, 5065c3ec676SGleb Smirnoffand maximum is 1920x1200 pixels. 5075c3ec676SGleb Smirnoff.It Ar vgaconf 5085c3ec676SGleb SmirnoffPossible values for this option are 5095c3ec676SGleb Smirnoff.Dq io 5105c3ec676SGleb Smirnoff(default), 5115c3ec676SGleb Smirnoff.Dq on 5125c3ec676SGleb Smirnoff, and 5135c3ec676SGleb Smirnoff.Dq off . 5145c3ec676SGleb SmirnoffPCI graphics cards have a dual personality in that they are 5155c3ec676SGleb Smirnoffstandard PCI devices with BAR addressing, but may also 5165c3ec676SGleb Smirnoffimplicitly decode legacy VGA I/O space 5175c3ec676SGleb Smirnoff.Pq Ad 0x3c0-3df 5185c3ec676SGleb Smirnoffand memory space 5195c3ec676SGleb Smirnoff.Pq 64KB at Ad 0xA0000 . 5205c3ec676SGleb SmirnoffThe default 5215c3ec676SGleb Smirnoff.Dq io 5228d56c805SYuri Pankovoption should be used for guests that attempt to issue BIOS calls which result 5238d56c805SYuri Pankovin I/O port queries, and fail to boot if I/O decode is disabled. 5245c3ec676SGleb Smirnoff.Pp 5255c3ec676SGleb SmirnoffThe 5265c3ec676SGleb Smirnoff.Dq on 5275c3ec676SGleb Smirnoffoption should be used along with the CSM BIOS capability in UEFI 5285c3ec676SGleb Smirnoffto boot traditional BIOS guests that require the legacy VGA I/O and 5295c3ec676SGleb Smirnoffmemory regions to be available. 5305c3ec676SGleb Smirnoff.Pp 5315c3ec676SGleb SmirnoffThe 5325c3ec676SGleb Smirnoff.Dq off 5335c3ec676SGleb Smirnoffoption should be used for the UEFI guests that assume that 5345c3ec676SGleb SmirnoffVGA adapter is present if they detect the I/O ports. 5355c3ec676SGleb SmirnoffAn example of such a guest is 5365c3ec676SGleb Smirnoff.Ox 5375c3ec676SGleb Smirnoffin UEFI mode. 5385c3ec676SGleb Smirnoff.Pp 5395c3ec676SGleb SmirnoffPlease refer to the 5405c3ec676SGleb Smirnoff.Nm 5415c3ec676SGleb Smirnoff.Fx 5425c3ec676SGleb Smirnoffwiki page 5435c3ec676SGleb Smirnoff.Pq Lk https://wiki.freebsd.org/bhyve 5445c3ec676SGleb Smirnofffor configuration notes of particular guests. 5455c3ec676SGleb Smirnoff.It wait 5465c3ec676SGleb SmirnoffInstruct 5475c3ec676SGleb Smirnoff.Nm 5488d56c805SYuri Pankovto only boot upon the initiation of a VNC connection, simplifying the 5498d56c805SYuri Pankovinstallation of operating systems that require immediate keyboard input. 5505c3ec676SGleb SmirnoffThis can be removed for post-installation use. 551f4d34383SMarcelo Araujo.It password 552f4d34383SMarcelo AraujoThis type of authentication is known to be cryptographically weak and is not 553f4d34383SMarcelo Araujointended for use on untrusted networks. 554f4d34383SMarcelo AraujoMany implementations will want to use stronger security, such as running 555f4d34383SMarcelo Araujothe session over an encrypted channel provided by IPsec or SSH. 5565c3ec676SGleb Smirnoff.El 5576c87a2c0SGleb Smirnoff.El 5586c87a2c0SGleb Smirnoff.Pp 5595c3ec676SGleb SmirnoffxHCI USB devices: 5605c3ec676SGleb Smirnoff.Bl -tag -width 10n 5615c3ec676SGleb Smirnoff.It Li tablet 5625c3ec676SGleb SmirnoffA USB tablet device which provides precise cursor synchronization 5635c3ec676SGleb Smirnoffwhen using VNC. 5646c87a2c0SGleb Smirnoff.El 565c066c68cSMarcelo Araujo.Pp 566c066c68cSMarcelo AraujoNVMe devices: 567c066c68cSMarcelo Araujo.Bl -tag -width 10n 568c066c68cSMarcelo Araujo.It Li devpath 569c066c68cSMarcelo AraujoAccepted device paths are: 570c066c68cSMarcelo Araujo.Ar /dev/blockdev 571c066c68cSMarcelo Araujoor 572c066c68cSMarcelo Araujo.Ar /path/to/image 573c066c68cSMarcelo Araujoor 574c066c68cSMarcelo Araujo.Ar ram=size_in_MiB . 575c066c68cSMarcelo Araujo.It Li maxq 576c066c68cSMarcelo AraujoMax number of queues. 577c066c68cSMarcelo Araujo.It Li qsz 578c066c68cSMarcelo AraujoMax elements in each queue. 579c066c68cSMarcelo Araujo.It Li ioslots 580c066c68cSMarcelo AraujoMax number of concurrent I/O requests. 581c066c68cSMarcelo Araujo.It Li sectsz 582c066c68cSMarcelo AraujoSector size (defaults to blockif sector size). 583c066c68cSMarcelo Araujo.It Li ser 584c066c68cSMarcelo AraujoSerial number with maximum 20 characters. 585c066c68cSMarcelo Araujo.El 58636f9f044SWarner Losh.Pp 5879af3bcd7SPeter GrehanAHCI devices: 5889af3bcd7SPeter Grehan.Bl -tag -width 10n 5899af3bcd7SPeter Grehan.It Li nmrr 5909af3bcd7SPeter GrehanNominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report. 5919af3bcd7SPeter Grehan.It Li ser 5929af3bcd7SPeter GrehanSerial Number with maximum 20 characters. 5939af3bcd7SPeter Grehan.It Li rev 5949af3bcd7SPeter GrehanRevision Number with maximum 8 characters. 5959af3bcd7SPeter Grehan.It Li model 5969af3bcd7SPeter GrehanModel Number with maximum 40 characters. 5979af3bcd7SPeter Grehan.El 5989af3bcd7SPeter Grehan.Pp 59936f9f044SWarner LoshHD Audio devices: 60036f9f044SWarner Losh.Bl -tag -width 10n 60136f9f044SWarner Losh.It Li play 60236f9f044SWarner LoshPlayback device, typically 60336f9f044SWarner Losh.Ar /dev/dsp0 . 60436f9f044SWarner Losh.It Li rec 60536f9f044SWarner LoshRecording device, typically 60636f9f044SWarner Losh.Ar /dev/dsp0 . 60736f9f044SWarner Losh.El 608b13e60daSPeter Grehan.El 6095749449dSJohn Baldwin.It Fl U Ar uuid 6105749449dSJohn BaldwinSet the universally unique identifier 6115749449dSJohn Baldwin.Pq UUID 6125749449dSJohn Baldwinin the guest's System Management BIOS System Information structure. 6135749449dSJohn BaldwinBy default a UUID is generated from the host's hostname and 6145749449dSJohn Baldwin.Ar vmname . 615ccb1c87aSMateusz Piotrowski.It Fl u 616ccb1c87aSMateusz PiotrowskiRTC keeps UTC time. 617cde1f5b8SJohn Baldwin.It Fl W 618cde1f5b8SJohn BaldwinForce virtio PCI device emulations to use MSI interrupts instead of MSI-X 619cde1f5b8SJohn Baldwininterrupts. 620ccb1c87aSMateusz Piotrowski.It Fl w 621ccb1c87aSMateusz PiotrowskiIgnore accesses to unimplemented Model Specific Registers (MSRs). 622ccb1c87aSMateusz PiotrowskiThis is intended for debug purposes. 6239777ca20SNeel Natu.It Fl x 6249777ca20SNeel NatuThe guest's local APIC is configured in x2APIC mode. 625b100acf2SNeel Natu.It Fl Y 626b100acf2SNeel NatuDisable MPtable generation. 627b13e60daSPeter Grehan.It Ar vmname 628b13e60daSPeter GrehanAlphanumeric name of the guest. 629b13e60daSPeter GrehanThis should be the same as that created by 630b13e60daSPeter Grehan.Xr bhyveload 8 . 631b13e60daSPeter Grehan.El 632621b5090SJohn Baldwin.Sh CONFIGURATION VARIABLES 633621b5090SJohn Baldwin.Nm 634621b5090SJohn Baldwinuses an internal tree of configuration variables to describe global and 635621b5090SJohn Baldwinper-device settings. 636621b5090SJohn BaldwinWhen 637621b5090SJohn Baldwin.Nm 638621b5090SJohn Baldwinstarts, 639621b5090SJohn Baldwinit parses command line options (including config files) in the order given 640621b5090SJohn Baldwinon the command line. 641621b5090SJohn BaldwinEach command line option sets one or more configuration variables. 642621b5090SJohn BaldwinFor example, 643621b5090SJohn Baldwinthe 644621b5090SJohn Baldwin.Fl s 645621b5090SJohn Baldwinoption creates a new tree node for a PCI device and sets one or more variables 646621b5090SJohn Baldwinunder that node including the device model and device model-specific variables. 647621b5090SJohn BaldwinVariables may be set multiple times during this parsing stage with the final 648621b5090SJohn Baldwinvalue overriding previous values. 649621b5090SJohn Baldwin.Pp 650621b5090SJohn BaldwinOnce all of the command line options have been processed, 651621b5090SJohn Baldwinthe configuration values are frozen. 652621b5090SJohn Baldwin.Nm 653621b5090SJohn Baldwinthen uses the value of configuration values to initialize device models 654621b5090SJohn Baldwinand global settings. 655621b5090SJohn Baldwin.Pp 656621b5090SJohn BaldwinMore details on configuration variables can be found in 657621b5090SJohn Baldwin.Xr bhyve_config 5 . 658cd377eb3SJohn Baldwin.Sh DEBUG SERVER 659cd377eb3SJohn BaldwinThe current debug server provides limited support for debuggers. 660cd377eb3SJohn Baldwin.Ss Registers 661cd377eb3SJohn BaldwinEach virtual CPU is exposed to the debugger as a thread. 662cd377eb3SJohn Baldwin.Pp 663cd377eb3SJohn BaldwinGeneral purpose registers can be queried for each virtual CPU, but other 664cd377eb3SJohn Baldwinregisters such as floating-point and system registers cannot be queried. 665cd377eb3SJohn Baldwin.Ss Memory 666976ba8c6SJohn BaldwinMemory (including memory mapped I/O regions) can be read and written by the debugger. 6678d56c805SYuri PankovMemory operations use virtual addresses that are resolved to physical addresses 6688d56c805SYuri Pankovvia the current virtual CPU's active address translation. 669cd377eb3SJohn Baldwin.Ss Control 670cd377eb3SJohn BaldwinThe running guest can be interrupted by the debugger at any time 671cd377eb3SJohn Baldwin.Pq for example, by pressing Ctrl-C in the debugger . 672cd377eb3SJohn Baldwin.Pp 673cd377eb3SJohn BaldwinSingle stepping is only supported on Intel CPUs supporting the MTRAP VM exit. 674cd377eb3SJohn Baldwin.Pp 675cbd03a9dSJohn BaldwinBreakpoints are supported on Intel CPUs that support single stepping. 676cbd03a9dSJohn BaldwinNote that continuing from a breakpoint while interrupts are enabled in the 677cbd03a9dSJohn Baldwinguest may not work as expected due to timer interrupts firing while single 678cbd03a9dSJohn Baldwinstepping over the breakpoint. 679c2202d41SRoman Bogorodskiy.Sh SIGNAL HANDLING 680c2202d41SRoman Bogorodskiy.Nm 681c2202d41SRoman Bogorodskiydeals with the following signals: 682c2202d41SRoman Bogorodskiy.Pp 683c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact 684c2202d41SRoman Bogorodskiy.It SIGTERM 685c2202d41SRoman BogorodskiyTrigger ACPI poweroff for a VM 686c2202d41SRoman Bogorodskiy.El 687c2202d41SRoman Bogorodskiy.Sh EXIT STATUS 688c2202d41SRoman BogorodskiyExit status indicates how the VM was terminated: 689c2202d41SRoman Bogorodskiy.Pp 690c2202d41SRoman Bogorodskiy.Bl -tag -width indent -compact 691c2202d41SRoman Bogorodskiy.It 0 692c2202d41SRoman Bogorodskiyrebooted 693c2202d41SRoman Bogorodskiy.It 1 694c2202d41SRoman Bogorodskiypowered off 695c2202d41SRoman Bogorodskiy.It 2 696c2202d41SRoman Bogorodskiyhalted 697c2202d41SRoman Bogorodskiy.It 3 698c2202d41SRoman Bogorodskiytriple fault 699989e062bSMarcelo Araujo.It 4 700989e062bSMarcelo Araujoexited due to an error 701c2202d41SRoman Bogorodskiy.El 702b13e60daSPeter Grehan.Sh EXAMPLES 7035c3ec676SGleb SmirnoffIf not using a boot ROM, the guest operating system must have been loaded with 70484fe889cSChristian Brueffer.Xr bhyveload 8 705b13e60daSPeter Grehanor a similar boot loader before 706b13e60daSPeter Grehan.Xr bhyve 4 707b13e60daSPeter Grehancan be run. 7085c3ec676SGleb SmirnoffOtherwise, the boot loader is not needed. 709b13e60daSPeter Grehan.Pp 710b13e60daSPeter GrehanTo run a virtual machine with 1GB of memory, two virtual CPUs, a virtio 711b13e60daSPeter Grehanblock device backed by the 712b13e60daSPeter Grehan.Pa /my/image 713b13e60daSPeter Grehanfilesystem image, and a serial port for the console: 714b13e60daSPeter Grehan.Bd -literal -offset indent 715b13e60daSPeter Grehanbhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\ 716b13e60daSPeter Grehan -l com1,stdio -A -H -P -m 1G vm1 717b13e60daSPeter Grehan.Ed 718b13e60daSPeter Grehan.Pp 719b13e60daSPeter GrehanRun a 24GB single-CPU virtual machine with three network ports, one of which 720b13e60daSPeter Grehanhas a MAC address specified: 721b13e60daSPeter Grehan.Bd -literal -offset indent 722b13e60daSPeter Grehanbhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ 723b13e60daSPeter Grehan -s 2:1,virtio-net,tap1 \\ 724b13e60daSPeter Grehan -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\ 725b13e60daSPeter Grehan -s 3,virtio-blk,/my/image -l com1,stdio \\ 726b13e60daSPeter Grehan -A -H -P -m 24G bigvm 727b13e60daSPeter Grehan.Ed 728b13e60daSPeter Grehan.Pp 729b13e60daSPeter GrehanRun an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI 730b13e60daSPeter GrehanCD-ROM, a single virtio network port, an AMD hostbridge, and the console 731b13e60daSPeter Grehanport connected to an 732b13e60daSPeter Grehan.Xr nmdm 4 73384fe889cSChristian Brueffernull-modem device. 734b13e60daSPeter Grehan.Bd -literal -offset indent 735a7ab1463SAlexander Motinbhyve -c 4 \\ 736b13e60daSPeter Grehan -s 0,amd_hostbridge -s 1,lpc \\ 737098f5155SAlexander Motin -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\ 738098f5155SAlexander Motinhd:/images/disk.3,hd:/images/disk.4,\\ 739098f5155SAlexander Motinhd:/images/disk.5,hd:/images/disk.6,\\ 740098f5155SAlexander Motinhd:/images/disk.7,hd:/images/disk.8,\\ 741098f5155SAlexander Motincd:/images/install.iso \\ 742b13e60daSPeter Grehan -s 3,virtio-net,tap0 \\ 743b13e60daSPeter Grehan -l com1,/dev/nmdm0A \\ 744b13e60daSPeter Grehan -A -H -P -m 8G 745b13e60daSPeter Grehan.Ed 7465c3ec676SGleb Smirnoff.Pp 7475c3ec676SGleb SmirnoffRun a UEFI virtual machine with a display resolution of 800 by 600 pixels 7485c3ec676SGleb Smirnoffthat can be accessed via VNC at: 0.0.0.0:5900. 7495c3ec676SGleb Smirnoff.Bd -literal -offset indent 7505c3ec676SGleb Smirnoffbhyve -c 2 -m 4G -w -H \\ 7515c3ec676SGleb Smirnoff -s 0,hostbridge \\ 7525c3ec676SGleb Smirnoff -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\ 7535c3ec676SGleb Smirnoff -s 4,ahci-hd,disk.img \\ 7545c3ec676SGleb Smirnoff -s 5,virtio-net,tap0 \\ 7555c3ec676SGleb Smirnoff -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\ 7565c3ec676SGleb Smirnoff -s 30,xhci,tablet \\ 7575c3ec676SGleb Smirnoff -s 31,lpc -l com1,stdio \\ 7585c3ec676SGleb Smirnoff -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\ 7595c3ec676SGleb Smirnoff uefivm 7605c3ec676SGleb Smirnoff.Ed 7618883128bSBjoern A. Zeeb.Pp 7628883128bSBjoern A. ZeebRun a UEFI virtual machine with a VNC display that is bound to all IPv6 7638883128bSBjoern A. Zeebaddresses on port 5900. 7648883128bSBjoern A. Zeeb.Bd -literal -offset indent 7658883128bSBjoern A. Zeebbhyve -c 2 -m 4G -w -H \\ 7668883128bSBjoern A. Zeeb -s 0,hostbridge \\ 7678883128bSBjoern A. Zeeb -s 4,ahci-hd,disk.img \\ 7688883128bSBjoern A. Zeeb -s 5,virtio-net,tap0 \\ 7698883128bSBjoern A. Zeeb -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\ 7708883128bSBjoern A. Zeeb -s 30,xhci,tablet \\ 7718883128bSBjoern A. Zeeb -s 31,lpc -l com1,stdio \\ 7728883128bSBjoern A. Zeeb -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\ 7738883128bSBjoern A. Zeeb uefivm 7748883128bSBjoern A. Zeeb.Ed 775b13e60daSPeter Grehan.Sh SEE ALSO 776b13e60daSPeter Grehan.Xr bhyve 4 , 777e90337e4SAleksandr Fedorov.Xr netgraph 4 , 778e90337e4SAleksandr Fedorov.Xr ng_socket 4 , 779b13e60daSPeter Grehan.Xr nmdm 4 , 780b13e60daSPeter Grehan.Xr vmm 4 , 781621b5090SJohn Baldwin.Xr bhyve_config 5 , 782b13e60daSPeter Grehan.Xr ethers 5 , 78305f7cd8bSJoel Dahl.Xr bhyvectl 8 , 78405f7cd8bSJoel Dahl.Xr bhyveload 8 7858d56c805SYuri Pankov.Pp 7868d56c805SYuri Pankov.Rs 7878d56c805SYuri Pankov.%A Intel 7888d56c805SYuri Pankov.%B 64 and IA-32 Architectures Software Developer’s Manual 7898d56c805SYuri Pankov.%V Volume 3 7908d56c805SYuri Pankov.Re 791b13e60daSPeter Grehan.Sh HISTORY 792b13e60daSPeter Grehan.Nm 793b13e60daSPeter Grehanfirst appeared in 794b13e60daSPeter Grehan.Fx 10.0 . 795b13e60daSPeter Grehan.Sh AUTHORS 79601c2b8acSBaptiste Daroussin.An Neel Natu Aq Mt neel@freebsd.org 79701c2b8acSBaptiste Daroussin.An Peter Grehan Aq Mt grehan@freebsd.org 798