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