git: 7cfebf2a3b - main - Status/2026Q3/bhyve-cpuid.adoc: Add report
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 21 Oct 2026 12:06:04 UTC
The branch main has been updated by salvadore:
URL: https://cgit.FreeBSD.org/doc/commit/?id=7cfebf2a3beebd30dd663ee0c2f3ee57978b771b
commit 7cfebf2a3beebd30dd663ee0c2f3ee57978b771b
Author: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
AuthorDate: 2026-10-06 21:12:07 +0000
Commit: Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2026-10-21 12:02:05 +0000
Status/2026Q3/bhyve-cpuid.adoc: Add report
Pull Request: https://github.com/freebsd/freebsd-doc/pull/725
---
.../status/report-2026-07-2026-09/bhyve-cpuid.adoc | 48 ++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/website/content/en/status/report-2026-07-2026-09/bhyve-cpuid.adoc b/website/content/en/status/report-2026-07-2026-09/bhyve-cpuid.adoc
new file mode 100644
index 0000000000..792a67e0fc
--- /dev/null
+++ b/website/content/en/status/report-2026-07-2026-09/bhyve-cpuid.adoc
@@ -0,0 +1,48 @@
+=== Full CPUID Control for bhyve
+
+Contact: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
+
+==== Project Overview
+
+Ongoing work on this project aims to integrate the existing proof-of-concept work into FreeBSD, and to add the following usability features:
+
+- a user-friendly configuration method to override individual bits, parts or even whole CPUID functions as needed, while keeping the rest of the host CPUID information or a pre-defined CPUID configuration
+- a user-friendly configuration method for the hypervisor signature reported by bhyve
+- a set of predefined CPUID configurations based on common x86 architecture levels, perhaps also including a set of CPUID data for a few real CPU models, and a user-friendly configuration method to choose one for a VM
+
+==== Changes during the last quarter
+
+===== Changes to the bhyve configuration syntax
+
+There was a last minute change to the configuration syntax.
+Instead of using two different options `cpuid.enable` and `cpuid.disable` to enable or disable features by name, there is now a single `cpuid.features` option.
+This option accepts feature name, either prefixed with `-` to disable them, or prefixed with `+` or no prefix to enable a feature.
+
+===== Pre-defined CPU Models
+
+In addition to the abstract x86 architecture models, a number of CPU models have been implemented as pre-defined configuration file snippets.
+This currently ends with the Icelake generation for Intel and the Bulldozer generation for AMD.
+
+Many more cpuid configuration options have been introduced to ease writing of CPU model configurations, such as `cpuid.brand` for the CPU Brand String or `cpuid.vendor` to override the vendor identification.
+
+===== CPUID Constraints checks
+
+The constraints checks have been extended to allow defining bitmasks for values that can only be numerically lowered.
+
+A new configuration option `cpuid.check` has been introduced to override the default action regarding the constraints checks.
+It takes the values `fail` (the default), `warn`, `none`, and `fix`.
+
+===== Cache Configuration
+
+Default cache configurations have been added to the x86 architecture models and all pre-defined CPU models.
+
+===== Hypervisor Identification
+
+A new `cpuid.hypervisor` option allows easy overriding of the hypervisor identification in CPUID function 0x40000000.
+The real hypervisor identification and feature flags can still be queried by guests from CPUID function 0x40000100.
+
+==== Plans for the next quarter
+
+* Add more modern pre-defined CPU models
+* Update manpages man:bhyve[8], man:bhyve_config[5], and man:bhyvectl[8].
+* Get the whole wad reviewed and committed into FreeBSD.