aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/exceptions-64e.S
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2010-07-09 01:32:30 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-09 02:11:18 -0400
commit0e37d25950f4fd5a7d74723e6ce608aaa972d24c (patch)
treeb3868eb2b5954f758a4ee48f11eaa797b376ec4c /arch/powerpc/kernel/exceptions-64e.S
parent89c81797d4a0779a957f4ea1f0c676cda203615b (diff)
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>
Diffstat (limited to 'arch/powerpc/kernel/exceptions-64e.S')
0 files changed, 0 insertions, 0 deletions