summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2012-08-21 16:07:09 +0200
committerMarcelo Tosatti <mtosatti@redhat.com>2012-08-28 01:02:21 +0200
commitce5668034752e52e995c8dc625337380099a088a (patch)
treee9c900c08d718fa124cdc7e0bc244143cf56be9a
parentKVM: VMX: Preserve segment limit and access rights in real mode (diff)
downloadlinux-ce5668034752e52e995c8dc625337380099a088a.tar.xz
linux-ce5668034752e52e995c8dc625337380099a088a.zip
KVM: VMX: Save all segment data in real mode
Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
-rw-r--r--arch/x86/kvm/vmx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 6e6421aeca03..62b2d0cf2a7f 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -3216,6 +3216,7 @@ static void vmx_set_segment(struct kvm_vcpu *vcpu,
vmcs_write32(sf->limit, var->limit);
vmcs_write16(sf->selector, var->selector);
if (vmx->rmode.vm86_active && var->s) {
+ vmx->rmode.segs[seg] = *var;
/*
* Hack real-mode segments into vm86 compatibility.
*/