aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Longros <chris.longros@gmail.com>2026-03-31 02:24:16 +0000
committerAlexander Ziaee <ziaee@FreeBSD.org>2026-03-31 02:31:43 +0000
commit59cb18f35617d3a53f7d7e142b4f91ad7951f5e0 (patch)
tree0ed0322d203b019192fef84de75c5080169bdf25
parentd15733065c4221dcd5bb3622d225760f271f6fc9 (diff)
vmgenc.4: Add VM Generation ID Counter manual
Document the vmgenc(4) ACPI driver which detects virtual machine cloning and snapshot restoration via the VM Generation ID specification. The driver reseeds the kernel entropy pool when a generation change is detected. MFC after: 3 days Reviewed by: cem (previous), ziaee Signed-off-by: Christos Longros <chris.longros@gmail.com> Differential Revision: https://reviews.freebsd.org/D56011
-rw-r--r--share/man/man4/Makefile1
-rw-r--r--share/man/man4/vmgenc.462
2 files changed, 63 insertions, 0 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index ade0168cb0a6..c35859b30b60 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -624,6 +624,7 @@ MAN= aac.4 \
virtio_random.4 \
virtio_scsi.4 \
${_vmci.4} \
+ vmgenc.4 \
vkbd.4 \
vlan.4 \
vxlan.4 \
diff --git a/share/man/man4/vmgenc.4 b/share/man/man4/vmgenc.4
new file mode 100644
index 000000000000..1938e7f70eac
--- /dev/null
+++ b/share/man/man4/vmgenc.4
@@ -0,0 +1,62 @@
+.\"
+.\" Copyright (c) 2026 Christos Longros <chris.longros@gmail.com>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd March 21, 2026
+.Dt VMGENC 4
+.Os
+.Sh NAME
+.Nm vmgenc
+.Nd ACPI virtual machine generation ID counter
+.Sh SYNOPSIS
+.Cd device vmgenc
+.Pp
+In
+.Xr loader.conf 5 :
+.Cd vmgenc_load="YES"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for the Virtual Machine Generation ID,
+a 128-bit unique identifier exposed by the hypervisor via ACPI.
+The hypervisor changes this identifier whenever the virtual machine
+is cloned, restored from a snapshot, or otherwise duplicated.
+.Pp
+When a generation ID change is detected, the
+.Nm
+driver feeds the new identifier into the kernel entropy pool via
+.Xr random 4 ,
+ensuring that duplicated virtual machines do not share
+cryptographic state.
+The driver also sends a
+.Xr devctl 4
+event and an internal kernel notification so that other subsystems
+can respond to the duplication.
+.Pp
+The Virtual Machine Generation ID specification is supported by
+QEMU, VMware ESXi, Microsoft Hyper-V, and Xen.
+.Sh SYSCTL VARIABLES
+The following variable is available:
+.Bl -tag -width indent
+.It Va dev.vmgenc.%d.guid
+The current cached VM generation counter as a 128-bit value.
+This value is updated each time the hypervisor signals a
+generation change.
+.El
+.Sh SEE ALSO
+.Xr acpi 4 ,
+.Xr random 4
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 13.0 .
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An Conrad Meyer Aq Mt cem@FreeBSD.org .
+.Pp
+This manual page was written by
+.An Christos Longros Aq Mt chris.longros@gmail.com .