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
This commit is contained in:
Christos Longros
2026-03-30 22:24:16 -04:00
committed by Alexander Ziaee
parent d15733065c
commit 59cb18f356
2 changed files with 63 additions and 0 deletions
+1
View File
@@ -624,6 +624,7 @@ MAN= aac.4 \
virtio_random.4 \
virtio_scsi.4 \
${_vmci.4} \
vmgenc.4 \
vkbd.4 \
vlan.4 \
vxlan.4 \
+62
View File
@@ -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 .