Contributed by pitrh on from the we put a computer in your computer dept.
An early rough cut of the vmm subsystem is now in the tree. This includes both the kernel parts and userland parts.
There are still lots of things that need to be fixed and improved. For this reason, it is still disabled by default.But there is enough there for people to start playing with running OpenBSD VMs.
To get this in the tree faster, I temporarily removed some code that had rotted in my tree (SVM, i386, shadow paging, etc). I still have the last versions of those pieces, and they will get merged back in due time once I have the time to merge the changes back in and re-test.
As we don't presently emulate a BIOS, the bootloader and kernel loading is built into vmd(8). Presently, vmd(8) knows about OpenBSD kernels, nothing more. It should be a fairly simple effort to add support for other ELF kernel types (I did NetBSD one night in an hour as a one-off experiment).
I'm not going to explain all the how-tos at this point. This is because vmmctl is going to have a pretty significant change coming in shortly, and anything I would write here on "how to use it" is just going to end up changing anyway. If you want to get started now, you can read the man page.
As this is a very early version of the subsystem, you can and should expect breakage. There are many things left on my list that need to get cleaned up before I'd consider enabling things by default.
This code should appear in snapshots in short order (while editing this story we already see other developers joining the party with further commits) and may very well be available by the time you read this. The operating system you can trust now comes with its very own hypervisor, and you can start preparing for all-OpenBSD virtualization.
(Comments are closed)