[PATCH v2 3/7] common: board_r: drop initr_kgdb wrapper
Ovidiu Panait
ovidiu.panait at windriver.com
Sat Jan 1 18:13:27 CET 2022
Add a return value to kgdb_init and use it directly in the post-relocation
init sequence, rather than using a wrapper stub. Also, move the "KGDB"
print message inside kgdb_init().
Reviewed-by: Simon Glass <sjg at chromium.org>
Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
---
Changes in v2:
- drop extern and add function comment
common/board_r.c | 11 +----------
common/kgdb.c | 7 +++++--
include/kgdb.h | 11 ++++++++++-
3 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/common/board_r.c b/common/board_r.c
index cc0e6fa92e..5905921caa 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)
{
@@ -745,7 +736,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 4493a15919..29b09fcfe5 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 616ce4451f..bdba347a7f 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);
--
2.25.1
More information about the U-Boot
mailing list