From 2ea99d7c35a2da01464697da2b3f7672249673e9 Mon Sep 17 00:00:00 2001 From: Rain Date: Sun, 8 Nov 2026 17:02:26 -0800 Subject: [PATCH] bump bhyve API version to match stlouis illumos 18526 (vCPU sets as a vmm type, with `VM_GET_CPUS` accepting any `cpusetsize` up to a page) bumped `VMM_CURRENT_INTERFACE_VERSION` to 19 on stlouis, which fails `header-check`. Propolis does not use `struct vm_cpuset`, so we only need to bump the version. --- crates/bhyve-api/src/lib.rs | 6 +++++- crates/bhyve-api/sys/src/lib.rs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/bhyve-api/src/lib.rs b/crates/bhyve-api/src/lib.rs index a97ddf89f..08ad0acab 100644 --- a/crates/bhyve-api/src/lib.rs +++ b/crates/bhyve-api/src/lib.rs @@ -541,6 +541,10 @@ unsafe fn ioctl( #[repr(u32)] #[derive(Copy, Clone)] pub enum ApiVersion { + /// Make vCPU sets a vmm-specific type, and let `VM_GET_CPUS` accept any + /// `cpusetsize` up to a page (illumos 18526/18527). + V19 = 19, + /// Initial support for CPU perf. counters on AMD V18 = 18, @@ -590,7 +594,7 @@ pub enum ApiVersion { } impl ApiVersion { pub const fn current() -> Self { - Self::V18 + Self::V19 } } diff --git a/crates/bhyve-api/sys/src/lib.rs b/crates/bhyve-api/sys/src/lib.rs index 9d90f84d5..07952d038 100644 --- a/crates/bhyve-api/sys/src/lib.rs +++ b/crates/bhyve-api/sys/src/lib.rs @@ -17,4 +17,4 @@ pub const VM_MAXCPU: usize = 32; /// This is the VMM interface version which bhyve_api expects to operate /// against. All constants and structs defined by the crate are done so in /// terms of that specific version. -pub const VMM_CURRENT_INTERFACE_VERSION: u32 = 18; +pub const VMM_CURRENT_INTERFACE_VERSION: u32 = 19;