linux/arch
Avi Kivity 577bdc4966 KVM: Avoid instruction emulation when event delivery is pending
When an event (such as an interrupt) is injected, and the stack is
shadowed (and therefore write protected), the guest will exit.  The
current code will see that the stack is shadowed and emulate a few
instructions, each time postponing the injection.  Eventually the
injection may succeed, but at that time the guest may be unwilling
to accept the interrupt (for example, the TPR may have changed).

This occurs every once in a while during a Windows 2008 boot.

Fix by unshadowing the fault address if the fault was due to an event
injection.

Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-07-27 11:34:10 +03:00
..
alpha [PATCH] sanitize __user_walk_fd() et.al. 2008-07-26 20:53:34 -04:00
arm Merge git://git.infradead.org/mtd-2.6 2008-07-26 20:30:56 -07:00
avr32 Merge git://git.infradead.org/mtd-2.6 2008-07-26 20:30:56 -07:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 2008-07-26 13:23:17 -07:00
cris cris: use generic show_mem() 2008-07-26 12:00:11 -07:00
frv frv: use generic show_mem() 2008-07-26 12:00:11 -07:00
h8300 h8300: use generic show_mem() 2008-07-26 12:00:11 -07:00
ia64 tracehook: wait_task_inactive 2008-07-26 12:00:09 -07:00
m32r m32r: use generic show_mem() 2008-07-26 12:00:11 -07:00
m68k m68k: use generic show_mem() 2008-07-26 12:00:11 -07:00
m68knommu m68knommu: use generic show_mem() 2008-07-26 12:00:11 -07:00
mips mips: use generic show_mem() 2008-07-26 12:00:11 -07:00
mn10300 mn10300: use generic show_mem() 2008-07-26 12:00:11 -07:00
parisc [PATCH] sanitize __user_walk_fd() et.al. 2008-07-26 20:53:34 -04:00
powerpc powerpc: use generic show_mem() 2008-07-26 12:00:11 -07:00
s390 s390: use generic show_mem() 2008-07-26 12:00:11 -07:00
sh sh: use generic show_mem() 2008-07-26 12:00:10 -07:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-07-25 17:33:34 -07:00
sparc64 sparc64: use generic show_mem() 2008-07-26 12:00:10 -07:00
um um: use generic show_mem() 2008-07-26 12:00:10 -07:00
x86 KVM: Avoid instruction emulation when event delivery is pending 2008-07-27 11:34:10 +03:00
xtensa xtensa: use generic show_mem() 2008-07-26 12:00:10 -07:00
.gitignore
Kconfig tracehook: CONFIG_HAVE_ARCH_TRACEHOOK 2008-07-26 12:00:09 -07:00