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