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
arch_kgdb_breakpoint(void)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