From e4cece0d6f3bfa7254600e6fd4b5245733a02d44 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Fri, 22 Jun 2012 15:56:37 +0200 Subject: [PATCH] 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 Reviewed-on: http://review.coreboot.org/1134 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/Kconfig | 7 +++++++ src/arch/x86/lib/c_start.S | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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: