summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>2012-06-22 15:56:37 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-06-23 07:50:07 +0200
commite4cece0d6f3bfa7254600e6fd4b5245733a02d44 (patch)
tree12151bc7cdddf1ba79f2f1e3b5f1d2f5fd257228
parentbf00abf2adb4d91c190ab20925533879eaab9453 (diff)
downloadcoreboot-e4cece0d6f3bfa7254600e6fd4b5245733a02d44.tar.xz
Add an option for Waiting for gdb connection if the gdb stub configuration is chosen.
Here's a quick demonstration on how to use it(tested on M4A785T-M). (gdb) file ./build/cbfs/fallback/coreboot_ram.debug Reading symbols from [...]/build/cbfs/fallback/coreboot_ram.debug...done. (gdb) set remotebaud 115200 (gdb) target remote /dev/ttyUSB0 Remote debugging using /dev/ttyUSB0 _text () at src/arch/x86/lib/c_start.S:85 85 call hardwaremain Change-Id: Ia49cbecc41deb061433bc39f5b81715da49edc98 Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Reviewed-on: http://review.coreboot.org/1134 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/Kconfig7
-rw-r--r--src/arch/x86/lib/c_start.S5
2 files changed, 11 insertions, 1 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 717146d4d9..3453614d1f 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -779,6 +779,13 @@ config GDB_STUB
If enabled, you will be able to set breakpoints for gdb debugging.
See src/arch/x86/lib/c_start.S for details.
+config GDB_WAIT
+ bool "Wait for a GDB connection"
+ default n
+ depends on GDB_STUB
+ help
+ If enabled, coreboot will wait for a GDB connection.
+
config DEBUG_CBFS
bool "Output verbose CBFS debug messages"
default n
diff --git a/src/arch/x86/lib/c_start.S b/src/arch/x86/lib/c_start.S
index 005ac33ee9..fd9dce78c5 100644
--- a/src/arch/x86/lib/c_start.S
+++ b/src/arch/x86/lib/c_start.S
@@ -78,6 +78,9 @@ _start:
/* Restore the stack location */
movl %ebp, %esp
+#if CONFIG_GDB_WAIT == 1
+ call gdb_stub_breakpoint
+#endif
/* The boot_complete flag has already been pushed */
call hardwaremain
/* NOTREACHED */
@@ -228,7 +231,7 @@ int_hand:
iret
-#if CONFIG_GDB_STUB == 1
+#if CONFIG_GDB_WAIT == 1
.globl gdb_stub_breakpoint
gdb_stub_breakpoint: