I've been experimenting with implementing something like vmmci(4) for Linux guests. It's started to prove useful to myself so maybe others will benefit, even though there are currently some caveats[1].
https://github.com/voutilad/virtio_vmmci My primary use case is keeping some Linux guests constantly running in the background under the vmm(4) hypervisor on my laptop that sees quite a few suspend (zzz)/resume cycles throughout my day. It currently consists of 2 Linux kernel modules, one representing a virtio_pci implementation handling the quirks[2] of how vmd(8) exposes the vmm control device and the other module is the actual virtio driver implementation. I've tested it with a stock Ubuntu 18.0.4 install as well as with a newer v4.20.12 tweaked Linux kernel[3] and so far seems to build and work just fine using an OpenBSD snapshot from Monday 18 Feb as the host. It doesn't yet catch shutdown or restart events, but that's my next goal since I'd like to make sure I get clean shutdowns via `vmctl stop`. -Dave [1]: https://github.com/voutilad/virtio_vmmci#current-state--known-caveats [2]: https://github.com/voutilad/virtio_vmmci#learnings-from-virtio-hacking [3]: https://github.com/voutilad/linux