summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/kgdb.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-04-11 10:48:24 +0900
committerPaul Mundt <lethal@linux-sh.org>2012-04-11 10:48:24 +0900
commit21cb20d758254e68a369ba83c721f8ce083e6659 (patch)
treedfc46175fc8924925a3f88f2081ca0eaa8b40fd4 /arch/sh/include/asm/kgdb.h
parentfd34ef9bc44b87d746b7178e9c4ba51163b46884 (diff)
downloadlinux-21cb20d758254e68a369ba83c721f8ce083e6659.tar.gz
linux-21cb20d758254e68a369ba83c721f8ce083e6659.tar.bz2
linux-21cb20d758254e68a369ba83c721f8ce083e6659.zip
sh: kgdb: Unset CACHE_FLUSH_IS_SAFE for SMP.
Our SMP cache flush ops use CPU cross calls to deal with things like I-cache accesses not being broadcast in hardware, so ensure that the CACHE_FLUSH_IS_SAFE reflects this. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/kgdb.h')
-rw-r--r--arch/sh/include/asm/kgdb.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/sh/include/asm/kgdb.h b/arch/sh/include/asm/kgdb.h
index 00485198f598..9e7d2d1b03e0 100644
--- a/arch/sh/include/asm/kgdb.h
+++ b/arch/sh/include/asm/kgdb.h
@@ -23,10 +23,15 @@ static inline void arch_kgdb_breakpoint(void)
__asm__ __volatile__ ("trapa #0x3c\n");
}
-#define BUFMAX 2048
-
-#define CACHE_FLUSH_IS_SAFE 1
#define BREAK_INSTR_SIZE 2
+#define BUFMAX 2048
+
+#ifdef CONFIG_SMP
+# define CACHE_FLUSH_IS_SAFE 0
+#else
+# define CACHE_FLUSH_IS_SAFE 1
+#endif
+
#define GDB_ADJUSTS_BREAK_OFFSET
#endif /* __ASM_SH_KGDB_H */