1.\" $OpenBSD: vmd.8,v 1.10 2022/01/05 17:39:25 jmc Exp $ 2.\" 3.\" Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: January 5 2022 $ 18.Dt VMD 8 19.Os 20.Sh NAME 21.Nm vmd 22.Nd virtual machine daemon 23.Sh SYNOPSIS 24.Nm vmd 25.Op Fl dnv 26.Op Fl D Ar macro Ns = Ns Ar value 27.Op Fl f Ar file 28.Sh DESCRIPTION 29.Nm 30is a daemon responsible for the execution of virtual machines (VMs) on a 31host. 32.Nm 33is typically started at boot time and is controlled via 34.Xr vmctl 8 . 35.Pp 36To have 37.Nm 38enabled at boot time, use 39.Dq rcctl enable vmd , 40which sets 41.Pp 42.Dl vmd_flags=\(dq\(dq 43.Pp 44in 45.Xr rc.conf.local 8 . 46.Pp 47.Nm 48interfaces with the virtual machine monitor (VMM) built into the kernel. 49One instance of 50.Nm 51will be spawned for each VM running on the host, plus extra instances 52for control operations. 53Each child 54.Nm 55will in turn create one or more VCPU (virtual CPU) threads responsible for 56driving the VM's operations using 57.Xr vmm 4 . 58.Pp 59.Nm 60is also responsible for proxying various other commands/requests from 61.Xr vmctl 8 , 62such as stopping VMs, and retrieving information from 63.Xr vmm 4 64about running VMs. 65.Pp 66The options are as follows: 67.Bl -tag -width Dssmacro=value 68.It Fl D Ar macro Ns = Ns Ar value 69Define 70.Ar macro 71to be set to 72.Ar value 73on the command line. 74Overrides the definition of 75.Ar macro 76in the configuration file. 77.It Fl d 78Do not daemonize and log to 79.Em stderr . 80.It Fl f Ar file 81Specify an alternative configuration file. 82The default is 83.Pa /etc/vm.conf . 84.It Fl n 85Configtest mode. 86Only check the configuration file for validity. 87.It Fl v 88Verbose mode. 89Multiple 90.Fl v 91options increase the verbosity. 92.El 93.Sh FILES 94.Bl -tag -width "/etc/firmware/vmm-biosXX" -compact 95.It Pa /etc/firmware/vmm-bios 96Default BIOS boot image. 97The BIOS is an external firmware file that is distributed separately 98due to an incompatible license. 99A prepackaged version of the firmware can be installed using 100.Xr fw_update 8 . 101.It Pa /etc/vm.conf 102Default configuration file. 103This is optional. 104.It Pa /var/run/vmd.sock 105.Ux Ns -domain 106socket used for communication with 107.Xr vmctl 8 . 108.El 109.Sh SEE ALSO 110.Xr vmm 4 , 111.Xr vm.conf 5 , 112.Xr rc.conf 8 , 113.Xr vmctl 8 114.Sh HISTORY 115The 116.Nm 117command first appeared in 118.Ox 5.9 . 119.Sh AUTHORS 120.An Mike Larkin Aq Mt mlarkin@openbsd.org 121and 122.An Reyk Floeter Aq Mt reyk@openbsd.org 123