summaryrefslogtreecommitdiff
path: root/arch/sh/kernel/kgdb.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-04-10 12:39:55 +0900
committerPaul Mundt <lethal@linux-sh.org>2012-04-10 12:39:55 +0900
commit14f087d839d9bd3f90ad69d4b3fde7d236c156b1 (patch)
tree1835e9eade6ba4169dedc0887efc8bbe4701997a /arch/sh/kernel/kgdb.c
parent0034102808e0dbbf3a2394b82b1bb40b5778de9e (diff)
sh: kgdb: Fix up basic SMP support.
kgdb needs a kgdb_roundup_cpus() definition in the architecture backend, so just copy over the MIPS version, which already does what we want. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/kgdb.c')
-rw-r--r--arch/sh/kernel/kgdb.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/sh/kernel/kgdb.c b/arch/sh/kernel/kgdb.c
index b117781bfea2..93458880acad 100644
--- a/arch/sh/kernel/kgdb.c
+++ b/arch/sh/kernel/kgdb.c
@@ -264,6 +264,18 @@ BUILD_TRAP_HANDLER(singlestep)
local_irq_restore(flags);
}
+static void kgdb_call_nmi_hook(void *ignored)
+{
+ kgdb_nmicallback(raw_smp_processor_id(), NULL);
+}
+
+void kgdb_roundup_cpus(unsigned long flags)
+{
+ local_irq_enable();
+ smp_call_function(kgdb_call_nmi_hook, NULL, 0);
+ local_irq_disable();
+}
+
static int __kgdb_notify(struct die_args *args, unsigned long cmd)
{
int ret;