Attached is a patch for core-libvirt to add nested HVM functionality. I also found that libvirt's libxl driver did not properly support the "viridian" option - I think the patch takes care of that now as well, but I had no good way to verify. I confirmed that you can successfully run Qubes R3 rc2 within itself using this in a stub domain. You can even run an HVM domain, such as Windows, within the nested Qubes session.
In order to run an HVM domain, you need to use a custom config file for the appvm, and make sure the following two items are added under the <features> section (already, you should see pae, acpi, apic, and veridian enabled in this section of the config file):
<hap/> <nestedhvm/>
Also attached is a sample appvm config file that includes the above two lines.
With nested HVM, you should be able to do things like run VMware, KVM, and other hypervisors within an HVM session.
Have fun!
Eric
|