xref: /illumos-gate/usr/src/man/man5/bhyve_config.5 (revision 55fea89d)
1.\" SPDX-License-Identifier: BSD-2-Clause
2.\"
3.\" Copyright (c) 2021 John H. Baldwin <jhb@FreeBSD.org>
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" Portions Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
27.\"
28.Dd July 29, 2023
29.Dt BHYVE_CONFIG 5
30.Os
31.Sh NAME
32.Nm bhyve_config
33.Nd "bhyve configuration variables"
34.Sh DESCRIPTION
35.Xr bhyve 8
36uses a hierarchical tree of configuration variables to describe global and
37per-device settings.
38Internal nodes in this tree do not have a value,
39only leaf nodes have values.
40This manual describes the configuration variables understood by
41.Xr bhyve 8 .
42If additional variables are defined,
43.Xr bhyve 8
44will ignore them and will not emit errors for unknown variables.
45However, these additional variables can be referenced by other
46variables as described below.
47.Sh VARIABLE VALUES
48Configuration variable values are stored as strings.
49A configuration variable value may refer to one or more other
50configuration values by name.
51Instances of the pattern
52.Sq % Ns Pq Ar var
53are replaced by the value of the configuration variable
54.Va var .
55To avoid unwanted expansion,
56.Sq %
57characters can be escaped by a leading
58.Sq % .
59For example,
60if a configuration variable
61.Va disk
62uses the value
63.Pa /dev/zvol/bhyve/%(name) ,
64then the final value of the
65.Va disk
66variable will be set to the path of a ZFS volume whose name matches
67the name of the virtual machine on the pool
68.Pa bhyve .
69.Pp
70Some configuration variables may be interpreted as a boolean value.
71For those variables the following case-insensitive values may be used to
72indicate true:
73.Pp
74.Bl -bullet -offset indent -compact
75.It
76true
77.It
78on
79.It
80yes
81.It
821
83.El
84.Pp
85The following values may be used to indicate false:
86.Pp
87.Bl -bullet -offset indent -compact
88.It
89false
90.It
91off
92.It
93no
94.It
950
96.El
97.Pp
98Some configuration variables may be interpreted as an integer.
99For those variables,
100any syntax supported by
101.Xr strtoul 3C
102may be used.
103.Sh GLOBAL SETTINGS
104.Ss Architecture Neutral Settings
105.Bl -column "memory.guest_in_core" "integer" "Default"
106.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
107.It Va name Ta string Ta Ta
108The name of the VM.
109.It Va cpus Ta integer Ta 1 Ta
110The total number of virtual CPUs.
111.It Va cores Ta integer Ta 1 Ta
112The number of virtual cores in each virtual socket.
113.It Va threads Ta integer Ta 1 Ta
114The number of virtual CPUs in each virtual core.
115.It Va sockets Ta integer Ta 1 Ta
116The number of virtual sockets.
117.It Va memory.size Ta string Ta 256M Ta
118Guest physical memory size.
119The size argument may be suffixed with one of K, M, G or T (either upper
120or lower case) to indicate a multiple of kibibytes, mebibytes, gibibytes,
121or tebibytes.
122If no suffix is given, the value is assumed to be in mebibytes.
123.It Va memory.wired Ta bool Ta false Ta
124Wire guest memory.
125.It Va acpi_tables Ta bool Ta false Ta
126Generate ACPI tables; these tables are
127.Em not
128used on illumos.
129.It Va destroy_on_poweroff Ta bool Ta false Ta
130Destroy the VM on guest-initiated power-off.
131.It Va gdb.address Ta string Ta localhost Ta
132Hostname, IP address, or IPv6 address for the debug server.
133.It Va gdb.port Ta integer Ta 0 Ta
134TCP port number for the debug server.
135If this is set to a non-zero value, a debug server
136will listen for connections on this port.
137.It Va gdb.wait Ta bool Ta false Ta
138If the debug server is enabled, wait for a debugger to connect
139before starting the guest.
140.It Va keyboard.layout Ta string Ta Ta
141Specify the keyboard layout name with the file name in
142.Pa /usr/share/bhyve/kbdlayout .
143This value only works when loaded with UEFI mode for VNC, and when a VNC client
144that doesn't support the QEMU Extended Key Event Message us used.
145.It Va rtc.use_localtime Ta bool Ta true Ta
146The real time clock uses the local time of the host.
147If this is set to false, the real time clock uses UTC.
148.It Va uuid Ta string Ta Ta
149The universally unique identifier (UUID) to use in the guest's
150System Management BIOS System Information structure.
151If an explicit value is not set, a valid UUID is generated from
152the host's hostname and the VM name.
153.It Va virtio_msix Ta bool Ta true Ta
154Use MSI-X interrupts for PCI VirtIO devices.
155If set to false, MSI interrupts are used instead.
156.It Va config.dump Ta bool Ta false Ta
157If this value is set to true then, after parsing command line options,
158.Xr bhyve 8
159will write all of its configuration variables to
160.Dv stdout
161and exit.
162No VM will be started.
163.It Va privileges.debug Ta bool Ta false Ta
164Enable debug messages relating to privilege management.
165These messages are sent to
166.Dv stdout .
167.It Va rfb.debug Ta bool Ta false Ta
168Enable debug messages relating to the RFB
169.Pq VNC
170server.
171.It Va viona.debug Ta bool Ta false Ta
172Enable debug messages relating to the accelerated virtio network device.
173These messages are sent to
174.Dv stdout .
175.It Va xhci.debug Ta bool Ta false Ta
176Enable debug messages relating to the emulated XHCI
177.Pq USB
178controller.
179These messages are sent to
180.Dv stderr .
181.It Va bios.vendor Ta string Ta BHYVE Ta
182This value is used for the guest's System Management BIOS System Information
183structure.
184.It Va bios.version Ta string Ta 14.0 Ta
185This value is used for the guest's System Management BIOS System Information
186structure.
187.It Va bios.release_date Ta string Ta 10/17/2021 Ta
188This value is used for the guest's System Management BIOS System Information
189structure.
190.It Va system.family_name Ta string Ta Virtual Machine Ta
191Family the computer belongs to.
192This value is used for the guest's System Management BIOS System Information
193structure.
194.It Va system.manufacturer Ta string Ta illumos Ta
195This value is used for the guest's System Management BIOS System Information
196structure.
197.It Va system.product_name Ta string Ta BHYVE Ta
198This value is used for the guest's System Management BIOS System Information
199structure.
200.It Va system.serial_number Ta string Ta None Ta
201This value is used for the guest's System Management BIOS System Information
202structure.
203.It Va system.sku Ta string Ta None Ta
204Stock keeping unit of the computer.
205It's also called product ID or purchase order number.
206This value is used for the guest's System Management BIOS System Information
207structure.
208.It Va system.version Ta string Ta 1.0 Ta
209This value is used for the guest's System Management BIOS System Information
210structure.
211.It Va board.manufacturer Ta string Ta illumos Ta
212This value is used for the guest's System Management BIOS System Information
213structure.
214.It Va board.product_name Ta string Ta BHYVE Ta
215This value is used for the guest's System Management BIOS System Information
216structure.
217.It Va board.version Ta string Ta 1.0 Ta
218This value is used for the guest's System Management BIOS System Information
219structure.
220.It Va board.serial_number Ta string Ta None Ta
221This value is used for the guest's System Management BIOS System Information
222structure.
223.It Va board.asset_tag Ta string Ta None Ta
224This value is used for the guest's System Management BIOS System Information
225structure.
226.It Va board.location Ta string Ta None Ta
227Describes the board's location within the chassis.
228This value is used for the guest's System Management BIOS System Information
229structure.
230.It Va chassis.manufacturer Ta string Ta illumos Ta
231This value is used for the guest's System Management BIOS System Information
232structure.
233.It Va chassis.version Ta string Ta 1.0 Ta
234This value is used for the guest's System Management BIOS System Information
235structure.
236.It Va chassis.serial_number Ta string Ta None Ta
237This value is used for the guest's System Management BIOS System Information
238structure.
239.It Va chassis.asset_tag Ta string Ta None Ta
240This value is used for the guest's System Management BIOS System Information
241structure.
242.It Va chassis.sku Ta string Ta None Ta
243Stock keeping unit of the chassis.
244It's also called product ID or purchase order number.
245This value is used for the guest's System Management BIOS System Information
246structure.
247.It Va smbios.family Ta string Ta Virtual Machine Ta
248Legacy alias for
249.Va system.family_name ,
250do not use in new configurations.
251.It Va smbios.manufacturer Ta string Ta illumos Ta
252Legacy alias for
253.Va system.manufacturer ,
254do not use in new configurations.
255.It Va smbios.product Ta string Ta BHYVE Ta
256Legacy alias for
257.Va system.product_name ,
258do not use in new configurations.
259.It Va smbios.serial Ta string Ta None Ta
260Legacy alias for
261.Va system.serial_number ,
262do not use in new configurations.
263.It Va smbios.sku Ta string Ta None Ta
264Legacy alias for
265.Va system.sku ,
266do not use in new configurations.
267.It Va smbios.version Ta string Ta 1.0 Ta
268Legacy alias for
269.Va system.version ,
270do not use in new configurations.
271.El
272.Ss x86-Specific Settings
273.Bl -column "x86.vmexit_on_pause" "integer" "Default"
274.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
275.It Va x86.mptable Ta bool Ta true Ta
276Generate an MPTable.
277.It Va x86.x2apic Ta bool Ta false Ta
278Configure guest's local APICs in x2APIC mode.
279.It Va x86.strictio Ta bool Ta false Ta
280Exit if a guest accesses an I/O port that is not emulated.
281By default, writes are ignored and reads return all bits set.
282.It Va x86.strictmsr Ta bool Ta true Ta
283Inject a general protection fault if a guest accesses a Model Specific
284Register (MSR) that is not emulated.
285If this is false, writes are ignored and reads return zero.
286.It Va x86.vmexit_on_hlt Ta bool Ta false Ta
287Force a VM exit when a guest CPU executes the
288.Dv HLT
289instruction.
290This allows idle guest CPUs to yield the host CPU.
291.It Va x86.vmexit_on_pause Ta bool Ta false Ta
292Force a VM exit when a guest CPU executes the
293.Dv PAUSE
294instruction.
295.El
296.Sh DEVICE SETTINGS
297Device settings are stored under a device node.
298The device node's name is set by the parent bus of the device.
299.Ss PCI Device Settings
300PCI devices are described by a device node named
301.Dq pci . Ns Ar bus . Ns Ar slot . Ns Ar function
302where each of
303.Ar bus ,
304.Ar slot ,
305and
306.Ar function
307are formatted as decimal values with no padding.
308All PCI device nodes must contain a configuration variable named
309.Dq device
310which specifies the device model to use.
311The following PCI device models are supported:
312.Bl -tag -width indent
313.It Li hostbridge
314Provide a simple PCI-Host bridge device.
315This is usually configured at pci0:0:0 and is required by most guest
316operating systems.
317.It Li ahci
318AHCI storage controller.
319.It Li e1000
320Intel e82545 network interface.
321.It Li fbuf
322VGA framebuffer device attached to VNC server.
323.It Li lpc
324LPC PCI-ISA bridge with COM1-COM4 16550 serial ports,
325a boot ROM,
326and an optional debug/test device.
327This device must be configured on bus 0.
328.It Li nvme
329NVM Express (NVMe) controller.
330.It Li passthru
331PCI pass-through device.
332.It Li uart
333PCI 16550 serial device.
334.It Li virtio-9p
335VirtIO 9p (VirtFS) interface.
336.It Li virtio-blk
337VirtIO block storage interface.
338.It Li virtio-console
339VirtIO console interface.
340.It Li virtio-net-viona
341Accelerated VirtIO network interface.
342.It Li net-viona
343Legacy VirtIO network interface.
344.It Li virtio-rnd
345VirtIO random number generator interface.
346.It Li xhci
347Extensible Host Controller Interface (XHCI) USB controller.
348.El
349.Ss USB Device Settings
350USB controller devices contain zero or more child USB devices
351attached to slots.
352Each USB device stores its settings in a node named
353.Dq slot. Ns Va N
354under the controller's device node.
355.Va N
356is the number of the slot to which the USB device is attached.
357Note that USB slot numbers begin at 1.
358All USB device nodes must contain a configuration variable named
359.Dq device
360which specifies the device model to use.
361The following USB device models are supported:
362.Bl -tag -width indent
363.It Li tablet
364A USB tablet device which provides precise cursor synchronization
365when using VNC.
366.El
367.Ss Block Device Settings
368Block devices use the following settings to configure their backing store.
369These settings are stored in the configuration node of the respective device.
370.Bl -column "sectorsize" "logical[/physical]" "Default"
371.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
372.It path Ta string Ta Ta
373The path of the file or disk device to use as the backing store.
374.It nocache Ta bool Ta false Ta
375Disable caching on the backing file by opening the backing file with
376.Dv O_DIRECT .
377.It nodelete Ta bool Ta false Ta
378Disable emulation of guest trim requests via
379.Dv DIOCGDELETE
380requests.
381.It sync Ta bool Ta false Ta
382Write changes to the backing file with synchronous writes.
383.It direct Ta bool Ta false Ta
384An alias for
385.Va sync .
386.It ro Ta bool Ta false Ta
387Disable writes to the backing file.
388.It sectorsize Ta Va logical Ns Op / Ns Va physical Ta Ta
389Specify the logical and physical sector size of the emulated disk.
390If the physical size is not specified, it is set to be equal to the logical
391size.
392.El
393.Ss virtio-net-viona Network Backend Settings
394Viona network devices use the following settings to configure their backend.
395.Bl -column "feature_flags" "string" "Default"
396.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
397.It vnic Ta string Ta Ta
398The VNIC to use for the network connection.
399.It feature_mask Ta integer Ta 0 Ta
400Specify a mask to apply to the virtio features advertised to the guest.
401.El
402.Pp
403Viona network devices have the ability to lend out their TX buffers, which
404can occasionally cause issues if they are not returned.
405This will result in the guest not being able to send any network packets,
406including TCP ACKs, resulting in the guest becoming completely unreachable.
407The default has changed to now always copy TX buffers.
408A temporary tunable has been added
409.Pq which will be removed when this has been properly addressed
410to restore the ability for the driver to loan out TX buffers, which is enabled
411by setting the variable
412.Sy viona:viona_default_tx_copy
413to 0 in
414.Xr system 5 .
415.Ss Other Network Backend Settings
416Other network devices use the following settings to configure their backend.
417.Bl -column "feature_flags" "string" "Default"
418.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
419.It vnic Ta string Ta Ta
420The VNIC to use for the network connection.
421.It promiscphys Ta bool Ta false Ta
422Enable promiscuous mode at the physical level.
423.It promiscsap Ta bool Ta true Ta
424Enable promiscuous mode at the SAP level.
425.It promiscmulti Ta bool Ta true Ta
426Enable promiscuous mode for all multicast addresses.
427.It promiscrxonly Ta bool Ta true Ta
428The selected promiscuous modes are only enabled for received traffic.
429.El
430.Ss UART Device Settings
431.Bl -column "Name" "Format" "Default"
432.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
433.It Va path Ta path Ta Ta
434Backend device for the serial port.
435Either the pathname of a character device or
436.Dq stdio
437to use standard input and output of the
438.Xr bhyve 8
439process.
440.El
441.Ss Host Bridge Settings
442Host Bridge devices use the following settings.
443When configuring parameters, either the
444.Va model
445by itself, or both of
446.Va vendor
447and
448.Va devid
449must be specified.
450.Bl -column "vendor" "integer" "Default"
451.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
452.It Va model Ta string Ta netapp Ta
453Specify a hostbridge model to emulate.
454Valid model strings, and their associated vendor and device IDs are:
455.Sy amd Pq 0x1022/0x7432 ,
456.Sy netapp Pq 0x1275/0x1275 ,
457.Sy i440fx Pq 0x8086/0x1237
458and
459.Sy q35 Pq 0x8086/0x29b0 .
460.It Va vendor Ta integer Ta 0x1275 Ta
461PCI vendor ID.
462.It Va devid Ta integer Ta 0x1275 Ta
463PCI device ID.
464.El
465.Ss AHCI Controller Settings
466AHCI controller devices contain zero or more ports each of which
467provides a storage device.
468Each port stores its settings in a node named
469.Dq port. Ns Va N
470under the controller's device node.
471The
472.Va N
473values are formatted as successive decimal values starting with 0.
474In addition to the block device settings described above, each
475port supports the following settings:
476.Bl -column "model" "integer" "generated"
477.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
478.It Va type Ta string Ta Ta
479The type of storage device to emulate.
480Must be set to either
481.Dq cd
482or
483.Dq hd .
484.It Va nmrr Ta integer Ta 0 Ta
485Nominal Media Rotation Rate, also known as RPM.
486A value 1 of indicates a device with no rate such as a Solid State Disk.
487.It Va ser Ta string Ta generated Ta
488Serial number of up to twenty characters.
489A default serial number is generated using a hash of the backing
490store's pathname.
491.It Va rev Ta string Ta 001 Ta
492Revision number of up to eight characters.
493.It Va model Ta string Ta Ta
494Model number of up to forty characters.
495Separate default model strings are used for
496.Dq cd
497and
498.Dq hd
499device types.
500.El
501.Ss Frame Buffer Settings
502.Bl -column "password" "[IP:]port" "127.0.0.1:5900"
503.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
504.It Va wait Ta bool Ta false Ta
505Wait for a remote connection before starting the VM.
506.It Va rfb Ta Oo Ar IP Ns \&: Oc Ns Ar port Ta 127.0.0.1:5900 Ta
507TCP address to listen on for remote connections.
508The IP address must be given as a numeric address.
509IPv6 addresses must be enclosed in square brackets and
510support scoped identifiers as described in
511.Xr getaddrinfo 3SOCKET .
512A bare port number may be given in which case the IPv4
513localhost address is used.
514.It Va unix Ta string Ta Ta
515UNIX socket to listen on for VNC connections.
516.It Va vga Ta string Ta io Ta
517VGA configuration.
518More details are provided in
519.Xr bhyve 8 .
520.It Va w Ta integer Ta 1024 Ta
521Frame buffer width in pixels.
522.It Va h Ta integer Ta 768 Ta
523Frame buffer height in pixels.
524.It Va password Ta string Ta Ta
525Password to use for VNC authentication.
526This type of authentication is known to be cryptographically weak and is not
527intended for use on untrusted networks.
528.El
529.Ss LPC Device Settings
530The LPC bridge stores its configuration under a top-level
531.Va lpc
532node rather than under the PCI LPC device's node.
533The following nodes are available under
534.Va lpc :
535.Bl -column "pc-testdev" "Format" "Default"
536.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
537.It Va bootrom Ta path Ta Ta
538Path to a boot ROM.
539The contents of this file are copied into the guest's
540memory ending just before the 4GB physical address.
541If a boot ROM is present, a firmware interface device is
542also enabled for use by the boot ROM.
543.It Va bootvars Ta path Ta Ta
544Path to boot variables file.
545The contents of this file are copied beneath the boot ROM.
546Firmware can write to it to save variables.
547Variables will be persistent across guest reboots.
548.It Va com1 Ta node Ta Ta
549Settings for the COM1 serial port device.
550.It Va com2 Ta node Ta Ta
551Settings for the COM2 serial port device.
552.It Va com3 Ta node Ta Ta
553Settings for the COM3 serial port device.
554.It Va com4 Ta node Ta Ta
555Settings for the COM4 serial port device.
556.It Va pc-testdev Ta bool Ta false Ta
557Enable the PC debug/test device.
558.El
559.Ss NVMe Controller Settings
560Each NVMe controller supports a single storage device.
561The device can be backed either by a memory disk described by the
562.Va ram
563variable, or a block device using the block device settings described above.
564In addition, each controller supports the following settings:
565.Bl -column "ioslots" "Format" "Default"
566.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
567.It Va maxq Ta integer Ta 16 Ta
568Maximum number of I/O submission and completion queue pairs.
569.It Va qsz Ta integer Ta 2058 Ta
570Number of elements in each I/O queue.
571.It Va ioslots Ta integer Ta 8 Ta
572Maximum number of concurrent I/O requests.
573.It Va sectsz Ta integer Ta Ta
574Sector size.
575Can be one of 512, 4096, or 8192.
576Devices backed by a memory disk use 4096 as the default.
577Devices backed by a block device use the block device's sector size
578as the default.
579.It Va ser Ta string Ta Ta
580Serial number of up to twenty characters.
581A default serial number is generated using a hash of the device's PCI address.
582.It Va eui64 Ta integer Ta Ta
583IEEE Extended Unique Identifier.
584If an EUI is not provided, a default is generated using a checksum of the
585device's PCI address.
586.It Va dsm Ta string Ta auto Ta
587Whether or not to advertise Dataset Management (DSM) support.
588One of
589.Dq auto ,
590.Dq enable ,
591or
592.Dq disable .
593The
594.Dq auto
595setting only advertises support if the backing store supports
596resource freeing, for example via TRIM.
597.It Va ram Ta integer Ta Ta
598If set, allocate a memory disk as the backing store.
599The value of this variable is the size of the memory disk in megabytes.
600.El
601.Ss PCI Passthrough Settings
602.Bl -column "Name" "integer" "Default"
603.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
604.It Va path Ta string Ta Ta
605Path to a PCI passthrough device in the form
606.Pa /dev/ppt Ns Ar N
607where
608.Ar N
609is the device number.
610.It Va rom Ta path Ta Ta
611ROM file of the device which will be executed by OVMF to initialise the device.
612.El
613.Ss VirtIO 9p Settings
614Each VirtIO 9p device exposes a single filesystem from a host path.
615.Bl -column "sharename" "Format" "Default"
616.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
617.It Va sharename Ta string Ta Ta
618The share name exposed to the guest.
619.It Va path Ta path Ta Ta
620The path of a directory on the host to export to the guest.
621.It Va ro Ta bool Ta false Ta
622If true, the guest filesystem is read-only.
623.El
624.Ss VirtIO Block Device Settings
625In addition to the block device settings described above, each
626VirtIO block device supports the following settings:
627.Bl -column "model" "integer" "generated"
628.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
629.It Va ser Ta string Ta generated Ta
630Serial number of up to twenty characters.
631A default serial number is generated using a hash of the backing
632store's pathname.
633.El
634.Ss VirtIO Console Device Settings
635Each VirtIO Console device contains one or more console ports.
636Each port stores its settings in a node named
637.Dq port. Ns Va N
638under the controller's device node.
639The
640.Va N
641values are formatted as successive decimal values starting with 0.
642Each port supports the following settings:
643.Bl -column "Name" "Format" "Default"
644.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
645.It Va name Ta string Ta Ta
646The name of the port exposed to the guest.
647.It Va path Ta path Ta Ta
648The path of a UNIX domain socket providing the host connection for the port.
649.El
650.Sh SEE ALSO
651.Xr strtoul 3C ,
652.Xr getaddrinfo 3SOCKET ,
653.Xr bhyve 8
654