KVM: VMX: Allow real mode emulation using vm86 with dpl=0

Real mode is always entered from protected mode with dpl=0.  Since
the dpl doesn't affect execution, and we already override it to 3
in the vmcs (as vmx requires), we can allow execution in that state.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
Avi Kivity 2012-08-21 17:07:02 +03:00 committed by Marcelo Tosatti
parent c865c43de6
commit 495e116684
1 changed files with 1 additions and 1 deletions

View File

@ -3317,7 +3317,7 @@ static bool rmode_segment_valid(struct kvm_vcpu *vcpu, int seg)
return false;
if (var.limit != 0xffff)
return false;
if (ar != 0xf3)
if ((ar | (3 << AR_DPL_SHIFT)) != 0xf3)
return false;
return true;