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
22static inline void arch_kgdb_breakpoint(void)
23{
24	__asm__ __volatile__("brki r16, 0x18;");
25}
26
27struct pt_regs;
28asmlinkage void microblaze_kgdb_break(struct pt_regs *regs);
29
30#endif /* __ASSEMBLY__ */
31#endif /* __MICROBLAZE_KGDB_H__ */
32#endif /* __KERNEL__ */
33