From nobody Thu Aug 6 22:31:49 2026 X-Original-To: dev-commits-src-branches@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 4hGMTK4zRMz6nLv2 for ; Thu, 06 Aug 2026 22:31:49 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hGMTK20fyz4PSg for ; Thu, 06 Aug 2026 22:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786055509; 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=HQsMPZFameE3K9gb2HmFy5R/pE/YQfT7jQEWZA9AKyU=; b=xVuMe/I8e65vSy6+fmMxXvr/1gtefx38+atprwoCckc9wBQY1aHv6TPRmhgCF73ZPyUvdm eX8qfv2XJ7RsWjap/mcCd0AEaZI0vBR+e1pw9BtMhdlSwKB2Y3LIFz8dC+p6mdqWSIl2NY q31ldGPBCsiOKm17Ibj2TAsebPJsd02VWvU687WURztn5i/+yYJysDiv10f03cNQ6RF0C+ vL+Ebqi3ZluiccboaGJhcbJPmxq089+TTdA+MnXwTjhPvFn6O3mUMVwhNE7G7mQoehJmfD mYvbsZWoUxKfD89TmG9Iu8aNNrpiXvA0klN/UXi8vfNzDemLTQOyn+bMa+/K2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786055509; a=rsa-sha256; cv=none; b=h6UVqYZzJFQbgajurVKyybEnLRz6k1eDB9ev/LN3EBwUaTFpY6VJQQYWJRAM+n3feNFCKi BJVf0uB0RApCzjv4283kbxJFwpXMsb1eIeW9BRqdzdaH1VUkmUD6t1PKhSJhhbbVzhdOgT TvHp71679HkpKruPxA0mkgR3paAfBtfysaZ344WpWhO2LDffQESnSBj2V8oj5mpi019+Io /B/idtBG9kZZp4Hy4wOQN5ZixZ+7fwFh/0gNfiGwZAv8XCBrS7u/EVtuOLe9WISWAqo/f0 Na9vMsf337XF4z9ZFCcJ3zQmn0+WKZVqz0D///Xzd5B8qfJ8TBk+mdgK2g/HfQ== 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=1786055509; 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=HQsMPZFameE3K9gb2HmFy5R/pE/YQfT7jQEWZA9AKyU=; b=RzKnUrQ1XRq8Qs8PGzOwOpc8tLO86QArUrHXrsWib/GWNNpvY/yQDg9zE47uatyNl1i6L/ CCfMh8DwsiGvqgGE00f0DWvUD4e6j2XJGP2a70qXiID54C4WIq+DACEYupIGp+KLfzVCpB Bspl2Qqw4xGEQyPB35HyKhLlpS8OnwB/RlfW79V0EYP/ZHiJ5kcX8LaR1R2WTpfwmAH8o9 40rP6sZnSEQCFqNfKEdUHLjXDsEo5X4hJ9JuTJHzt6dC/T7xBKEQRnogpaiLAqlSIcXQ2v IlWysDqu0x1YRUNztZtbFVHibEzFrkeZbG1BA4t6lkMtEdzoH52YRm304rca+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hGMTK0kspzh1S for ; Thu, 06 Aug 2026 22:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20701 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 06 Aug 2026 22:31:49 +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: 37bd9f15e37e - stable/14 - vmgenc.4: Add VM Generation ID Counter manual List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list 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/14 X-Git-Reftype: branch X-Git-Commit: 37bd9f15e37ed608fd910dfce4b0755cee49d2f2 Auto-Submitted: auto-generated Date: Thu, 06 Aug 2026 22:31:49 +0000 Message-Id: <6a750b55.20701.1b41ad59@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=37bd9f15e37ed608fd910dfce4b0755cee49d2f2 commit 37bd9f15e37ed608fd910dfce4b0755cee49d2f2 Author: Christos Longros AuthorDate: 2026-03-31 02:24:16 +0000 Commit: Alexander Ziaee CommitDate: 2026-08-06 22:25:14 +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 b51d80176d92..6c0dae2d2d30 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -593,6 +593,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 .