 2d5973cb5a
			
		
	
	
	2d5973cb5a
	
	
	
		
			
			Kgdb uses brki r16, 0x18 instruction to call low level _debug_exception function which save current state to pt_regs and call microblaze_kgdb_break function. _debug_exception should be called only from the kernel space. User space calling is not supported because user application debugging uses different handling. pt_regs_to_gdb_regs loads additional special registers which can't be changed * Enable KGDB in Kconfig * Remove ancient not-tested KGDB support * Remove ancient _debug_exception code from entry.S Only MMU KGDB support is supported. Signed-off-by: Michal Simek <monstr@monstr.eu> CC: Jason Wessel <jason.wessel@windriver.com> CC: John Williams <john.williams@petalogix.com> CC: Edgar E. Iglesias <edgar.iglesias@petalogix.com> CC: linux-kernel@vger.kernel.org Acked-by: Jason Wessel <jason.wessel@windriver.com>
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			622 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			622 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifdef __KERNEL__
 | |
| #ifndef __MICROBLAZE_KGDB_H__
 | |
| #define __MICROBLAZE_KGDB_H__
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| #define CACHE_FLUSH_IS_SAFE	1
 | |
| #define BUFMAX			2048
 | |
| 
 | |
| /*
 | |
|  * 32 32-bit general purpose registers (r0-r31)
 | |
|  *  6 32-bit special registers (pc, msr, ear, esr, fsr, btr)
 | |
|  * 12 32-bit PVR
 | |
|  *   7 32-bit MMU Regs (redr, rpid, rzpr, rtlbx, rtlbsx, rtlblo, rtlbhi)
 | |
|  * ------
 | |
|  *  57 registers
 | |
|  */
 | |
| #define NUMREGBYTES	(57 * 4)
 | |
| 
 | |
| #define BREAK_INSTR_SIZE	4
 | |
| static inline void arch_kgdb_breakpoint(void)
 | |
| {
 | |
| 	__asm__ __volatile__("brki r16, 0x18;");
 | |
| }
 | |
| 
 | |
| #endif /* __ASSEMBLY__ */
 | |
| #endif /* __MICROBLAZE_KGDB_H__ */
 | |
| #endif /* __KERNEL__ */
 |