From nobody Tue Mar 31 02:32:51 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 4flBwz5Qh0z6Wgcy for ; Tue, 31 Mar 2026 02:32:51 +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 4flBwz3gJ6z3qYn for ; Tue, 31 Mar 2026 02:32:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774924371; 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=lwxVvhM6mcvRp0l8N+Db7hij/x+JJabq/rXAOHaeFcY=; b=qrRUt99R9V5Zd84ziN+n+40RjF/R0j6ti7/RoKTso5sy4b6c6scSxbeTyCiPCrnoMHQWxn eB21323Od7ZwPzb1jSWmluksNVwIcfG4DnJVZeG1/+eFT7VP535hwUbxilwxeqxGxpT5Rc r4ngMu3omdks2p2hynY4XpnVGBXIkGuFmvsYv4TaRjVPXlrhFDpN50ixMyEAutnOgdHdad QGmFajmSZ/Tyhe2gwiy01RkGQWjg5jR8Bq2f6DyqQDoVR6QIqy5G8T2TbcDpxRRBc1eZcl ZgFC7d7HgDRkSl+TCelFkYihVJl+vYT/Y/twdm6TrFcf7GWlt/anAeKFdeqwrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774924371; a=rsa-sha256; cv=none; b=rRh7Sy6ryVFIYyWWC8CAa1j9hTJQi4yz5L73sQ2bm7tAlKx30+ECJXQGrjC2aGzMHsra8a Kw5N4xTs/k5MHIonNo2Yaf4psTseXagzmYvvD0B0o4urBVBrnTZMcMq92YfUiEZk2Es6Fz d0uQwuG65EPxgmkNT5nrOJ81ADFNWnRVw2aPFYovDINB5KxgF9BgLhmDImkWcBSMZwfnzU Ato0GjVYv6z/9DFeu/fvAaxAWIMl8NJSdJcyAl0LBPZVfpeMOcCrTRkhkqENtWDzuTeLZv PpIJezc/SEgV6+U1QYrFlVzXwz56bRwhHNHJwzZihubtkzJjBaqQfePlA5UWsA== 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=1774924371; 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=lwxVvhM6mcvRp0l8N+Db7hij/x+JJabq/rXAOHaeFcY=; b=m/pC5ieDnRNBLUH3uIbgU2yCWV5Ze4Jm5LQMcUwnwYz1GmL5kRotZ4qycOOjEIYYTgM1ke JogAont4BeLCYB4aRVdUlU7UyQNI9MnGRNyAGyCt1QdkH6bfoxLXPnn1J4I0yDL1++DLRI P2oja7izdEcL0LTdlqHY3UWlGXnh1MwUArcw2DiJHWkA0ixtVyndRjVyC/2WHNIPwhAmph +OcGUb2/QjdPF1+uJYRXPZmnfV2h+KmDSJXpk7FNNi2VTbiaBbUCEmJYew8L4HIrTeAY6V 8Y1K8C/n3qMfWnxwP9aG8TYB7mHYqapcA0Mul7entLISZMLtTFJwVHfd2j4YzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4flBwz36J3z18Mh for ; Tue, 31 Mar 2026 02:32:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 240c9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 31 Mar 2026 02:32:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Alexander Ziaee Subject: git: 59cb18f35617 - main - 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/main X-Git-Reftype: branch X-Git-Commit: 59cb18f35617d3a53f7d7e142b4f91ad7951f5e0 Auto-Submitted: auto-generated Date: Tue, 31 Mar 2026 02:32:51 +0000 Message-Id: <69cb3253.240c9.73903bbb@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=59cb18f35617d3a53f7d7e142b4f91ad7951f5e0 commit 59cb18f35617d3a53f7d7e142b4f91ad7951f5e0 Author: Christos Longros AuthorDate: 2026-03-31 02:24:16 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-31 02:31:43 +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 --- 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 ade0168cb0a6..c35859b30b60 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -624,6 +624,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 .