Another hypervisor design: Deprivileging current execution context

  • We start a guest as a completely separate execution context
  • Alternatively, a hypervisor can also start a guest based on the current execution context by capturing current register values and setting them into the guest state fields
    • This way, the current system runs on the guest-mode, and a hypervisor intercepts system's operations
    • Type-1 hypervisors do this
    • Common for hypervisors that intend to deeply interact with the OS, eg, as a hypervisor debugger, rootkit, or security enhancement