diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2024-03-21 13:58:49 +0100 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2024-04-01 13:40:37 +0000 |
commit | c5e467e50ceadeccf7beb8dcf7ba1e4df0dda7ae (patch) | |
tree | 3ac4ff1989cea9e7809e055445f1b9d3819d5e78 /src/arch | |
parent | 42fa6247f41eb920f069f21709c8267512d69220 (diff) |
Kconfig: Make GBD_STUB and long mode mutually exclusive
GDB debugging is not implemented with x86 long mode.
Change-Id: Icaf7d0763829d5badf73d38bb8fc3d36cfe18964
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81379
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/c_start.S | 5 | ||||
-rw-r--r-- | src/arch/x86/exception.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/arch/x86/c_start.S b/src/arch/x86/c_start.S index 6bea8db10d..94b9bd9fa5 100644 --- a/src/arch/x86/c_start.S +++ b/src/arch/x86/c_start.S @@ -129,8 +129,9 @@ _start: gdb_stub_breakpoint: #if ENV_X86_64 pop %rax /* Return address */ - pushfl - push %cs + pushfq + mov %cs, %rbx + push %rbx push %rax /* Return address */ push $0 /* No error code */ push $32 /* vector 32 is user defined */ diff --git a/src/arch/x86/exception.c b/src/arch/x86/exception.c index b8f0583a43..aecce7b7b1 100644 --- a/src/arch/x86/exception.c +++ b/src/arch/x86/exception.c @@ -379,6 +379,7 @@ void x86_exception(struct eregs *info); void x86_exception(struct eregs *info) { #if CONFIG(GDB_STUB) + /* TODO implement 64bit mode */ int signo; memcpy(gdb_stub_registers, info, 8*sizeof(uint32_t)); gdb_stub_registers[PC] = info->eip; |