xref: /src/share/man/man4/vmgenc.4 (revision 59cb18f35617d3a53f7d7e142b4f91ad7951f5e0)
1.\"
2.\" Copyright (c) 2026 Christos Longros <chris.longros@gmail.com>
3.\"
4.\" SPDX-License-Identifier: BSD-2-Clause
5.\"
6.Dd March 21, 2026
7.Dt VMGENC 4
8.Os
9.Sh NAME
10.Nm vmgenc
11.Nd ACPI virtual machine generation ID counter
12.Sh SYNOPSIS
13.Cd device vmgenc
14.Pp
15In
16.Xr loader.conf 5 :
17.Cd vmgenc_load="YES"
18.Sh DESCRIPTION
19The
20.Nm
21driver provides support for the Virtual Machine Generation ID,
22a 128-bit unique identifier exposed by the hypervisor via ACPI.
23The hypervisor changes this identifier whenever the virtual machine
24is cloned, restored from a snapshot, or otherwise duplicated.
25.Pp
26When a generation ID change is detected, the
27.Nm
28driver feeds the new identifier into the kernel entropy pool via
29.Xr random 4 ,
30ensuring that duplicated virtual machines do not share
31cryptographic state.
32The driver also sends a
33.Xr devctl 4
34event and an internal kernel notification so that other subsystems
35can respond to the duplication.
36.Pp
37The Virtual Machine Generation ID specification is supported by
38QEMU, VMware ESXi, Microsoft Hyper-V, and Xen.
39.Sh SYSCTL VARIABLES
40The following variable is available:
41.Bl -tag -width indent
42.It Va dev.vmgenc.%d.guid
43The current cached VM generation counter as a 128-bit value.
44This value is updated each time the hypervisor signals a
45generation change.
46.El
47.Sh SEE ALSO
48.Xr acpi 4 ,
49.Xr random 4
50.Sh HISTORY
51The
52.Nm
53driver first appeared in
54.Fx 13.0 .
55.Sh AUTHORS
56The
57.Nm
58driver was written by
59.An Conrad Meyer Aq Mt cem@FreeBSD.org .
60.Pp
61This manual page was written by
62.An Christos Longros Aq Mt chris.longros@gmail.com .
63