linux/arch/powerpc
Paul Mackerras 4619ac88b7 KVM: PPC: Book3S HV: Improve real-mode handling of external interrupts
This streamlines our handling of external interrupts that come in
while we're in the guest.  First, when waking up a hardware thread
that was napping, we split off the "napping due to H_CEDE" case
earlier, and use the code that handles an external interrupt (0x500)
in the guest to handle that too.  Secondly, the code that handles
those external interrupts now checks if any other thread is exiting
to the host before bouncing an external interrupt to the guest, and
also checks that there is actually an external interrupt pending for
the guest before setting the LPCR MER bit (mediated external request).

This also makes sure that we clear the "ceded" flag when we handle a
wakeup from cede in real mode, and fixes a potential infinite loop
in kvmppc_run_vcpu() which can occur if we ever end up with the ceded
flag set but MSR[EE] off.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-04-26 20:27:32 +02:00
..
boot Merge remote-tracking branch 'agust/next' into next 2013-02-20 11:39:05 +11:00
configs Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include KVM: PPC: Book3S HV: Improve real-mode handling of external interrupts 2013-04-26 20:27:32 +02:00
kernel KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM 2013-04-26 20:27:31 +02:00
kvm KVM: PPC: Book3S HV: Improve real-mode handling of external interrupts 2013-04-26 20:27:32 +02:00
lib uprobes/powerpc: Add dependency on single step emulation 2013-01-29 11:35:06 +11:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm powerpc: Rename USER_ESID_BITS* to ESID_BITS* 2013-03-17 12:45:44 +11:00
net PPC: net: bpf_jit_comp: add VLAN instructions for BPF JIT 2012-11-17 22:12:47 -05:00
oprofile Merge branch 'merge' into next 2013-01-29 11:33:37 +11:00
perf Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
platforms sgy-cts1000: Remove __dev* attributes 2013-03-18 18:49:10 -07:00
sysdev KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM 2013-04-26 20:27:31 +02:00
xmon powerpc: Rename set_break to avoid naming conflict 2013-01-16 05:25:47 +11:00
Kconfig Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-03-18 08:12:41 -07:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile powerpc: Avoid load of static chain register when calling nested functions through a pointer on 64bit 2013-01-10 17:01:27 +11:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00