October 14, 2022
The FreeBSD Project is proud to have participated in the Google Summer of Code program since its inception in 2005. At the completion of the 2022 season, the Foundation asked a few of our GSoC students to share more about themselves and their experience working with the Project.
Q: Tell us a little bit about yourself and where you are in your education journey.
I’m a second-year Ph.D. student at the Faculty of Electrical Engineering and Computing in Zagreb, Croatia.
Q: Have you ever worked with Google Summer of Code before?
No, this was my first participation in GSoC.
Q: Why did you want to work with FreeBSD?
I’ve been using FreeBSD for my personal workstation for quite some time, and recently even for research purposes. During that time I got acquainted with the codebase and various tools, and ran into some limitations and issues which turned out to be good project ideas. One of these was similar to my GSoC project and I decided to try and tackle that issue.
Q: Please tell us a little about your Google Summer of Code project.
My project was related to the bhyve hypervisor. The goal of my project was to enhance the functionality of its debugging server in order to improve the kernel development workflow. The first major task was to implement support for the existing virtual machine single-stepping mechanism on AMD platforms. The second task was to implement support for using hardware watchpoints. This was tricky to implement since the debugging server has to use the guest’s hardware resources while making sure that it does not interfere with the guest’s execution.
Q: What have you learned from this experience?
I’ve learned a great deal of practical knowledge related to hypervisors and got first-hand experience with using platform-specific virtualization extensions, warts and all. Working on a real-life hypervisor was an amazing experience and required me to adapt to a different development workflow and environment that is stripped of all usual debugging facilities. Having spent a lot of hours debugging several puzzling and infuriatingly elusive hypervisor bugs, I can certainly say that I now appreciate the comfort of hypervisor-based FreeBSD development a lot more.
Q: How has working with the FreeBSD Project been?
Working with the FreeBSD Project has been great. All GSoC-related docs and materials were great and immensely helpful during the program, my mentor was very helpful and forthcoming, and the whole experience was wonderful.