1.\" $NetBSD: vmt.4,v 1.5 2024/05/09 12:41:08 pho Exp $ 2.\" $OpenBSD: vmt.4,v 1.4 2010/10/26 05:07:31 jmc Exp $ 3.\" 4.\" Copyright (c) 2008 Marco Peereboom <marco@openbsd.org> 5.\" Text was heavily borrowed from the IPMI spec V1.5 6.\" 7.\" Permission to use, copy, modify, and distribute this software for any 8.\" purpose with or without fee is hereby granted, provided that the above 9.\" copyright notice and this permission notice appear in all copies. 10.\" 11.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16.\" ACTION OF CONTRACT, NEGLIGENCE OR TORTIOUS ACTION, ARISING OUT OF 17.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18.Dd October 6, 2013 19.Dt VMT 4 x86 20.Os 21.Sh NAME 22.Nm vmt 23.Nd VMware Tools driver 24.Sh SYNOPSIS 25.Cd "vmt0 at cpu0" 26.Sh DESCRIPTION 27The 28.Nm 29driver is a kernel level implementation of VMware Tools. 30VMware Tools are intended to provide better support for operating systems 31running inside virtual machines. 32.Pp 33.Nm 34handles shutdown, reboot, resume requests from the host by sending 35events using 36.Xr sysmon_pswitch 9 37of type PSWITCH_TYPE_POWER, PSWITCH_TYPE_RESET, and PSWITCH_TYPE_SLEEP that 38can be handled by 39.Xr powerd 8 . 40.Nm 41will log notifications that the guest has been suspended or resumed by the 42host. 43.\" It also provides access to the host machine's clock as a timedelta sensor. 44.Pp 45.Nm 46reports the guest's hostname and first non-loopback IP address to the host. 47.Ss Clock synchronization 48The 49.Nm 50driver synchronizes the virtual machine's clock with the host clock in the 51following situations: 52.Bl -bullet 53.It 54When the virtual machine resumes after having been suspended. 55.It 56Periodically with the interval indicated by the 57.Va machdep.vmt0.clock_sync.period 58.Xr sysctl 8 59variable. 60This is done so that the virtual machine can keep its clock synchronized 61when the host is suspended, because in this case the 62.Nm 63driver receives no notification of such an event. 64Setting this tunable to zero disables clock synchronization. 65.El 66.Sh SEE ALSO 67.\" .Xr cpu 4 , 68.Xr powerd 8 69.Sh HISTORY 70The 71.Nm 72driver first appeared in 73.Ox 4.4 74and was then ported to 75.Nx 6.0 . 76.Sh AUTHORS 77The 78.Nm 79driver was written by 80.An David Gwynne Aq Mt dlg@openbsd.org . 81.Sh BUGS 82.Nm 83is known to cause a conflict with 84.Xr vmtoolsd 8 85from 86.Li open-vm-tools . 87.Nm 88works by establishing an RPC channel called TCLO between VMware guest and 89host to receive controlling messages from the host. The problem is that 90.Nm 91is essentially a subset of 92.Xr vmtoolsd 8 , 93and they both use the same RPC channel, but TCLO is never meant to be 94simultaneously used by two distinct services in the same VM guest. So when 95.Xr vmtoolsd 8 96is running while also 97.Nm 98is active, they continually fight for the channel, both get rejected by the 99confused VM host, and neither one can establish a stable communication 100line. 101.Pp 102So before launching 103.Xr vmtoolsd 8 104the 105.Nm 106driver should be detached by running: 107.Bd -literal -offset indent 108# drvctl -d vmt0 109.Ed 110.Pp 111And after terminating 112.Xr vmtoolsd 8 113the 114.Nm 115driver should be re-attached by running: 116.Bd -literal -offset indent 117# drvctl -r -a cpufeaturebus cpu0 118.Ed 119