diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-07-09 15:31:28 +1000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-07-09 16:11:17 +1000 |
commit | 89c81797d4a0779a957f4ea1f0c676cda203615b (patch) | |
tree | 1c1e175ea4dd2c8aeb1816a7e6e39062e24ae860 /arch/powerpc/kernel/irq.c | |
parent | e8775d4aa17d70d123814e68a6a51bbea50e5c16 (diff) | |
download | lwn-89c81797d4a0779a957f4ea1f0c676cda203615b.tar.gz lwn-89c81797d4a0779a957f4ea1f0c676cda203615b.zip |
powerpc/book3e: Hookup doorbells exceptions on 64-bit Book3E
Note that critical doorbells are an unimplemented stub just like
other critical or machine check handlers, since we haven't done
support for "levelled" exceptions yet.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/irq.c')
-rw-r--r-- | arch/powerpc/kernel/irq.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index fa6f38525801..2f6dc7faf6de 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -64,6 +64,8 @@ #include <asm/ptrace.h> #include <asm/machdep.h> #include <asm/udbg.h> +#include <asm/dbell.h> + #ifdef CONFIG_PPC64 #include <asm/paca.h> #include <asm/firmware.h> @@ -153,6 +155,11 @@ notrace void raw_local_irq_restore(unsigned long en) if (get_hard_enabled()) return; +#if defined(CONFIG_BOOKE) && defined(CONFIG_SMP) + /* Check for pending doorbell interrupts on SMP */ + doorbell_exception(NULL); +#endif + /* * Need to hard-enable interrupts here. Since currently disabled, * no need to take further asm precautions against preemption; but |