xref: /freebsd/usr.sbin/bhyve/bhyve.8 (revision a0b9e2e854027e6ff61fb075a1309dbc71c42b54)
1.\" Copyright (c) 2013 Peter Grehan
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd Jun 25, 2020
28.Dt BHYVE 8
29.Os
30.Sh NAME
31.Nm bhyve
32.Nd "run a guest operating system inside a virtual machine"
33.Sh SYNOPSIS
34.Nm
35.Op Fl AabCDeHhPSuWwxY
36.Oo
37.Sm off
38.Fl c\~
39.Oo
40.Op Cm cpus=
41.Ar numcpus
42.Oc
43.Op Cm ,sockets= Ar n
44.Op Cm ,cores= Ar n
45.Op Cm ,threads= Ar n
46.Oc
47.Sm on
48.Op Fl G Ar port
49.Op Fl g Ar gdbport
50.Oo Fl l
51.Sm off
52.Cm help | Ar lpcdev Op Cm \&, Ar conf
53.Sm on
54.Oc
55.Oo Fl m
56.Sm off
57.Ar memsize
58.Oo
59.Cm K No | Cm k No | Cm M No | Cm m No | Cm G No | Cm g No | Cm T No | Cm t
60.Oc
61.Sm on
62.Oc
63.Op Fl p Ar vcpu Ns Cm \&: Ns Ar hostcpu
64.Op Fl r Ar file
65.Oo Fl s
66.Sm off
67.Cm help | Ar slot Cm \&, Ar emulation Op Cm \&, Ar conf
68.Sm on
69.Oc
70.Op Fl U Ar uuid
71.Ar vmname
72.Sh DESCRIPTION
73.Nm
74is a hypervisor that runs guest operating systems inside a
75virtual machine.
76.Pp
77Parameters such as the number of virtual CPUs, amount of guest memory, and
78I/O connectivity can be specified with command-line parameters.
79.Pp
80If not using a boot ROM, the guest operating system must be loaded with
81.Xr bhyveload 8
82or a similar boot loader before running
83.Nm ,
84otherwise, it is enough to run
85.Nm
86with a boot ROM of choice.
87.Pp
88.Nm
89runs until the guest operating system reboots or an unhandled hypervisor
90exit is detected.
91.Sh OPTIONS
92.Bl -tag -width 10n
93.It Fl a
94The guest's local APIC is configured in xAPIC mode.
95The xAPIC mode is the default setting so this option is redundant.
96It will be deprecated in a future version.
97.It Fl A
98Generate ACPI tables.
99Required for
100.Fx Ns /amd64
101guests.
102.It Fl b
103Enable a low-level console device supported by
104.Fx
105kernels compiled with
106.Cd "device bvmconsole" .
107This option will be deprecated in a future version.
108.It Fl c Op Ar setting ...
109Number of guest virtual CPUs
110and/or the CPU topology.
111The default value for each of
112.Ar numcpus ,
113.Ar sockets ,
114.Ar cores ,
115and
116.Ar threads
117is 1.
118The current maximum number of guest virtual CPUs is 16.
119If
120.Ar numcpus
121is not specified then it will be calculated from the other arguments.
122The topology must be consistent in that the
123.Ar numcpus
124must equal the product of
125.Ar sockets ,
126.Ar cores ,
127and
128.Ar threads .
129If a
130.Ar setting
131is specified more than once the last one has precedence.
132.It Fl C
133Include guest memory in core file.
134.It Fl D
135Destroy the VM on guest initiated power-off.
136.It Fl e
137Force
138.Nm
139to exit when a guest issues an access to an I/O port that is not emulated.
140This is intended for debug purposes.
141.It Fl g Ar gdbport
142For
143.Fx
144kernels compiled with
145.Cd "device bvmdebug" ,
146allow a remote kernel kgdb to be relayed to the guest kernel gdb stub
147via a local IPv4 address and this port.
148This option will be deprecated in a future version.
149.It Fl G Ar port
150Start a debug server that uses the GDB protocol to export guest state to a
151debugger.
152An IPv4 TCP socket will be bound to the supplied
153.Ar port
154to listen for debugger connections.
155Only a single debugger may be attached to the debug server at a time.
156If
157.Ar port
158begins with
159.Sq w ,
160.Nm
161will pause execution at the first instruction waiting for a debugger to attach.
162.It Fl h
163Print help message and exit.
164.It Fl H
165Yield the virtual CPU thread when a HLT instruction is detected.
166If this option is not specified, virtual CPUs will use 100% of a host CPU.
167.It Fl l Op Ar help|lpcdev Ns Op , Ns Ar conf
168Allow devices behind the LPC PCI-ISA bridge to be configured.
169The only supported devices are the TTY-class devices
170.Ar com1
171and
172.Ar com2 ,
173the boot ROM device
174.Ar bootrom ,
175and the debug/test device
176.Ar pc-testdev .
177.Pp
178.Ar help
179print a list of supported LPC devices.
180.It Fl m Ar memsize Ns Op Ar K|k|M|m|G|g|T|t
181Guest physical memory size in bytes.
182This must be the same size that was given to
183.Xr bhyveload 8 .
184.Pp
185The size argument may be suffixed with one of K, M, G or T (either upper
186or lower case) to indicate a multiple of kilobytes, megabytes, gigabytes,
187or terabytes.
188If no suffix is given, the value is assumed to be in megabytes.
189.Pp
190.Ar memsize
191defaults to 256M.
192.It Fl p Ar vcpu:hostcpu
193Pin guest's virtual CPU
194.Em vcpu
195to
196.Em hostcpu .
197.It Fl P
198Force the guest virtual CPU to exit when a PAUSE instruction is detected.
199.It Fl r Ar file
200Resume a guest from a snapshot.
201The guest memory contents are restored from
202.Ar file ,
203and the guest device and vCPU state are restored from the file
204.Dq Ar file Ns .kern .
205.Pp
206Note that the current snapshot file format requires that the configuration of
207devices in the new VM match the VM from which the snapshot was taken by specifying the
208same
209.Op Fl s
210and
211.Op Fl l
212options.
213The count of vCPUs and memory configuration are read from the snapshot.
214.It Fl s Op Ar help|slot,emulation Ns Op , Ns Ar conf
215Configure a virtual PCI slot and function.
216.Pp
217.Nm
218provides PCI bus emulation and virtual devices that can be attached to
219slots on the bus.
220There are 32 available slots, with the option of providing up to 8 functions
221per slot.
222.Bl -tag -width 10n
223.It Ar help
224print a list of supported PCI devices.
225.It Ar slot
226.Ar pcislot[:function]
227.Ar bus:pcislot:function
228.Pp
229The
230.Ar pcislot
231value is 0 to 31.
232The optional
233.Ar function
234value is 0 to 7.
235The optional
236.Ar bus
237value is 0 to 255.
238If not specified, the
239.Ar function
240value defaults to 0.
241If not specified, the
242.Ar bus
243value defaults to 0.
244.It Ar emulation
245.Bl -tag -width 10n
246.It Li hostbridge | Li amd_hostbridge
247.Pp
248Provide a simple host bridge.
249This is usually configured at slot 0, and is required by most guest
250operating systems.
251The
252.Li amd_hostbridge
253emulation is identical but uses a PCI vendor ID of
254.Li AMD .
255.It Li passthru
256PCI pass-through device.
257.It Li virtio-net
258Virtio network interface.
259.It Li virtio-blk
260Virtio block storage interface.
261.It Li virtio-scsi
262Virtio SCSI interface.
263.It Li virtio-9p
264Virtio 9p (VirtFS) interface.
265.It Li virtio-rnd
266Virtio RNG interface.
267.It Li virtio-console
268Virtio console interface, which exposes multiple ports
269to the guest in the form of simple char devices for simple IO
270between the guest and host userspaces.
271.It Li ahci
272AHCI controller attached to arbitrary devices.
273.It Li ahci-cd
274AHCI controller attached to an ATAPI CD/DVD.
275.It Li ahci-hd
276AHCI controller attached to a SATA hard-drive.
277.It Li e1000
278Intel e82545 network interface.
279.It Li uart
280PCI 16550 serial device.
281.It Li lpc
282LPC PCI-ISA bridge with COM1 and COM2 16550 serial ports, a boot ROM, and,
283optionally, the debug/test device.
284The LPC bridge emulation can only be configured on bus 0.
285.It Li fbuf
286Raw framebuffer device attached to VNC server.
287.It Li xhci
288eXtensible Host Controller Interface (xHCI) USB controller.
289.It Li nvme
290NVM Express (NVMe) controller.
291.It Li hda
292High Definition Audio Controller.
293.El
294.It Op Ar conf
295This optional parameter describes the backend for device emulations.
296If
297.Ar conf
298is not specified, the device emulation has no backend and can be
299considered unconnected.
300.Pp
301Network backends:
302.Bl -tag -width 10n
303.It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
304.It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
305.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
306.Pp
307If
308.Ar mac
309is not specified, the MAC address is derived from a fixed OUI and the
310remaining bytes from an MD5 hash of the slot and function numbers and
311the device name.
312.Pp
313The MAC address is an ASCII string in
314.Xr ethers 5
315format.
316.Pp
317With virtio-net devices, the
318.Ar mtu
319parameter can be specified to inform the guest about the largest MTU
320that should be allowed, expressed in bytes.
321.Pp
322With netgraph backend, the
323.Ar path
324and
325.Ar peerhook
326parameters must be specified to set the destination node and corresponding hook.
327The optional parameters
328.Ar socket
329and
330.Ar hook
331may be used to set the
332.Xr ng_socket 4
333node name and source hook.
334The
335.Ar ADDRESS ,
336.Ar HOOK
337and
338.Ar NAME
339must comply with
340.Xr netgraph 4
341addressing rules.
342.El
343.Pp
344Block storage devices:
345.Bl -tag -width 10n
346.It Pa /filename Ns Oo , Ns Ar block-device-options Oc
347.It Pa /dev/xxx Ns Oo , Ns Ar block-device-options Oc
348.El
349.Pp
350The
351.Ar block-device-options
352are:
353.Bl -tag -width 8n
354.It Li nocache
355Open the file with
356.Dv O_DIRECT .
357.It Li direct
358Open the file using
359.Dv O_SYNC .
360.It Li ro
361Force the file to be opened read-only.
362.It Li sectorsize= Ns Ar logical Ns Oo / Ns Ar physical Oc
363Specify the logical and physical sector sizes of the emulated disk.
364The physical sector size is optional and is equal to the logical sector size
365if not explicitly specified.
366.El
367.Pp
368SCSI devices:
369.Bl -tag -width 10n
370.It Pa /dev/cam/ctl Ns Oo Ar pp . Ns Ar vp Oc Ns Oo , Ns Ar scsi-device-options Oc
371.El
372.Pp
373The
374.Ar scsi-device-options
375are:
376.Bl -tag -width 10n
377.It Li iid= Ns Ar IID
378Initiator ID to use when sending requests to specified CTL port.
379The default value is 0.
380.El
381.Pp
3829P devices:
383.Bl -tag -width 10n
384.It Pa sharename=/path/to/share[,9p-device-options]
385.El
386.Pp
387The
388.Ar 9p-device-options
389are:
390.Bl -tag -width 10n
391.It Li ro
392Expose the share in read-only mode.
393.El
394.Pp
395TTY devices:
396.Bl -tag -width 10n
397.It Li stdio
398Connect the serial port to the standard input and output of
399the
400.Nm
401process.
402.It Pa /dev/xxx
403Use the host TTY device for serial port I/O.
404.El
405.Pp
406Boot ROM device:
407.Bl -tag -width 10n
408.It Pa romfile
409Map
410.Ar romfile
411in the guest address space reserved for boot firmware.
412.El
413.Pp
414Pass-through devices:
415.Bl -tag -width 10n
416.It Ns Ar slot Ns / Ns Ar bus Ns / Ns Ar function
417Connect to a PCI device on the host at the selector described by
418.Ar slot ,
419.Ar bus ,
420and
421.Ar function
422numbers.
423.El
424.Pp
425Guest memory must be wired using the
426.Fl S
427option when a pass-through device is configured.
428.Pp
429The host device must have been reserved at boot-time using the
430.Va pptdevs
431loader variable as described in
432.Xr vmm 4 .
433.Pp
434Virtio console devices:
435.Bl -tag -width 10n
436.It Li port1= Ns Pa /path/to/port1.sock Ns ,anotherport= Ns Pa ...
437A maximum of 16 ports per device can be created.
438Every port is named and corresponds to a Unix domain socket created by
439.Nm .
440.Nm
441accepts at most one connection per port at a time.
442.Pp
443Limitations:
444.Bl -bullet -offset 2n
445.It
446Due to lack of destructors in
447.Nm ,
448sockets on the filesystem must be cleaned up manually after
449.Nm
450exits.
451.It
452There is no way to use the "console port" feature, nor the console port
453resize at present.
454.It
455Emergency write is advertised, but no-op at present.
456.El
457.El
458.Pp
459Framebuffer devices:
460.Bl -tag -width 10n
461.It Xo
462.Oo rfb= Ns Oo Ar IP\&: Oc Ns Ar port Oc Ns Oo ,w= Ns Ar width Oc Ns Oo ,h= Ns
463.Ar height Oc Ns Oo ,vga= Ns Ar vgaconf Oc Ns Oo Ns ,wait Oc Ns Oo ,password= Ns
464.Ar password Oc
465.Xc
466.Bl -tag -width 8n
467.It Ar IPv4:port No or Ar [IPv6%zone]:port
468An
469.Ar IP
470address and a
471.Ar port
472VNC should listen on.
473The default is to listen on localhost IPv4 address and default VNC port 5900.
474An IPv6 address must be enclosed in square brackets and may contain an
475optional zone identifier.
476.It Ar width No and Ar height
477A display resolution, width and height, respectively.
478If not specified, a default resolution of 1024x768 pixels will be used.
479Minimal supported resolution is 640x480 pixels,
480and maximum is 1920x1200 pixels.
481.It Ar vgaconf
482Possible values for this option are
483.Dq io
484(default),
485.Dq on
486, and
487.Dq off .
488PCI graphics cards have a dual personality in that they are
489standard PCI devices with BAR addressing, but may also
490implicitly decode legacy VGA I/O space
491.Pq Ad 0x3c0-3df
492and memory space
493.Pq 64KB at Ad 0xA0000 .
494The default
495.Dq io
496option should be used for guests that attempt to issue BIOS calls which result
497in I/O port queries, and fail to boot if I/O decode is disabled.
498.Pp
499The
500.Dq on
501option should be used along with the CSM BIOS capability in UEFI
502to boot traditional BIOS guests that require the legacy VGA I/O and
503memory regions to be available.
504.Pp
505The
506.Dq off
507option should be used for the UEFI guests that assume that
508VGA adapter is present if they detect the I/O ports.
509An example of such a guest is
510.Ox
511in UEFI mode.
512.Pp
513Please refer to the
514.Nm
515.Fx
516wiki page
517.Pq Lk https://wiki.freebsd.org/bhyve
518for configuration notes of particular guests.
519.It wait
520Instruct
521.Nm
522to only boot upon the initiation of a VNC connection, simplifying the
523installation of operating systems that require immediate keyboard input.
524This can be removed for post-installation use.
525.It password
526This type of authentication is known to be cryptographically weak and is not
527intended for use on untrusted networks.
528Many implementations will want to use stronger security, such as running
529the session over an encrypted channel provided by IPsec or SSH.
530.El
531.El
532.Pp
533xHCI USB devices:
534.Bl -tag -width 10n
535.It Li tablet
536A USB tablet device which provides precise cursor synchronization
537when using VNC.
538.El
539.Pp
540NVMe devices:
541.Bl -tag -width 10n
542.It Li devpath
543Accepted device paths are:
544.Ar /dev/blockdev
545or
546.Ar /path/to/image
547or
548.Ar ram=size_in_MiB .
549.It Li maxq
550Max number of queues.
551.It Li qsz
552Max elements in each queue.
553.It Li ioslots
554Max number of concurrent I/O requests.
555.It Li sectsz
556Sector size (defaults to blockif sector size).
557.It Li ser
558Serial number with maximum 20 characters.
559.El
560.Pp
561AHCI devices:
562.Bl -tag -width 10n
563.It Li nmrr
564Nominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report.
565.It Li ser
566Serial Number with maximum 20 characters.
567.It Li rev
568Revision Number with maximum 8 characters.
569.It Li model
570Model Number with maximum 40 characters.
571.El
572.Pp
573HD Audio devices:
574.Bl -tag -width 10n
575.It Li play
576Playback device, typically
577.Ar /dev/dsp0 .
578.It Li rec
579Recording device, typically
580.Ar /dev/dsp0 .
581.El
582.El
583.It Fl S
584Wire guest memory.
585.It Fl u
586RTC keeps UTC time.
587.It Fl U Ar uuid
588Set the universally unique identifier
589.Pq UUID
590in the guest's System Management BIOS System Information structure.
591By default a UUID is generated from the host's hostname and
592.Ar vmname .
593.It Fl w
594Ignore accesses to unimplemented Model Specific Registers (MSRs).
595This is intended for debug purposes.
596.It Fl W
597Force virtio PCI device emulations to use MSI interrupts instead of MSI-X
598interrupts.
599.It Fl x
600The guest's local APIC is configured in x2APIC mode.
601.It Fl Y
602Disable MPtable generation.
603.It Ar vmname
604Alphanumeric name of the guest.
605This should be the same as that created by
606.Xr bhyveload 8 .
607.El
608.Sh DEBUG SERVER
609The current debug server provides limited support for debuggers.
610.Ss Registers
611Each virtual CPU is exposed to the debugger as a thread.
612.Pp
613General purpose registers can be queried for each virtual CPU, but other
614registers such as floating-point and system registers cannot be queried.
615.Ss Memory
616Memory (including memory mapped I/O regions) can be read and written by the debugger.
617Memory operations use virtual addresses that are resolved to physical addresses
618via the current virtual CPU's active address translation.
619.Ss Control
620The running guest can be interrupted by the debugger at any time
621.Pq for example, by pressing Ctrl-C in the debugger .
622.Pp
623Single stepping is only supported on Intel CPUs supporting the MTRAP VM exit.
624.Pp
625Breakpoints are supported on Intel CPUs that support single stepping.
626Note that continuing from a breakpoint while interrupts are enabled in the
627guest may not work as expected due to timer interrupts firing while single
628stepping over the breakpoint.
629.Sh SIGNAL HANDLING
630.Nm
631deals with the following signals:
632.Pp
633.Bl -tag -width indent -compact
634.It SIGTERM
635Trigger ACPI poweroff for a VM
636.El
637.Sh EXIT STATUS
638Exit status indicates how the VM was terminated:
639.Pp
640.Bl -tag -width indent -compact
641.It 0
642rebooted
643.It 1
644powered off
645.It 2
646halted
647.It 3
648triple fault
649.It 4
650exited due to an error
651.El
652.Sh EXAMPLES
653If not using a boot ROM, the guest operating system must have been loaded with
654.Xr bhyveload 8
655or a similar boot loader before
656.Xr bhyve 4
657can be run.
658Otherwise, the boot loader is not needed.
659.Pp
660To run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
661block device backed by the
662.Pa /my/image
663filesystem image, and a serial port for the console:
664.Bd -literal -offset indent
665bhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
666  -l com1,stdio -A -H -P -m 1G vm1
667.Ed
668.Pp
669Run a 24GB single-CPU virtual machine with three network ports, one of which
670has a MAC address specified:
671.Bd -literal -offset indent
672bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\
673  -s 2:1,virtio-net,tap1 \\
674  -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\
675  -s 3,virtio-blk,/my/image -l com1,stdio \\
676  -A -H -P -m 24G bigvm
677.Ed
678.Pp
679Run an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI
680CD-ROM, a single virtio network port, an AMD hostbridge, and the console
681port connected to an
682.Xr nmdm 4
683null-modem device.
684.Bd -literal -offset indent
685bhyve -c 4 \\
686  -s 0,amd_hostbridge -s 1,lpc \\
687  -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\
688hd:/images/disk.3,hd:/images/disk.4,\\
689hd:/images/disk.5,hd:/images/disk.6,\\
690hd:/images/disk.7,hd:/images/disk.8,\\
691cd:/images/install.iso \\
692  -s 3,virtio-net,tap0 \\
693  -l com1,/dev/nmdm0A \\
694  -A -H -P -m 8G
695.Ed
696.Pp
697Run a UEFI virtual machine with a display resolution of 800 by 600 pixels
698that can be accessed via VNC at: 0.0.0.0:5900.
699.Bd -literal -offset indent
700bhyve -c 2 -m 4G -w -H \\
701  -s 0,hostbridge \\
702  -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\
703  -s 4,ahci-hd,disk.img \\
704  -s 5,virtio-net,tap0 \\
705  -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\
706  -s 30,xhci,tablet \\
707  -s 31,lpc -l com1,stdio \\
708  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
709   uefivm
710.Ed
711.Pp
712Run a UEFI virtual machine with a VNC display that is bound to all IPv6
713addresses on port 5900.
714.Bd -literal -offset indent
715bhyve -c 2 -m 4G -w -H \\
716  -s 0,hostbridge \\
717  -s 4,ahci-hd,disk.img \\
718  -s 5,virtio-net,tap0 \\
719  -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\
720  -s 30,xhci,tablet \\
721  -s 31,lpc -l com1,stdio \\
722  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
723   uefivm
724.Ed
725.Sh SEE ALSO
726.Xr bhyve 4 ,
727.Xr netgraph 4 ,
728.Xr ng_socket 4 ,
729.Xr nmdm 4 ,
730.Xr vmm 4 ,
731.Xr ethers 5 ,
732.Xr bhyvectl 8 ,
733.Xr bhyveload 8
734.Pp
735.Rs
736.%A Intel
737.%B 64 and IA-32 Architectures Software Developer’s Manual
738.%V Volume 3
739.Re
740.Sh HISTORY
741.Nm
742first appeared in
743.Fx 10.0 .
744.Sh AUTHORS
745.An Neel Natu Aq Mt neel@freebsd.org
746.An Peter Grehan Aq Mt grehan@freebsd.org
747