The current generation of virtualization extensions only supports one VM layer. While we can't change that, it is pretty easy to emulate the CPU's behavior and implement the virtualization opcodes ourselves.
This patchset does exactly this for SVM. Using this, a KVM can run within a VM. Since we're emulating the real CPU's behavior, this should also enable other VMMs to run within KVM. So far I've only tested to run KVM inside the VM though. This was created with help from Joerg Roedel. I don't really know how put this information in the patchset though. Maybe set him on signed-off-by? As always, comments and suggestions are highly welcome. Alexander Graf (9): Add CPUID feature flag for SVM Clean up VINTR setting Implement GIF, clgi and stgi Add helper functions for nested SVM Allow setting the SVME bit Implement hsave Add VMLOAD and VMSAVE handlers Add VMRUN handler Add VMEXIT handler and intercepts arch/x86/kvm/kvm_svm.h | 13 + arch/x86/kvm/svm.c | 716 +++++++++++++++++++++++++++++++++++++++++- arch/x86/kvm/svm.h | 2 + include/asm-x86/cpufeature.h | 1 + 4 files changed, 720 insertions(+), 12 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
