opnsense-src/sys/dev/vmm
Mark Johnston a97f683fe3 vmm: Add a device file interface for creating and destroying VMs
This supersedes the sysctl interface, which has the limitations of being
root-only and not supporting automatic resource destruction, i.e., we
cannot easily destroy VMs automatically when bhyve terminates.

For now, two ioctls are implemented VMMCTL_VM_CREATE and
VMMCTL_VM_DESTROY.  Eventually I would like to support tying a VM's
lifetime to that of the descriptor, so that it is automatically
destroyed when the descriptor is closed.  However, this will require
some work in bhyve: when the guest wants to reboot, bhyve exits with a
status that indicates that it is to be restarted.  This is incompatible
with the idea of tying a VM's lifetime to that of a descriptor, since we
want to avoid creating and destroying a VM across each reboot (as this
involves freeing all of the guest memory, among other things).  One
possible design would be to decompose bhyve into two processes, a parent
which handles reboots, and a child which runs in capability mode and
handles guest execution.

In any case, this gets us closer to addressing the shortcomings
mentioned above.

Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D47028
2024-11-05 01:40:41 +00:00
..
vmm_dev.c vmm: Add a device file interface for creating and destroying VMs 2024-11-05 01:40:41 +00:00
vmm_dev.h vmm: Add a device file interface for creating and destroying VMs 2024-11-05 01:40:41 +00:00
vmm_ktr.h
vmm_stat.c
vmm_stat.h