All,
Recent bhyve for aarch64 (ARM64) is *really* impressive.
System: ThunderX with gic0: <ARM Generic Interrupt Controller v3.0>
OS VM-IMAGE camdd'd to a physical disk and the same image used for a VM:
FreeBSD-15.0-CURRENT-arm64-aarch64-zfs-20240516-d7adf3b47a05-270169.raw.xz
Package: u-boot-bhyve-arm64
Syntax:
#!/bin/sh
[ -e /dev/vmm/arm64 ] && \
{ /usr/sbin/bhyvectl --destroy --vm=arm64 ; sleep 1 ; }
kldstat -q -m vmm || kldload vmm
bhyve -m 4G -c 4 -D \
-s 0,hostbridge \
-s 2,virtio-blk,/root/FreeBSD-15.0-CURRENT-arm64-aarch64-zfs.raw \
-o bootrom=/usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin \
-o console=stdio \
arm64
Result: Works amazingly well, supporting up to 16 vCPUs, virtio-blk, and
virtio-net. NVMe emulation is not yet implemented and there is more to
test, but it's providing a useful environments for simultaneous
buildworlds on the host and in the guest. Even bhyve(8) is updated!
Thank you Andrew, Mark, and everyone else who has made this possible!
Michael