aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sh/kgdb.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-10-03 04:13:34 -0400
committerPaul Mundt <lethal@linux-sh.org>2007-10-03 04:13:34 -0400
commita90f354709b372c8dcabe3cd6315a83da5927573 (patch)
treeb98f4122a87a14d3dbff2d60445233b1ca499929 /include/asm-sh/kgdb.h
parente1fb4552ac938f2f70e9df2169b681594752bd85 (diff)
sh: kgdb section mismatches and tidying.
The kgdb console setup was callable from a left-over deferred initialization path, which in turn depends on __init symbols. Since the deferred initialization was removed some time ago, kill off the rest of those remnants and move kgdb_init() and friends to __init. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/kgdb.h')
-rw-r--r--include/asm-sh/kgdb.h12
1 files changed, 2 insertions, 10 deletions
diff --git a/include/asm-sh/kgdb.h b/include/asm-sh/kgdb.h
index 74bd0953e5ce..5334e86ccad6 100644
--- a/include/asm-sh/kgdb.h
+++ b/include/asm-sh/kgdb.h
@@ -19,8 +19,6 @@
19#include <asm/ptrace.h> 19#include <asm/ptrace.h>
20#include <asm/cacheflush.h> 20#include <asm/cacheflush.h>
21 21
22struct console;
23
24/* Same as pt_regs but has vbr in place of syscall_nr */ 22/* Same as pt_regs but has vbr in place of syscall_nr */
25struct kgdb_regs { 23struct kgdb_regs {
26 unsigned long regs[16]; 24 unsigned long regs[16];
@@ -35,10 +33,7 @@ struct kgdb_regs {
35 33
36/* State info */ 34/* State info */
37extern char kgdb_in_gdb_mode; 35extern char kgdb_in_gdb_mode;
38extern int kgdb_done_init;
39extern int kgdb_enabled;
40extern int kgdb_nofault; /* Ignore bus errors (in gdb mem access) */ 36extern int kgdb_nofault; /* Ignore bus errors (in gdb mem access) */
41extern int kgdb_halt; /* Execute initial breakpoint at startup */
42extern char in_nmi; /* Debounce flag to prevent NMI reentry*/ 37extern char in_nmi; /* Debounce flag to prevent NMI reentry*/
43 38
44/* SCI */ 39/* SCI */
@@ -59,6 +54,7 @@ extern kgdb_debug_hook_t *kgdb_debug_hook;
59extern kgdb_bus_error_hook_t *kgdb_bus_err_hook; 54extern kgdb_bus_error_hook_t *kgdb_bus_err_hook;
60 55
61/* Console */ 56/* Console */
57struct console;
62void kgdb_console_write(struct console *co, const char *s, unsigned count); 58void kgdb_console_write(struct console *co, const char *s, unsigned count);
63extern int kgdb_console_setup(struct console *, char *); 59extern int kgdb_console_setup(struct console *, char *);
64 60
@@ -69,11 +65,7 @@ extern void longjmp(jmp_buf __jmpb, int __retval);
69extern int setjmp(jmp_buf __jmpb); 65extern int setjmp(jmp_buf __jmpb);
70 66
71/* Forced breakpoint */ 67/* Forced breakpoint */
72#define breakpoint() \ 68#define breakpoint() __asm__ __volatile__("trapa #0x3c")
73do { \
74 if (kgdb_enabled) \
75 __asm__ __volatile__("trapa #0x3c"); \
76} while (0)
77 69
78/* KGDB should be able to flush all kernel text space */ 70/* KGDB should be able to flush all kernel text space */
79#if defined(CONFIG_CPU_SH4) 71#if defined(CONFIG_CPU_SH4)