Project overview QEMU is a virtual machine which allows running an operating system inside of another. While there already is a Haiku port, it currently does not support any acceleration system through native virtualization (through Intel VT-x and AMD SVM.) This makes it too slow for many uses. This project aimed to bring hardware virtualization to Haiku by porting NVMM, a hypervisor that already has QEMU support, into Haiku from DragonFlyBSD.
Another month has gone by and we’re entering now the last month of GSoC! So, what did I get done this month?
What works now that didn’t work before? The driver supports now the 16 IOCTL calls defined by the driver, which means that both the frontend and the VMX backend are complete. EPT tables support: Much of my previous post content was about EPT tables and all the problems I was having to get them working.
When the coding period began I was expecting to publish a progress report every week. However, we’ve reached the end of the first month of the coding period and this is my first update: This probably tells that there hasn’t been as much progress as I expected, although progress have been made.
What works The library was one of the first things I got done, because it consists of very portable code, which made it very easy to port, while allowing me to test the (still reduced) driver capabilities much easier as I could use already existing code examples for NVMM instead of trying to talk directly to the driver.
Introduction Hi there! I’m Daniel Martin (aka dalme) and I’m a final year undergraduate student at Complutense University of Madrid (Spain). I’ve been accepted into Google Summer of Code and I’ll be working to bring hardware virtualization to Haiku, a project that has been in the GSoC ideas list for around a decade. I’ll be mentored by scottmc and waddlesplash.
Project overview QEMU is a virtual machine which allows running an operating system inside of another.