nVMX: Fix bug preventing more than two levels of nesting
commit2c2b5df89d276fab250597278fe54b0cdc850909
authorNadav Har'El <nyh@il.ibm.com>
Thu, 2 Jun 2011 08:54:52 +0000 (2 11:54 +0300)
committerMarcelo Tosatti <mtosatti@redhat.com>
Fri, 3 Jun 2011 01:55:40 +0000 (2 22:55 -0300)
tree8dd2e2b5475ccda457b80a36074c7013da4ec2e0
parent5d9c08eb5b32d01db98f3aae319d83e19ac3875c
nVMX: Fix bug preventing more than two levels of nesting

The nested VMX feature is supposed to fully emulate VMX for the guest. This
(theoretically) not only allows it to run its own guests, but also also
to further emulate VMX for its own guests, and allow arbitrarily deep nesting.

This patch fixes a bug (discovered by Kevin Tian) in handling a VMLAUNCH
by L2, which prevented deeper nesting.

Deeper nesting now works (I only actually tested L3), but is currently
*absurdly* slow, to the point of being unusable.

Signed-off-by: Nadav Har'El <nyh@il.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/kvm/vmx.c