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