blob: 1938e7f70eac547ab50f74c1a355477a08d1deca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 .
|