Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/modules/vmt move vmt(4) from MD to MI, and add support v...
details: https://anonhg.NetBSD.org/src/rev/5810a6f2dff0
branches: trunk
changeset: 945363:5810a6f2dff0
user: ryo <ryo%NetBSD.org@localhost>
date: Tue Oct 27 08:57:10 2020 +0000
description:
move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling
- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb
diffstat:
distrib/sets/lists/man/mi | 11 +-
share/man/man4/Makefile | 5 +-
share/man/man4/man4.x86/Makefile | 4 +-
share/man/man4/man4.x86/vmt.4 | 80 --
share/man/man4/vmt.4 | 81 ++
sys/arch/evbarm/conf/GENERIC64 | 4 +-
sys/arch/x86/conf/files.x86 | 3 +-
sys/arch/x86/x86/identcpu.c | 8 +-
sys/arch/x86/x86/lapic.c | 8 +-
sys/arch/x86/x86/vmt.c | 1053 +------------------------------------
sys/arch/x86/x86/vmtreg.h | 112 ---
sys/arch/x86/x86/vmtvar.h | 134 ----
sys/conf/files | 5 +-
sys/dev/fdt/files.fdt | 6 +-
sys/dev/vmt/files.vmt | 2 +
sys/dev/vmt/vmt_subr.c | 1103 ++++++++++++++++++++++++++++++++++++++
sys/dev/vmt/vmtreg.h | 117 ++++
sys/dev/vmt/vmtvar.h | 221 +++++++
sys/modules/vmt/Makefile | 6 +-
19 files changed, 1567 insertions(+), 1396 deletions(-)
diffs (truncated from 3226 to 300 lines):
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Tue Oct 27 08:32:36 2020 +0000
+++ b/distrib/sets/lists/man/mi Tue Oct 27 08:57:10 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1706 2020/10/16 15:40:40 ryo Exp $
+# $NetBSD: mi,v 1.1707 2020/10/27 08:57:10 ryo Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -2024,6 +2024,7 @@
./usr/share/man/cat4/vlan.0 man-sys-catman .cat
./usr/share/man/cat4/vmmon.0 man-sys-catman .cat
./usr/share/man/cat4/vmnet.0 man-sys-catman .cat
+./usr/share/man/cat4/vmt.0 man-sys-catman .cat
./usr/share/man/cat4/vmx.0 man-sys-catman .cat
./usr/share/man/cat4/vnd.0 man-sys-catman .cat
./usr/share/man/cat4/voodoofb.0 man-sys-catman .cat
@@ -2089,7 +2090,7 @@
./usr/share/man/cat4/x86/tco.0 man-sys-catman .cat
./usr/share/man/cat4/x86/tprof_amdpmi.0 man-obsolete obsolete
./usr/share/man/cat4/x86/tprof_pmi.0 man-obsolete obsolete
-./usr/share/man/cat4/x86/vmt.0 man-sys-catman .cat
+./usr/share/man/cat4/x86/vmt.0 man-obsolete obsolete
./usr/share/man/cat4/x86/vmx.0 man-obsolete obsolete
./usr/share/man/cat4/xbd.0 man-sys-catman .cat
./usr/share/man/cat4/xbdback.0 man-sys-catman .cat
@@ -5164,6 +5165,7 @@
./usr/share/man/html4/vlan.html man-sys-htmlman html
./usr/share/man/html4/vmmon.html man-sys-htmlman html
./usr/share/man/html4/vmnet.html man-sys-htmlman html
+./usr/share/man/html4/vmt.html man-sys-htmlman html
./usr/share/man/html4/vmx.html man-sys-htmlman html
./usr/share/man/html4/vnd.html man-sys-htmlman html
./usr/share/man/html4/voodoofb.html man-sys-htmlman html
@@ -5229,7 +5231,7 @@
./usr/share/man/html4/x86/tco.html man-sys-htmlman html
./usr/share/man/html4/x86/tprof_amdpmi.html man-obsolete obsolete
./usr/share/man/html4/x86/tprof_pmi.html man-obsolete obsolete
-./usr/share/man/html4/x86/vmt.html man-sys-htmlman html
+./usr/share/man/html4/x86/vmt.html man-obsolete obsolete
./usr/share/man/html4/x86/vmx.html man-obsolete obsolete
./usr/share/man/html4/xbd.html man-sys-htmlman html
./usr/share/man/html4/xbdback.html man-sys-htmlman html
@@ -8236,6 +8238,7 @@
./usr/share/man/man4/vlan.4 man-sys-man .man
./usr/share/man/man4/vmmon.4 man-sys-man .man
./usr/share/man/man4/vmnet.4 man-sys-man .man
+./usr/share/man/man4/vmt.4 man-sys-man .man
./usr/share/man/man4/vmx.4 man-sys-man .man
./usr/share/man/man4/vnd.4 man-sys-man .man
./usr/share/man/man4/voodoofb.4 man-sys-man .man
@@ -8301,7 +8304,7 @@
./usr/share/man/man4/x86/tco.4 man-sys-man .man
./usr/share/man/man4/x86/tprof_amdpmi.4 man-obsolete obsolete
./usr/share/man/man4/x86/tprof_pmi.4 man-obsolete obsolete
-./usr/share/man/man4/x86/vmt.4 man-sys-man .man
+./usr/share/man/man4/x86/vmt.4 man-obsolete obsolete
./usr/share/man/man4/x86/vmx.4 man-obsolete obsolete
./usr/share/man/man4/xbd.4 man-sys-man .man
./usr/share/man/man4/xbdback.4 man-sys-man .man
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 share/man/man4/Makefile
--- a/share/man/man4/Makefile Tue Oct 27 08:32:36 2020 +0000
+++ b/share/man/man4/Makefile Tue Oct 27 08:57:10 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.710 2020/10/14 10:19:11 ryo Exp $
+# $NetBSD: Makefile,v 1.711 2020/10/27 08:57:10 ryo Exp $
# @(#)Makefile 8.1 (Berkeley) 6/18/93
MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -69,7 +69,8 @@
unix.4 userconf.4 \
vald.4 valz.4 veriexec.4 vga.4 vge.4 viaide.4 video.4 \
vio9p.4 vioif.4 viomb.4 viornd.4 vioscsi.4 virt.4 virtio.4 \
- vether.4 vlan.4 vmmon.4 vmnet.4 vmx.4 vnd.4 voodoofb.4 vr.4 vte.4 \
+ vether.4 vlan.4 vmmon.4 vmnet.4 vmt.4 vmx.4 vnd.4 voodoofb.4 vr.4 \
+ vte.4 \
wapbl.4 wb.4 wbsio.4 wd.4 wdc.4 wg.4 wi.4 wm.4 wpi.4 \
wsbell.4 wscons.4 wsdisplay.4 wsfont.4 wskbd.4 wsmouse.4 wsmux.4 \
xbox.4 xge.4 \
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 share/man/man4/man4.x86/Makefile
--- a/share/man/man4/man4.x86/Makefile Tue Oct 27 08:32:36 2020 +0000
+++ b/share/man/man4/man4.x86/Makefile Tue Oct 27 08:57:10 2020 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.20 2020/10/14 10:19:11 ryo Exp $
+# $NetBSD: Makefile,v 1.21 2020/10/27 08:57:10 ryo Exp $
MAN= amdpcib.4 apic.4 balloon.4 coretemp.4 est.4 fdc.4 \
fwhrng.4 hpet.4 ichlpcib.4 imcsmb.4 lpt.4 mem.4 odcm.4 powernow.4 \
- soekrisgpio.4 tco.4 vmt.4 \
+ soekrisgpio.4 tco.4 \
amdsmn.4 amdzentemp.4
MLINKS+=apic.4 ioapic.4 \
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 share/man/man4/man4.x86/vmt.4
--- a/share/man/man4/man4.x86/vmt.4 Tue Oct 27 08:32:36 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-.\" $NetBSD: vmt.4,v 1.6 2013/10/07 04:04:57 dholland Exp $
-.\" $OpenBSD: vmt.4,v 1.4 2010/10/26 05:07:31 jmc Exp $
-.\"
-.\" Copyright (c) 2008 Marco Peereboom <marco%openbsd.org@localhost>
-.\" Text was heavily borrowed from the IPMI spec V1.5
-.\"
-.\" Permission to use, copy, modify, and distribute this software for any
-.\" purpose with or without fee is hereby granted, provided that the above
-.\" copyright notice and this permission notice appear in all copies.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-.\" ACTION OF CONTRACT, NEGLIGENCE OR TORTIOUS ACTION, ARISING OUT OF
-.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.Dd October 6, 2013
-.Dt VMT 4 x86
-.Os
-.Sh NAME
-.Nm vmt
-.Nd VMware Tools driver
-.Sh SYNOPSIS
-.Cd "vmt0 at cpu0"
-.Sh DESCRIPTION
-The
-.Nm
-driver is a kernel level implementation of VMware Tools.
-VMware Tools are intended to provide better support for operating systems
-running inside virtual machines.
-.Pp
-.Nm
-handles shutdown, reboot, resume requests from the host by sending
-events using
-.Xr sysmon_pswitch 9
-of type PSWITCH_TYPE_POWER, PSWITCH_TYPE_RESET, and PSWITCH_TYPE_SLEEP that
-can be handled by
-.Xr powerd 8 .
-.Nm
-will log notifications that the guest has been suspended or resumed by the
-host.
-.\" It also provides access to the host machine's clock as a timedelta sensor.
-.Pp
-.Nm
-reports the guest's hostname and first non-loopback IP address to the host.
-.Ss Clock synchronization
-The
-.Nm
-driver synchronizes the virtual machine's clock with the host clock in the
-following situations:
-.Bl -bullet
-.It
-When the virtual machine resumes after having been suspended.
-.It
-Periodically with the interval indicated by the
-.Va machdep.vmt0.clock_sync.period
-.Xr sysctl 8
-variable.
-This is done so that the virtual machine can keep its clock synchronized
-when the host is suspended, because in this case the
-.Nm
-driver receives no notification of such an event.
-Setting this tunable to zero disables clock synchronization.
-.El
-.Sh SEE ALSO
-.\" .Xr cpu 4 ,
-.Xr powerd 8
-.Sh HISTORY
-The
-.Nm
-driver first appeared in
-.Ox 4.4
-and was then ported to
-.Nx 6.0 .
-.Sh AUTHORS
-The
-.Nm
-driver was written by
-.An David Gwynne Aq Mt dlg%openbsd.org@localhost .
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 share/man/man4/vmt.4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/vmt.4 Tue Oct 27 08:57:10 2020 +0000
@@ -0,0 +1,81 @@
+.\" $NetBSD: vmt.4,v 1.3 2020/10/27 08:57:10 ryo Exp $
+.\" $OpenBSD: vmt.4,v 1.4 2010/10/26 05:07:31 jmc Exp $
+.\"
+.\" Copyright (c) 2008 Marco Peereboom <marco%openbsd.org@localhost>
+.\" Text was heavily borrowed from the IPMI spec V1.5
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.Dd October 6, 2013
+.Dt VMT 4 x86
+.Os
+.Sh NAME
+.Nm vmt
+.Nd VMware Tools driver
+.Sh SYNOPSIS
+.Cd "vmt0 at cpu0"
+.Cd "vmt0 at fdt?"
+.Sh DESCRIPTION
+The
+.Nm
+driver is a kernel level implementation of VMware Tools.
+VMware Tools are intended to provide better support for operating systems
+running inside virtual machines.
+.Pp
+.Nm
+handles shutdown, reboot, resume requests from the host by sending
+events using
+.Xr sysmon_pswitch 9
+of type PSWITCH_TYPE_POWER, PSWITCH_TYPE_RESET, and PSWITCH_TYPE_SLEEP that
+can be handled by
+.Xr powerd 8 .
+.Nm
+will log notifications that the guest has been suspended or resumed by the
+host.
+.\" It also provides access to the host machine's clock as a timedelta sensor.
+.Pp
+.Nm
+reports the guest's hostname and first non-loopback IP address to the host.
+.Ss Clock synchronization
+The
+.Nm
+driver synchronizes the virtual machine's clock with the host clock in the
+following situations:
+.Bl -bullet
+.It
+When the virtual machine resumes after having been suspended.
+.It
+Periodically with the interval indicated by the
+.Va machdep.vmt0.clock_sync.period
+.Xr sysctl 8
+variable.
+This is done so that the virtual machine can keep its clock synchronized
+when the host is suspended, because in this case the
+.Nm
+driver receives no notification of such an event.
+Setting this tunable to zero disables clock synchronization.
+.El
+.Sh SEE ALSO
+.\" .Xr cpu 4 ,
+.Xr powerd 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Ox 4.4
+and was then ported to
+.Nx 6.0 .
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An David Gwynne Aq Mt dlg%openbsd.org@localhost .
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 sys/arch/evbarm/conf/GENERIC64
--- a/sys/arch/evbarm/conf/GENERIC64 Tue Oct 27 08:32:36 2020 +0000
+++ b/sys/arch/evbarm/conf/GENERIC64 Tue Oct 27 08:57:10 2020 +0000
@@ -1,5 +1,5 @@
#
-# $NetBSD: GENERIC64,v 1.163 2020/10/15 04:39:24 ryo Exp $
+# $NetBSD: GENERIC64,v 1.164 2020/10/27 08:57:10 ryo Exp $
#
# GENERIC ARM (aarch64) kernel
#
@@ -100,6 +100,8 @@
cpu* at fdt? pass 0
cpu* at acpi?
+vmt* at fdt? # VMware Tools
+
# Performance monitors
armpmu* at fdt?
pseudo-device tprof
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 sys/arch/x86/conf/files.x86
--- a/sys/arch/x86/conf/files.x86 Tue Oct 27 08:32:36 2020 +0000
+++ b/sys/arch/x86/conf/files.x86 Tue Oct 27 08:57:10 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: files.x86,v 1.119 2020/08/01 12:15:40 jdolecek Exp $
+# $NetBSD: files.x86,v 1.120 2020/10/27 08:57:11 ryo Exp $
# options for MP configuration through the MP spec
defflag opt_mpbios.h MPBIOS MPDEBUG MPBIOS_SCANPCI
@@ -74,7 +74,6 @@
attach viac7temp at cpufeaturebus
file arch/x86/x86/viac7temp.c viac7temp
-device vmt: sysmon_power, sysmon_taskq
attach vmt at cpufeaturebus
file arch/x86/x86/vmt.c vmt
diff -r 8c14bc85a9b4 -r 5810a6f2dff0 sys/arch/x86/x86/identcpu.c
--- a/sys/arch/x86/x86/identcpu.c Tue Oct 27 08:32:36 2020 +0000
Home |
Main Index |
Thread Index |
Old Index