kernel-ark/arch/powerpc
Alexander Graf b4433a7cce KVM: PPC: Implement 'skip instruction' mode
To fetch the last instruction we were interrupted on, we enable DR in early
exit code, where we are still in a very transitional phase between guest
and host state.

Most of the time this seemed to work, but another CPU can easily flush our
TLB and HTAB which makes us go in the Linux page fault handler which totally
breaks because we still use the guest's SLB entries.

To work around that, let's introduce a second KVM guest mode that defines
that whenever we get a trap, we don't call the Linux handler or go into
the KVM exit code, but just jump over the faulting instruction.

That way a potentially bad lwz doesn't trigger any faults and we can later
on interpret the invalid instruction we fetched as "fetch didn't work".

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
2010-03-01 12:35:48 -03:00
..
boot Merge commit 'gcl/next' into next 2010-02-19 14:38:23 +11:00
configs Merge commit 'gcl/next' into next 2010-02-19 14:38:23 +11:00
include/asm KVM: PPC: Implement 'skip instruction' mode 2010-03-01 12:35:48 -03:00
kernel KVM: PPC: Use PACA backed shadow vcpu 2010-03-01 12:35:48 -03:00
kvm KVM: PPC: Implement 'skip instruction' mode 2010-03-01 12:35:48 -03:00
lib powerpc: Fix lwsync feature fixup vs. modules on 64-bit 2010-02-26 18:29:17 +11:00
math-emu powerpc/math-emu: Fix efp dependence 2009-03-11 06:00:08 -05:00
mm powerpc: Convert tlbivax_lock to raw_spinlock 2010-02-19 14:52:33 +11:00
oprofile tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
platforms Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2010-02-27 13:26:18 -08:00
sysdev Merge commit 'origin/master' into next 2010-02-26 14:41:00 +11:00
xmon powerpc: Mark some variables in the page fault path __read_mostly 2010-02-03 17:39:48 +11:00
Kconfig Merge commit 'origin/master' into next 2010-02-26 14:41:00 +11:00
Kconfig.debug Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6 2009-12-16 13:26:53 -08:00
Makefile powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00
relocs_check.pl powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00