linux/arch
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
..
alpha Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
arm i2c/isp1301_omap: Convert to a new-style i2c driver, part 2 2008-10-14 17:30:02 +02:00
avr32 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 2008-10-13 10:08:43 -07:00
cris Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
frv
h8300 Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
ia64 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
m32r Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
m68k arch/m68k/mm/kmap.c: introduce missing kfree 2008-10-14 10:23:27 -07:00
m68knommu Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
mips ide-generic: remove no longer needed ide_probe_legacy() 2008-10-13 21:39:42 +02:00
mn10300 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
parisc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
powerpc vfs: Use const for kernel parser table 2008-10-13 10:10:37 -07:00
s390 vfs: Use const for kernel parser table 2008-10-13 10:10:37 -07:00
sh kernel/cpu.c: create a CPU_STARTING cpu_chain notifier 2008-09-08 19:25:24 +02:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-10-13 10:07:53 -07:00
sparc64 chmc: Mark %ver register inline asm with __volatile__ 2008-10-12 23:56:12 -07:00
um Merge git://git.infradead.org/users/dwmw2/random-2.6 2008-10-13 09:59:14 -07:00
x86 KVM: VMX: Reinject real mode exception 2008-10-15 10:15:14 +02:00
xtensa xtensa: remove dead CONFIG_BLK_DEV_IDE code 2008-10-13 21:39:34 +02:00
.gitignore
Kconfig Merge branch 'linus' into oprofile-v2 2008-10-13 11:05:51 +02:00