powerpc/book3e: Move doorbell_exception from traps.c to dbell.c
... where it belongs Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
a2e198116f
commit
e3145b387a
|
@ -41,4 +41,24 @@ void smp_dbell_message_pass(int target, int msg)
|
||||||
ppc_msgsnd(PPC_DBELL, PPC_DBELL_MSG_BRDCAST, 0);
|
ppc_msgsnd(PPC_DBELL, PPC_DBELL_MSG_BRDCAST, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
void doorbell_exception(struct pt_regs *regs)
|
||||||
|
{
|
||||||
|
int cpu = smp_processor_id();
|
||||||
|
int msg;
|
||||||
|
|
||||||
|
if (num_online_cpus() < 2)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (msg = 0; msg < 4; msg++)
|
||||||
|
if (test_and_clear_bit(msg, &dbell_smp_message[cpu]))
|
||||||
|
smp_message_recv(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* CONFIG_SMP */
|
||||||
|
void doorbell_exception(struct pt_regs *regs)
|
||||||
|
{
|
||||||
|
printk(KERN_WARNING "Received doorbell on non-smp system\n");
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_SMP */
|
||||||
|
|
||||||
|
|
|
@ -55,9 +55,6 @@
|
||||||
#endif
|
#endif
|
||||||
#include <asm/kexec.h>
|
#include <asm/kexec.h>
|
||||||
#include <asm/ppc-opcode.h>
|
#include <asm/ppc-opcode.h>
|
||||||
#ifdef CONFIG_FSL_BOOKE
|
|
||||||
#include <asm/dbell.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
|
#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
|
||||||
int (*__debugger)(struct pt_regs *regs) __read_mostly;
|
int (*__debugger)(struct pt_regs *regs) __read_mostly;
|
||||||
|
@ -1342,24 +1339,6 @@ void vsx_assist_exception(struct pt_regs *regs)
|
||||||
#endif /* CONFIG_VSX */
|
#endif /* CONFIG_VSX */
|
||||||
|
|
||||||
#ifdef CONFIG_FSL_BOOKE
|
#ifdef CONFIG_FSL_BOOKE
|
||||||
|
|
||||||
void doorbell_exception(struct pt_regs *regs)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
int cpu = smp_processor_id();
|
|
||||||
int msg;
|
|
||||||
|
|
||||||
if (num_online_cpus() < 2)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (msg = 0; msg < 4; msg++)
|
|
||||||
if (test_and_clear_bit(msg, &dbell_smp_message[cpu]))
|
|
||||||
smp_message_recv(msg);
|
|
||||||
#else
|
|
||||||
printk(KERN_WARNING "Received doorbell on non-smp system\n");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void CacheLockingException(struct pt_regs *regs, unsigned long address,
|
void CacheLockingException(struct pt_regs *regs, unsigned long address,
|
||||||
unsigned long error_code)
|
unsigned long error_code)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue