xref: /linux/arch/microblaze/include/asm/kgdb.h (revision bb9707077b4ee5f77bc9939b057ff8a0d410296f)
1 #ifdef __KERNEL__
2 #ifndef __MICROBLAZE_KGDB_H__
3 #define __MICROBLAZE_KGDB_H__
4 
5 #ifndef __ASSEMBLY__
6 
7 #define CACHE_FLUSH_IS_SAFE	1
8 #define BUFMAX			2048
9 
10 /*
11  * 32 32-bit general purpose registers (r0-r31)
12  *  6 32-bit special registers (pc, msr, ear, esr, fsr, btr)
13  * 12 32-bit PVR
14  *   7 32-bit MMU Regs (redr, rpid, rzpr, rtlbx, rtlbsx, rtlblo, rtlbhi)
15  * ------
16  *  57 registers
17  */
18 #define NUMREGBYTES	(57 * 4)
19 
20 #define BREAK_INSTR_SIZE	4
21 static inline void arch_kgdb_breakpoint(void)
22 {
23 	__asm__ __volatile__("brki r16, 0x18;");
24 }
25 
26 struct pt_regs;
27 asmlinkage void microblaze_kgdb_break(struct pt_regs *regs);
28 
29 #endif /* __ASSEMBLY__ */
30 #endif /* __MICROBLAZE_KGDB_H__ */
31 #endif /* __KERNEL__ */
32