linux_dsm_epyc7002/arch/powerpc
David Gibson 0e37d25950 powerpc/book3e: Use set_irq_regs() in the msgsnd/msgrcv IPI path
include/asm-generic/irq_regs.h declares per-cpu irq_regs variables and
get_irq_regs() and set_irq_regs() helper functions to maintain them.
These can be used to access the proper pt_regs structure related to the
current interrupt entry (if any).

In the powerpc arch code, this is used to maintain irq regs on
decrementer and external interrupt exceptions.  However, for the
doorbell exceptions used by the msgsnd/msgrcv IPI mechanism of newer
BookE CPUs, the irq_regs are not kept up to date.

In particular this means that xmon will not work properly on SMP,
because the secondary xmon instances started by IPI will blow up when
they cannot retrieve the irq regs.

This patch fixes the problem by adding calls to maintain the irq regs
across doorbell exceptions.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-07-09 16:11:18 +10:00
..
boot Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 2010-06-27 07:30:25 -07:00
configs powerpc: Disable CONFIG_SYSFS_DEPRECATED 2010-06-15 15:02:33 +10:00
include/asm powerpc/book3e: More doorbell cleanups. Sample the PIR register 2010-07-09 15:29:53 +10:00
kernel powerpc/book3e: Use set_irq_regs() in the msgsnd/msgrcv IPI path 2010-07-09 16:11:18 +10:00
kvm KVM: powerpc: fix init/exit annotation 2010-06-09 18:39:09 +03:00
lib Merge commit 'paulus-perf/master' into next 2010-07-09 11:25:48 +10:00
math-emu powerpc/math-emu: Fix efp dependence 2009-03-11 06:00:08 -05:00
mm powerpc: Removing dead CONFIG_SMP_750 2010-07-09 11:28:38 +10:00
oprofile powerpc/oprofile: fix potential buffer overrun in op_model_cell.c 2010-06-07 11:18:56 +02:00
platforms powerpc/book3e: More doorbell cleanups. Sample the PIR register 2010-07-09 15:29:53 +10:00
sysdev powerpc/mpic: Add ability to reset a core via MPIC 2010-07-09 11:28:27 +10:00
xmon powerpc: Mark some variables in the page fault path __read_mostly 2010-02-03 17:39:48 +11:00
Kconfig powerpc/pseries: Partition hibernation support 2010-07-09 11:26:17 +10:00
Kconfig.debug powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
Makefile powerpc: Fix module building for gcc 4.5 and 64 bit 2010-07-08 18:11:38 +10:00
relocs_check.pl powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00