summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/board_r.c11
-rw-r--r--common/kgdb.c7
-rw-r--r--include/kgdb.h11
3 files changed, 16 insertions, 13 deletions
diff --git a/common/board_r.c b/common/board_r.c
index f81d21a282b..f12e2458ecb 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -498,15 +498,6 @@ static int initr_ethaddr(void)
}
#endif /* CONFIG_CMD_NET */
-#ifdef CONFIG_CMD_KGDB
-static int initr_kgdb(void)
-{
- puts("KGDB: ");
- kgdb_init();
- return 0;
-}
-#endif
-
#if defined(CONFIG_LED_STATUS)
static int initr_status_led(void)
{
@@ -769,7 +760,7 @@ static init_fnc_t init_sequence_r[] = {
#endif
INIT_FUNC_WATCHDOG_RESET
#ifdef CONFIG_CMD_KGDB
- initr_kgdb,
+ kgdb_init,
#endif
interrupt_init,
#if defined(CONFIG_MICROBLAZE) || defined(CONFIG_M68K)
diff --git a/common/kgdb.c b/common/kgdb.c
index 4493a159198..29b09fcfe56 100644
--- a/common/kgdb.c
+++ b/common/kgdb.c
@@ -527,15 +527,18 @@ handle_exception (struct pt_regs *regs)
* kgdb_init must be called *after* the
* monitor is relocated into ram
*/
-void
-kgdb_init(void)
+int kgdb_init(void)
{
+ puts("KGDB: ");
+
kgdb_serial_init();
debugger_exception_handler = handle_exception;
initialized = 1;
putDebugStr("kgdb ready\n");
puts("ready\n");
+
+ return 0;
}
void
diff --git a/include/kgdb.h b/include/kgdb.h
index 616ce4451f1..bdba347a7f3 100644
--- a/include/kgdb.h
+++ b/include/kgdb.h
@@ -39,7 +39,16 @@ typedef
kgdb_data;
/* these functions are provided by the generic kgdb support */
-extern void kgdb_init(void);
+/**
+ * kgdb_init()
+ *
+ * Perform initializations to allow debugging U-Boot with gdb over a serial
+ * link. It is called during the generic board init sequence.
+ *
+ * Return: 0 if OK
+ */
+int kgdb_init(void);
+
extern void kgdb_error(int);
extern int kgdb_output_string(const char *, unsigned int);
extern void breakpoint(void);