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

Reply via email to