GNU Linux-libre 4.14.290-gnu1
[releases.git] / arch / microblaze / include / asm / kgdb.h
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__ */