kernel-fxtec-pro1x/arch/x86/kvm
Anthony Liguori c0c7c04b87 KVM: When switching to a vm8086 task, load segments as 16-bit
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading
and new segments.  If eflags.vm == 1, then the segments are treated as 16-bit
segments.  The LDTR and TR are not normally available in vm86 mode so if they
happen to somehow get loaded, they need to be treated as 32-bit segments.

This fixes an invalid vmentry failure in a custom OS that was happening after
a task switch into vm8086 mode.  Since the segments were being mistakenly
treated as 32-bit, we loaded garbage state.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-09-10 10:46:44 +03:00
..
i8254.c KVM: remove superfluous NULL pointer check in kvm_inject_pit_timer_irqs() 2009-09-10 08:33:19 +03:00
i8254.h KVM: PIT support for HPET legacy mode 2009-09-10 08:33:12 +03:00
i8259.c KVM: Replace pic_lock()/pic_unlock() with direct call to spinlock functions 2009-09-10 08:33:22 +03:00
irq.c KVM: Remove irq_pending bitmap 2009-06-10 11:48:57 +03:00
irq.h KVM: Call kvm_vcpu_kick() inside pic spinlock 2009-09-10 08:33:21 +03:00
Kconfig KVM: remove old KVMTRACE support code 2009-09-10 08:33:03 +03:00
kvm_cache_regs.h KVM: Cache pdptrs 2009-09-10 08:32:46 +03:00
kvm_timer.h KVM: Use pointer to vcpu instead of vcpu_id in timer code. 2009-09-10 08:32:52 +03:00
lapic.c KVM: limit lapic periodic timer frequency 2009-09-10 08:33:17 +03:00
lapic.h KVM: x2apic interface to lapic 2009-09-10 08:33:08 +03:00
Makefile KVM: remove old KVMTRACE support code 2009-09-10 08:33:03 +03:00
mmu.c KVM: MMU: fix bogus alloc_mmu_pages assignment 2009-09-10 08:33:20 +03:00
mmu.h KVM: MMU: add kvm_mmu_get_spte_hierarchy helper 2009-09-10 08:32:56 +03:00
mmutrace.h KVM: Trace shadow page lifecycle 2009-09-10 08:33:10 +03:00
paging_tmpl.h KVM: MMU: shadow support for 1gb pages 2009-09-10 08:33:19 +03:00
svm.c KVM: SVM: Drop tlb flush workaround in npt 2009-09-10 10:46:40 +03:00
timer.c KVM: Drop useless atomic test from timer function 2009-09-10 08:32:57 +03:00
trace.h KVM: Add trace points in irqchip code 2009-09-10 08:33:11 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Adjust rflags if in real mode emulation 2009-09-10 10:46:43 +03:00
x86.c KVM: When switching to a vm8086 task, load segments as 16-bit 2009-09-10 10:46:44 +03:00
x86.h KVM: Add Directed EOI support to APIC emulation 2009-09-10 08:33:07 +03:00
x86_emulate.c KVM: x86 emulator: Add sysexit emulation 2009-09-10 08:33:01 +03:00