aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2026-02-22 04:09:00 +0000
committerColin Percival <cperciva@FreeBSD.org>2026-03-28 05:54:49 +0000
commit49b6254b3e09ee741f456617111ecb18803459fb (patch)
tree51c39f45d1ebba0d08ea17fd1b6e3fa396db7b59
parent9b18ba2c16a0750e6c78f348845368284ef1a704 (diff)
vmm: Move defines from x86.c to x86/bhyve.h
The values CPUID_BHYVE_FEATURES and CPUID_BHYVE_FEAT_EXT_DEST_ID are useful for guests, not just hosts; so they belong in a header file in sys/x86/include rather than simply in the .c file implementing the bhyve host side. The original addition of these defines took place without adding a copyright statement, but since I'm moving them into a new file I've added the original author's standard copyright (Amazon). MFC after: 3 weeks Fixes: 313a68ea20b4 ("bhyve: Add CPUID_BHYVE_FEATURES leaf") Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55430
-rw-r--r--sys/amd64/vmm/x86.c5
-rw-r--r--sys/x86/include/bhyve.h35
2 files changed, 36 insertions, 4 deletions
diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c
index f32107124eb8..6794110f067a 100644
--- a/sys/amd64/vmm/x86.c
+++ b/sys/amd64/vmm/x86.c
@@ -37,6 +37,7 @@
#include <machine/segments.h>
#include <machine/specialreg.h>
#include <machine/vmm.h>
+#include <x86/bhyve.h>
#include <dev/vmm/vmm_ktr.h>
#include <dev/vmm/vmm_vm.h>
@@ -50,12 +51,8 @@ static SYSCTL_NODE(_hw_vmm, OID_AUTO, topology, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
NULL);
#define CPUID_VM_SIGNATURE 0x40000000
-#define CPUID_BHYVE_FEATURES 0x40000001
#define CPUID_VM_HIGH CPUID_BHYVE_FEATURES
-/* Features advertised in CPUID_BHYVE_FEATURES %eax */
-#define CPUID_BHYVE_FEAT_EXT_DEST_ID (1UL << 0) /* MSI Extended Dest ID */
-
static const char bhyve_id[12] = "bhyve bhyve ";
static uint64_t bhyve_xcpuids;
diff --git a/sys/x86/include/bhyve.h b/sys/x86/include/bhyve.h
new file mode 100644
index 000000000000..215bee90bd1a
--- /dev/null
+++ b/sys/x86/include/bhyve.h
@@ -0,0 +1,35 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright © 2025 Amazon.com, Inc. or its affiliates.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _X86_BHYVE_H_
+#define _X86_BHYVE_H_
+
+/* Bhyve feature detection */
+#define CPUID_BHYVE_FEATURES 0x40000001
+#define CPUID_BHYVE_FEAT_EXT_DEST_ID (1UL << 0) /* MSI Extended Dest ID */
+
+#endif