]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: VMX: Allow vm86 virtualization of big real mode
authorAvi Kivity <avi@redhat.com>
Tue, 21 Aug 2012 14:07:03 +0000 (17:07 +0300)
committerMarcelo Tosatti <mtosatti@redhat.com>
Mon, 27 Aug 2012 23:02:20 +0000 (20:02 -0300)
commitfc78db67ed0df78297c00f166f947801efd30959
tree53f141c70dad87f00413bfb42097812270d86096
parent1a5800389c05835d841fc9f1f66446be8fae0f24
KVM: VMX: Allow vm86 virtualization of big real mode

Usually, big real mode uses large (4GB) segments.  Currently we don't
virtualize this; if any segment has a limit other than 0xffff, we emulate.
But if we set the vmx-visible limit to 0xffff, we can use vm86 to virtualize
real mode; if an access overruns the segment limit, the guest will #GP, which
we will trap and forward to the emulator.  This results in significantly
faster execution, and less risk of hitting an unemulated instruction.

If the limit is less than 0xffff, we retain the existing behaviour.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/kvm/vmx.c