xref: /openbsd/usr.sbin/vmd/vmd.8 (revision 4bdff4be)
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