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>
This commit is contained in:
		
				
					committed by
					
						 Lean Sheng Tan
						Lean Sheng Tan
					
				
			
			
				
	
			
			
			
						parent
						
							42fa6247f4
						
					
				
				
					commit
					c5e467e50c
				
			| @@ -1015,7 +1015,8 @@ comment "General Debug Settings" | ||||
| config GDB_STUB | ||||
| 	bool "GDB debugging support" | ||||
| 	default n | ||||
| 	depends on DRIVERS_UART | ||||
| # FIXME Not implemented in long mode | ||||
| 	depends on DRIVERS_UART && !USE_X86_64_SUPPORT | ||||
| 	help | ||||
| 	  If enabled, you will be able to set breakpoints for gdb debugging. | ||||
| 	  See src/arch/x86/c_start.S for details. | ||||
|   | ||||
| @@ -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 */ | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user