Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3145b38 authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

powerpc/book3e: Move doorbell_exception from traps.c to dbell.c



... where it belongs

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent a2e19811
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -41,4 +41,24 @@ void smp_dbell_message_pass(int target, int msg)
		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 */
+0 −21
Original line number Diff line number Diff line
@@ -55,9 +55,6 @@
#endif
#include <asm/kexec.h>
#include <asm/ppc-opcode.h>
#ifdef CONFIG_FSL_BOOKE
#include <asm/dbell.h>
#endif

#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
int (*__debugger)(struct pt_regs *regs) __read_mostly;
@@ -1342,24 +1339,6 @@ void vsx_assist_exception(struct pt_regs *regs)
#endif /* CONFIG_VSX */

#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,
			   unsigned long error_code)
{