嵌套虚拟化的绝佳入门材料为ODSI’10上的论文The Turtles Project: Design and Implementation of Nested Virtualization。本文内容主要是paper和slides的notes。
In nested virtualization, a hypervisor can run multiple other hypervisors with their associated virtual machines. 通俗地来说，套娃。
Approach for nested virtualization multiplexes multiple levels of virtualization (multiple hypervisors) on the single level of architectural support available.
Approach for CPU virtualization works by having the lowest hypervisor inspect the trap and forward it to the hypervisors above it for emulation.
For efficient memory virtualization, we developed multi-dimensional paging, which collapses the different memory translation tables into the one or two tables provided by the MMU.
For efficient I/O virtualization, we bypass multiple levels of hypervisor I/O stacks to provide nested guests with direct assignment of I/O devices via multilevel device assignment.