linux/arch/x86/kvm
Jan Kiszka 77ab6db0a1 KVM: VMX: Reinject real mode exception
As we execute real mode guests in VM86 mode, exception have to be
reinjected appropriately when the guest triggered them. For this purpose
the patch adopts the real-mode injection pattern used in vmx_inject_irq
to vmx_queue_exception, additionally taking care that the IP is set
correctly for #BP exceptions. Furthermore it extends
handle_rmode_exception to reinject all those exceptions that can be
raised in real mode.

This fixes the execution of himem.exe from FreeDOS and also makes its
debug.com work properly.

Note that guest debugging in real mode is broken now. This has to be
fixed by the scheduled debugging infrastructure rework (will be done
once base patches for QEMU have been accepted).

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-10-15 10:15:14 +02:00
..
i8254.c KVM: only abort guest entry if timer count goes from 0->1 2008-07-20 12:42:32 +03:00
i8254.h KVM: Add reset support for in kernel PIT 2008-04-27 12:00:23 +03:00
i8259.c KVM: Consolidate PIC isr clearing into a function 2008-10-15 10:15:14 +02:00
irq.c KVM: Introduce kvm_set_irq to inject interrupts in guests 2008-10-15 10:15:12 +02:00
irq.h KVM: Introduce kvm_set_irq to inject interrupts in guests 2008-10-15 10:15:12 +02:00
Kconfig mmu-notifiers: core 2008-07-28 16:30:21 -07:00
kvm_cache_regs.h KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
kvm_svm.h KVM: SVM: allocate the MSR permission map per VCPU 2008-04-27 11:53:21 +03:00
lapic.c KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
lapic.h KVM: add statics were possible, function definition in lapic.h 2008-07-20 12:40:46 +03:00
Makefile KVM: Add coalesced MMIO support (x86 part) 2008-07-20 12:42:31 +03:00
mmu.c KVM: MMU: Simplify kvm_mmu_zap_page() 2008-10-15 10:15:12 +02:00
mmu.h KVM: MMU: Fix false flooding when a pte points to page table 2008-07-20 12:40:50 +03:00
paging_tmpl.h KVM: MMU: Fix torn shadow pte 2008-08-25 17:24:27 +03:00
svm.c KVM: Consolidate XX_VECTOR defines 2008-10-15 10:15:14 +02:00
svm.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Reinject real mode exception 2008-10-15 10:15:14 +02:00
vmx.h KVM: VMX: Rename misnamed msr bits 2008-10-15 10:13:57 +02:00
x86_emulate.c KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
x86.c KVM: Clear exception queue before emulating an instruction 2008-10-15 10:15:13 +02:00
x86.h KVM: Add a pending interrupt queue 2008-10-15 10:15:13 +02:00