October 3, 2017

For this month’s update, I’ll describe the collaboration between the FreeBSD Foundation and University Politehnica, Bucharest. The FreeBSD Foundation is funding stipends for two students to contribute to the port of FreeBSD’s Bhyve hypervisor to the 32- and 64-bit Arm architectures. Mihai Carabas is a Ph.D. student and teaching assistant at the University Politehnica, and will oversee the student’s work.

The first student, Darius Mihai, is working on improving the existing ARMv7 Bhyve port. This includes extending paravirtual I/O devices (VirtIO) to Bhyve on Arm – including using a memory-mapped I/O attachment instead of PCI as on Intel and AMD x86 platforms. Initial work adds VirtIO entropy and console device support.

The second student working with Mihai, Alexandru Elisei, is working on porting the ARMv7 Bhyve implementation to AArch64 (64-bit ARMv8).  There are many differences in low-level virtualization support provided by ARMv7 and ARMv8, so the port requires extensive effort.

The Foundation has multiple goals in providing student stipends.  Stipends allow students to:

  • use FreeBSD in their exploration of systems programming
  • allow the exploration of research-focused or uncertain, forward-looking developments
  • allow the investigation and prototyping in areas not currently of focus by others in the FreeBSD development community.

The result of such projects may make its way directly into the FreeBSD source repository. However, even if it doesn’t, such projects always provide valuable information and a starting point for further work.

I am confident these two projects will contribute significantly to bringing Bhyve to FreeBSD on Arm.

— contributed by Ed Maste