aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2024-08-28 09:31:35 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2024-09-04 00:52:30 +0000
commit9fe5e83e44d6f7dde23b60ed6e09626d31e5c46a (patch)
tree832fa91e5abdb4b9a36604e3bad357c8c208d62a
parent8aa8d0aa64babc579a55a7ed27ea6385895901d3 (diff)
x86: Detect NVMM hypervisor
(cherry picked from commit f622dc5daecc5c05504cfc605b6f2d66a3bd90e8)
-rw-r--r--sys/kern/subr_param.c1
-rw-r--r--sys/sys/systm.h2
-rw-r--r--sys/x86/x86/identcpu.c1
3 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c
index c2672d98ba8d..0ea2279ef2e6 100644
--- a/sys/kern/subr_param.c
+++ b/sys/kern/subr_param.c
@@ -162,6 +162,7 @@ static const char *const vm_guest_sysctl_names[] = {
[VM_GUEST_BHYVE] = "bhyve",
[VM_GUEST_VBOX] = "vbox",
[VM_GUEST_PARALLELS] = "parallels",
+ [VM_GUEST_NVMM] = "nvmm",
[VM_LAST] = NULL
};
CTASSERT(nitems(vm_guest_sysctl_names) - 1 == VM_LAST);
diff --git a/sys/sys/systm.h b/sys/sys/systm.h
index d073c87af163..ee432fb0d864 100644
--- a/sys/sys/systm.h
+++ b/sys/sys/systm.h
@@ -81,7 +81,7 @@ extern u_long maxphys; /* max raw I/O transfer size */
*/
enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV,
VM_GUEST_VMWARE, VM_GUEST_KVM, VM_GUEST_BHYVE, VM_GUEST_VBOX,
- VM_GUEST_PARALLELS, VM_LAST };
+ VM_GUEST_PARALLELS, VM_GUEST_NVMM, VM_LAST };
#endif /* KERNEL */
diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c
index 992dbb421aa4..8a5d74ca5a2d 100644
--- a/sys/x86/x86/identcpu.c
+++ b/sys/x86/x86/identcpu.c
@@ -1388,6 +1388,7 @@ static struct {
{ "KVMKVMKVM", VM_GUEST_KVM }, /* KVM */
{ "bhyve bhyve ", VM_GUEST_BHYVE }, /* bhyve */
{ "VBoxVBoxVBox", VM_GUEST_VBOX }, /* VirtualBox */
+ { "___ NVMM ___", VM_GUEST_NVMM }, /* NVMM */
};
static void