The long-anticipated native OpenBSD amd64 and i386 hypervisor vmm(4) has been committed, with userland tools, to the public CVS repository. If you've been following source changes closely, you probably noticed the series of commits like this one from Mike Larkin (mlarkin@), supplemented with one by Reyk Floeter (reyk@). In an announcement and overview sent to tech@, Mike writes:

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.