=== QEMU vmm Accelerator Support Links: + link:https://wiki.freebsd.org/SummerOfCode2025Projects/VMMAcceleratorSupportForQEMU[Project Link] URL: https://wiki.freebsd.org/SummerOfCode2025Projects/VMMAcceleratorSupportForQEMU[] + link:https://github.com/dumrich/freebsd-src[Code (FreeBSD fork)] URL: link:https://github.com/dumrich/freebsd-src[] + link:https://github.com/dumrich/qemu.git[Code (QEMU fork)] URL: https://github.com/dumrich/qemu.git[] Contact: Abhinav Chavali ==== Description This project aims to implement a man:vmm[4] accelerator backend for QEMU. By interfacing QEMU with FreeBSD's native hypervisor infrastructure, users can run virtual machines with near-native performance using hardware virtualization extensions (VMX/SVM), similar to how KVM functions on Linux. This combines the extensive device emulation ecosystem of QEMU with the performance of the FreeBSD kernel hypervisor. ==== Status The backend is now functional enough to boot a FreeBSD guest using a single vCPU. The core infrastructure for interfacing QEMU with `libvmmapi` is in place. Crucially, interrupt controllers (8259 PIC, IOAPIC, LAPIC) are now successfully utilizing the kernel's `vmm` implementations rather than userspace emulation. ==== Open Items & Call for Help While the heavy lifting is complete, there are key areas where community contributions would be highly valued to get this merged upstream: - Guest SMP Support: Currently, the guest is limited to 1 vCPU. We are looking for assistance in debugging the existing loop/thread handling in the backend to enable multi-CPU support. - Device Offloading: The RTC and HPET timers are currently still emulated in userspace by QEMU. These need to be reworked to use the `vmm` in-kernel versions for better performance and correctness. - General Stability: As with any hypervisor backend, we need help with edge-case testing and stress testing across different guest OS types. I would like to thank Google for the sponsorship, and the FreeBSD Project for the mentorship and opportunity to contribute to the system. Sponsor: Google Summer of Code 2025