The NOVA virtualization architecture is comprised of a microhypervisor and a capability-based multiserver userland with a specific focus on enabling secure and efficient virtualization using x86 hardware virtualization extensions (VT-x, VT-d, SR-IOV). It does so by moving almost all of the actual "virtualization" into a per-VM userspace component that is not in the Trusted Computing Base of other virtual machines. This talk will give an overview of NOVA's unique execution model and API with a strong focus on how this enables efficient execution of a VMM. Specifically, this talk will cover how tasks and threads are realized in NOVA, how communication between threads works, how VM exits are handled in NOVA and how this extends to SMP machines.
Speakers: Julian Stecklina