summaryrefslogtreecommitdiff
path: root/usr/src/man/man4/bhyve_config.4
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man4/bhyve_config.4')
-rw-r--r--usr/src/man/man4/bhyve_config.4524
1 files changed, 0 insertions, 524 deletions
diff --git a/usr/src/man/man4/bhyve_config.4 b/usr/src/man/man4/bhyve_config.4
deleted file mode 100644
index 94572b7ace..0000000000
--- a/usr/src/man/man4/bhyve_config.4
+++ /dev/null
@@ -1,524 +0,0 @@
-.\" SPDX-License-Identifier: BSD-2-Clause
-.\"
-.\" Copyright (c) 2021 John H. Baldwin <jhb@FreeBSD.org>
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" Portions Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
-.\"
-.Dd February 26, 2022
-.Dt BHYVE_CONFIG 4
-.Os
-.Sh NAME
-.Nm bhyve_config
-.Nd "bhyve configuration variables"
-.Sh DESCRIPTION
-.Xr bhyve 1M
-uses a hierarchical tree of configuration variables to describe global and
-per-device settings.
-Internal nodes in this tree do not have a value,
-only leaf nodes have values.
-This manual describes the configuration variables understood by
-.Xr bhyve 1M .
-If additional variables are defined,
-.Xr bhyve 1M
-will ignore them and will not emit errors for unknown variables.
-However, these additional variables can be referenced by other
-variables as described below.
-.Sh VARIABLE VALUES
-Configuration variable values are stored as strings.
-A configuration variable value may refer to one or more other
-configuration values by name.
-Instances of the pattern
-.Sq % Ns Pq Ar var
-are replaced by the value of the configuration variable
-.Va var .
-To avoid unwanted expansion,
-.Sq %
-characters can be escaped by a leading
-.Sq % .
-For example,
-if a configuration variable
-.Va disk
-uses the value
-.Pa /dev/zvol/bhyve/%(name) ,
-then the final value of the
-.Va disk
-variable will be set to the path of a ZFS volume whose name matches
-the name of the virtual machine on the pool
-.Pa bhyve .
-.Pp
-Some configuration variables may be interpreted as a boolean value.
-For those variables the following case-insensitive values may be used to
-indicate true:
-.Pp
-.Bl -bullet -offset indent -compact
-.It
-true
-.It
-on
-.It
-yes
-.It
-1
-.El
-.Pp
-The following values may be used to indicate false:
-.Pp
-.Bl -bullet -offset indent -compact
-.It
-false
-.It
-off
-.It
-no
-.It
-0
-.El
-.Pp
-Some configuration variables may be interpreted as an integer.
-For those variables,
-any syntax supported by
-.Xr strtoul 3C
-may be used.
-.Sh GLOBAL SETTINGS
-.Ss Architecture Neutral Settings
-.Bl -column "memory.guest_in_core" "integer" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va name Ta string Ta Ta
-The name of the VM.
-.It Va cpus Ta integer Ta 1 Ta
-The total number of virtual CPUs.
-.It Va cores Ta integer Ta 1 Ta
-The number of virtual cores in each virtual socket.
-.It Va threads Ta integer Ta 1 Ta
-The number of virtual CPUs in each virtual core.
-.It Va sockets Ta integer Ta 1 Ta
-The number of virtual sockets.
-.It Va memory.size Ta string Ta 256M Ta
-Guest physical memory size.
-The size argument may be suffixed with one of K, M, G or T (either upper
-or lower case) to indicate a multiple of kibibytes, mebibytes, gibibytes,
-or tebibytes.
-If no suffix is given, the value is assumed to be in mebibytes.
-.It Va memory.wired Ta bool Ta false Ta
-Wire guest memory.
-.It Va acpi_tables Ta bool Ta false Ta
-Generate ACPI tables; these tables are
-.Em not
-used on illumos.
-.It Va destroy_on_poweroff Ta bool Ta false Ta
-Destroy the VM on guest-initiated power-off.
-.It Va gdb.address Ta string Ta localhost Ta
-Hostname, IP address, or IPv6 address for the debug server.
-.It Va gdb.port Ta integer Ta 0 Ta
-TCP port number for the debug server.
-If this is set to a non-zero value, a debug server
-will listen for connections on this port.
-.It Va gdb.wait Ta bool Ta false Ta
-If the debug server is enabled, wait for a debugger to connect
-before starting the guest.
-.It Va rtc.use_localtime Ta bool Ta true Ta
-The real time clock uses the local time of the host.
-If this is set to false, the real time clock uses UTC.
-.It Va uuid Ta string Ta Ta
-The universally unique identifier (UUID) to use in the guest's
-System Management BIOS System Information structure.
-If an explicit value is not set, a valid UUID is generated from
-the host's hostname and the VM name.
-.It Va virtio_msix Ta bool Ta true Ta
-Use MSI-X interrupts for PCI VirtIO devices.
-If set to false, MSI interrupts are used instead.
-.It Va config.dump Ta bool Ta false Ta
-If this value is set to true then, after parsing command line options,
-.Xr bhyve 1M
-will write all of its configuration variables to
-.Dv stdout
-and exit.
-No VM will be started.
-.It Va privileges.debug Ta bool Ta false Ta
-Enable debug messages relating to privilege management.
-These messages are sent to
-.Dv stdout .
-.El
-.Ss x86-Specific Settings
-.Bl -column "x86.vmexit_on_pause" "integer" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va x86.mptable Ta bool Ta true Ta
-Generate an MPTable.
-.It Va x86.x2apic Ta bool Ta false Ta
-Configure guest's local APICs in x2APIC mode.
-.It Va x86.strictio Ta bool Ta false Ta
-Exit if a guest accesses an I/O port that is not emulated.
-By default, writes are ignored and reads return all bits set.
-.It Va x86.strictmsr Ta bool Ta true Ta
-Inject a general protection fault if a guest accesses a Model Specific
-Register (MSR) that is not emulated.
-If this is false, writes are ignored and reads return zero.
-.It Va x86.vmexit_on_hlt Ta bool Ta false Ta
-Force a VM exit when a guest CPU executes the
-.Dv HLT
-instruction.
-This allows idle guest CPUs to yield the host CPU.
-.It Va x86.vmexit_on_pause Ta bool Ta false Ta
-Force a VM exit when a guest CPU executes the
-.Dv PAUSE
-instruction.
-.El
-.Sh DEVICE SETTINGS
-Device settings are stored under a device node.
-The device node's name is set by the parent bus of the device.
-.Ss PCI Device Settings
-PCI devices are described by a device node named
-.Dq pci . Ns Ar bus . Ns Ar slot . Ns Ar function
-where each of
-.Ar bus ,
-.Ar slot ,
-and
-.Ar function
-are formatted as decimal values with no padding.
-All PCI device nodes must contain a configuration variable named
-.Dq device
-which specifies the device model to use.
-The following PCI device models are supported:
-.Bl -tag -width indent
-.It Li hostbridge
-Provide a simple PCI-Host bridge device.
-This is usually configured at pci0:0:0 and is required by most guest
-operating systems.
-.It Li ahci
-AHCI storage controller.
-.It Li e1000
-Intel e82545 network interface.
-.It Li fbuf
-VGA framebuffer device attached to VNC server.
-.It Li lpc
-LPC PCI-ISA bridge with COM1-COM4 16550 serial ports,
-a boot ROM,
-and an optional debug/test device.
-This device must be configured on bus 0.
-.It Li nvme
-NVM Express (NVMe) controller.
-.It Li passthru
-PCI pass-through device.
-.It Li uart
-PCI 16550 serial device.
-.It Li virtio-9p
-VirtIO 9p (VirtFS) interface.
-.It Li virtio-blk
-VirtIO block storage interface.
-.It Li virtio-console
-VirtIO console interface.
-.It Li virtio-net-viona
-Accelerated VirtIO network interface.
-.It Li net-viona
-Legacy VirtIO network interface.
-.It Li virtio-rnd
-VirtIO random number generator interface.
-.It Li xhci
-Extensible Host Controller Interface (XHCI) USB controller.
-.El
-.Ss USB Device Settings
-USB controller devices contain zero or more child USB devices
-attached to slots.
-Each USB device stores its settings in a node named
-.Dq slot. Ns Va N
-under the controller's device node.
-.Va N
-is the number of the slot to which the USB device is attached.
-Note that USB slot numbers begin at 1.
-All USB device nodes must contain a configuration variable named
-.Dq device
-which specifies the device model to use.
-The following USB device models are supported:
-.Bl -tag -width indent
-.It Li tablet
-A USB tablet device which provides precise cursor synchronization
-when using VNC.
-.El
-.Ss Block Device Settings
-Block devices use the following settings to configure their backing store.
-These settings are stored in the configuration node of the respective device.
-.Bl -column "sectorsize" "logical[/physical]" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It path Ta string Ta Ta
-The path of the file or disk device to use as the backing store.
-.It nocache Ta bool Ta false Ta
-Disable caching on the backing file by opening the backing file with
-.Dv O_DIRECT .
-.It nodelete Ta bool Ta false Ta
-Disable emulation of guest trim requests via
-.Dv DIOCGDELETE
-requests.
-.It sync Ta bool Ta false Ta
-Write changes to the backing file with synchronous writes.
-.It direct Ta bool Ta false Ta
-An alias for
-.Va sync .
-.It ro Ta bool Ta false Ta
-Disable writes to the backing file.
-.It sectorsize Ta Va logical Ns Op / Ns Va physical Ta Ta
-Specify the logical and physical sector size of the emulated disk.
-If the physical size is not specified, it is set to be equal to the logical
-size.
-.El
-.Ss virtio-net-viona Network Backend Settings
-Viona network devices use the following settings to configure their backend.
-.Bl -column "feature_flags" "string" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It vnic Ta string Ta Ta
-The VNIC to use for the network connection.
-.It feature_mask Ta integer Ta 0 Ta
-Specify a mask to apply to the virtio features advertised to the guest.
-.El
-.Ss Other Network Backend Settings
-Other network devices use the following settings to configure their backend.
-.Bl -column "feature_flags" "string" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It vnic Ta string Ta Ta
-The VNIC to use for the network connection.
-.It promiscphys Ta bool Ta false Ta
-Enable promiscuous mode at the physical level.
-.It promiscsap Ta bool Ta true Ta
-Enable promiscuous mode at the SAP level.
-.It promiscmulti Ta bool Ta true Ta
-Enable promiscuous mode for all multicast addresses.
-.It promiscrxonly Ta bool Ta true Ta
-The selected promiscuous modes are only enabled for received traffic.
-.El
-.Ss UART Device Settings
-.Bl -column "Name" "Format" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va path Ta path Ta Ta
-Backend device for the serial port.
-Either the pathname of a character device or
-.Dq stdio
-to use standard input and output of the
-.Xr bhyve 1M
-process.
-.El
-.Ss Host Bridge Settings
-Host Bridge devices use the following settings.
-When configuring parameters, either the
-.Va model
-by itself, or both of
-.Va vendor
-and
-.Va devid
-must be specified.
-.Bl -column "vendor" "integer" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va model Ta string Ta netapp Ta
-Specify a hostbridge model to emulate.
-Valid model strings, and their associated vendor and device IDs are:
-.Sy amd Pq 0x1022/0x7432 ,
-.Sy netapp Pq 0x1275/0x1275 ,
-.Sy i440fx Pq 0x8086/0x1237
-and
-.Sy q35 Pq 0x8086/0x29b0 .
-.It Va vendor Ta integer Ta 0x1275 Ta
-PCI vendor ID.
-.It Va devid Ta integer Ta 0x1275 Ta
-PCI device ID.
-.El
-.Ss AHCI Controller Settings
-AHCI controller devices contain zero or more ports each of which
-provides a storage device.
-Each port stores its settings in a node named
-.Dq port. Ns Va N
-under the controller's device node.
-The
-.Va N
-values are formatted as successive decimal values starting with 0.
-In addition to the block device settings described above, each
-port supports the following settings:
-.Bl -column "model" "integer" "generated"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va type Ta string Ta Ta
-The type of storage device to emulate.
-Must be set to either
-.Dq cd
-or
-.Dq hd .
-.It Va nmrr Ta integer Ta 0 Ta
-Nominal Media Rotation Rate, also known as RPM.
-A value 1 of indicates a device with no rate such as a Solid State Disk.
-.It Va ser Ta string Ta generated Ta
-Serial number of up to twenty characters.
-A default serial number is generated using a hash of the backing
-store's pathname.
-.It Va rev Ta string Ta 001 Ta
-Revision number of up to eight characters.
-.It Va model Ta string Ta Ta
-Model number of up to forty characters.
-Separate default model strings are used for
-.Dq cd
-and
-.Dq hd
-device types.
-.El
-.Ss Frame Buffer Settings
-.Bl -column "password" "[IP:]port" "127.0.0.1:5900"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va wait Ta bool Ta false Ta
-Wait for a remote connection before starting the VM.
-.It Va rfb Ta Oo Ar IP Ns \&: Oc Ns Ar port Ta 127.0.0.1:5900 Ta
-TCP address to listen on for remote connections.
-The IP address must be given as a numeric address.
-IPv6 addresses must be enclosed in square brackets and
-support scoped identifiers as described in
-.Xr getaddrinfo 3SOCKET .
-A bare port number may be given in which case the IPv4
-localhost address is used.
-.It Va unix Ta string Ta Ta
-UNIX socket to listen on for VNC connections.
-.It Va vga Ta string Ta io Ta
-VGA configuration.
-More details are provided in
-.Xr bhyve 1M .
-.It Va w Ta integer Ta 1024 Ta
-Frame buffer width in pixels.
-.It Va h Ta integer Ta 768 Ta
-Frame buffer height in pixels.
-.It Va password Ta string Ta Ta
-Password to use for VNC authentication.
-This type of authentication is known to be cryptographically weak and is not
-intended for use on untrusted networks.
-.El
-.Ss LPC Device Settings
-The LPC bridge stores its configuration under a top-level
-.Va lpc
-node rather than under the PCI LPC device's node.
-The following nodes are available under
-.Va lpc :
-.Bl -column "pc-testdev" "Format" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va bootrom Ta path Ta Ta
-Path to a boot ROM.
-The contents of this file are copied into the guest's
-memory ending just before the 4GB physical address.
-If a boot ROM is present, a firmware interface device is
-also enabled for use by the boot ROM.
-.It Va com1 Ta node Ta Ta
-Settings for the COM1 serial port device.
-.It Va com2 Ta node Ta Ta
-Settings for the COM2 serial port device.
-.It Va com3 Ta node Ta Ta
-Settings for the COM3 serial port device.
-.It Va com4 Ta node Ta Ta
-Settings for the COM4 serial port device.
-.It Va pc-testdev Ta bool Ta false Ta
-Enable the PC debug/test device.
-.El
-.Ss NVMe Controller Settings
-Each NVMe controller supports a single storage device.
-The device can be backed either by a memory disk described by the
-.Va ram
-variable, or a block device using the block device settings described above.
-In addition, each controller supports the following settings:
-.Bl -column "ioslots" "Format" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va maxq Ta integer Ta 16 Ta
-Maximum number of I/O submission and completion queue pairs.
-.It Va qsz Ta integer Ta 2058 Ta
-Number of elements in each I/O queue.
-.It Va ioslots Ta integer Ta 8 Ta
-Maximum number of concurrent I/O requests.
-.It Va sectsz Ta integer Ta Ta
-Sector size.
-Can be one of 512, 4096, or 8192.
-Devices backed by a memory disk use 4096 as the default.
-Devices backed by a block device use the block device's sector size
-as the default.
-.It Va ser Ta string Ta Ta
-Serial number of up to twenty characters.
-A default serial number is generated using a hash of the device's PCI address.
-.It Va eui64 Ta integer Ta Ta
-IEEE Extended Unique Identifier.
-If an EUI is not provided, a default is generated using a checksum of the
-device's PCI address.
-.It Va dsm Ta string Ta auto Ta
-Whether or not to advertise Dataset Management (DSM) support.
-One of
-.Dq auto ,
-.Dq enable ,
-or
-.Dq disable .
-The
-.Dq auto
-setting only advertises support if the backing store supports
-resource freeing, for example via TRIM.
-.It Va ram Ta integer Ta Ta
-If set, allocate a memory disk as the backing store.
-The value of this variable is the size of the memory disk in megabytes.
-.El
-.Ss PCI Passthrough Settings
-.Bl -column "Name" "integer" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va path Ta string Ta Ta
-Path to a PCI passthrough device in the form
-.Pa /dev/ppt Ns Ar N
-where
-.Ar N
-is the device number.
-.El
-.Ss VirtIO 9p Settings
-Each VirtIO 9p device exposes a single filesystem from a host path.
-.Bl -column "sharename" "Format" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va sharename Ta string Ta Ta
-The share name exposed to the guest.
-.It Va path Ta path Ta Ta
-The path of a directory on the host to export to the guest.
-.It Va ro Ta bool Ta false Ta
-If true, the guest filesystem is read-only.
-.El
-.Ss VirtIO Block Device Settings
-In addition to the block device settings described above, each
-VirtIO block device supports the following settings:
-.Bl -column "model" "integer" "generated"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va ser Ta string Ta generated Ta
-Serial number of up to twenty characters.
-A default serial number is generated using a hash of the backing
-store's pathname.
-.El
-.Ss VirtIO Console Device Settings
-Each VirtIO Console device contains one or more console ports.
-Each port stores its settings in a node named
-.Dq port. Ns Va N
-under the controller's device node.
-The
-.Va N
-values are formatted as successive decimal values starting with 0.
-Each port supports the following settings:
-.Bl -column "Name" "Format" "Default"
-.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description
-.It Va name Ta string Ta Ta
-The name of the port exposed to the guest.
-.It Va path Ta path Ta Ta
-The path of a UNIX domain socket providing the host connection for the port.
-.El
-.Sh SEE ALSO
-.Xr bhyve 1M ,
-.Xr strtoul 3C ,
-.Xr getaddrinfo 3SOCKET