On 12/28/25 09:51, Roman Bogorodskiy wrote:
This series includes a minimal number of changes to allow running bhyve arm64 guests.
Bhyve on amd64 and arm64 has slightly different sets of supported devices, and a different syntax for some devices. Specifically, bootrom and consoles are configured without the LPC controller, used for amd64, but using the "-o" argument, i.e. "-o bootrom=<bootrom>" and "-o console=<console>".
This series moves quite a significant amount of test data files. I tried to isolate that into separate commit with a minimal set of related changes.
While this series enables running arm64, there are more items to work on:
- On arm64, bhyve normally uses /usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin bootrom. Autofill code should be updated to automatically use that if no path was specified. - Bhyve capabilities probing uses `bhyve -s 0,<device>` and parsing error message to see if a device is supported. Using `bhyve -s help` that lists supported devices should be more accurate and robust. - UTC clock is not supported on bhyve/arm64. I wasn't able to figure out yet how to make libvirt not using it by default, so currently arm64 guests require <clock offset='localtime'/>
I plan to address these issues in a separate series.
WFM, BUT even this work you posted deserves a NEWS.rst entry ;-) Feel free to add it as a 10th patch.
Roman Bogorodskiy (9): bhyve: capabilities: fix for arm64 bhyve: tests: support arch-dependent tests bhyve: domain: require ISA controller on x86_64 only bhyve: command: handle arm64 console bhyve: command: make -H and -P args amd64-only bhyve: command: handle arm64 bootloader bhyve: tests: prepare for arm64 xml2xml tests bhyve: tests: add xml2xml arm64 tests bhyve: report domain capabilities for arm64
301 files changed, 313 insertions(+), 46 deletions(-)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal