From nobody Fri Apr 10 18:31:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fslkN0z4zz6YBhh for ; Fri, 10 Apr 2026 18:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fslkM5NcKz42fR for ; Fri, 10 Apr 2026 18:31:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775845883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bcwjQyKXiD5nWgyxdZdO3DKGCGBTIFBKTtxCpoqTvfw=; b=T3dXdXdaaaE/y5SSadFuGSXIc8nuZ4GBQfPWTgP1QrmPxGixhJPfokjoRrx+Iy8uAdB3sZ gpKCreUVTg1eEHwHMI9WyC9z2VGP1o0QvX8wGXT3IMbgsjDNK4fKlFsFpfcTB+ln1H63Wg xB1aqiU2gDiSUq6ybTY9yW/Un7L61AKLO4/XmyENQlefufl2UdbP+ybWpunJtBopb9Kgn5 m37yPnMhRx3iL8GMW/S0H2lygl7oJCdLVQL+/O4l6ViRkk7ypdiPgBwUjrIAYW3qEDK45D nqTHkFtCNR53OHwTWN+RHm/ZE1s3VW2bbq+IEBAsePMb/y0AkK8PQYX9b4n9cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1775845883; a=rsa-sha256; cv=none; b=wMfX5+WMiLhdKC9Td1/0k21cie/JWSyBpS0IVhW8W/wi8K7H4CvfwxRzh5Ty4qNum2zL+2 zMkiZznTOIvdR/sXQXe0zGTKyGbwEZmPnqXpEcWIOIo8JeJlqE9FgjftHXHI17DsGYN+ou u/jha1bZ++yCrvw+lTiDQjZZsjohZGgxXklTUCrkPzuDF0SU03Osoi/4jTEDAhUNlwrygU CYEI99V7ZQLlVIqhRvnZmMPtuV+lzDrvq+b36oUCk75MShIyAGKNTATrY1N0OYo94SpDhz grdCdsMhTs8WAVDtVje7RnpP3vvdsYJRQTLxNrUOkS+tuXd4wsNYU/W+BiLYPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775845883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bcwjQyKXiD5nWgyxdZdO3DKGCGBTIFBKTtxCpoqTvfw=; b=KO2PgVgmdnjZ9hlbSMSQKOMYWKPNzK/szDWPAu7SdRUL88rCARjLKN3sQkF8KdRA0oK3Lo OZlBZSjqjZfJJeAIbQPeitb1eNy61PoG0v4mYVhOsm+ot0OH+xHGbkByMaDNwXUbdAuvL5 oI6ygFJJq0xmQ0K8bEmSfotzCTmVg+MNgZmdCMNOV6lRMVocsIoZ82FFxADsXx2vXtrHfD CCSn3ePnVTsL6HCKHeMFOjSo/2Kpp4gA4hf1WRs5WmnUTENxmC8Vc2OdCHQKpBCdXWAaBj XfvFCGXXvp5F39LxpSjwo8C1Z0NtsRmB8sPfuAkerpnYfRhxazKio6n2gqpiKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fslkM4j9mzwQS for ; Fri, 10 Apr 2026 18:31:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 390f1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Apr 2026 18:31:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christos Longros From: Alexander Ziaee Subject: git: 252f0c28855b - stable/15 - vmgenc.4: Add VM Generation ID Counter manual List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 252f0c28855bf089d0e54147c52af8f8d6961cdc Auto-Submitted: auto-generated Date: Fri, 10 Apr 2026 18:31:23 +0000 Message-Id: <69d941fb.390f1.6f4c8095@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=252f0c28855bf089d0e54147c52af8f8d6961cdc commit 252f0c28855bf089d0e54147c52af8f8d6961cdc Author: Christos Longros AuthorDate: 2026-03-31 02:24:16 +0000 Commit: Alexander Ziaee CommitDate: 2026-04-10 18:30:15 +0000 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 Differential Revision: https://reviews.freebsd.org/D56011 (cherry picked from commit 59cb18f35617d3a53f7d7e142b4f91ad7951f5e0) --- share/man/man4/Makefile | 1 + share/man/man4/vmgenc.4 | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index ecf10bc693c8..62d0b8f77f0f 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -621,6 +621,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 +.\" +.\" 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 .