1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
22d5973cbSMichal Simek #ifdef __KERNEL__
32d5973cbSMichal Simek #ifndef __MICROBLAZE_KGDB_H__
42d5973cbSMichal Simek #define __MICROBLAZE_KGDB_H__
52d5973cbSMichal Simek
62d5973cbSMichal Simek #ifndef __ASSEMBLY__
72d5973cbSMichal Simek
82d5973cbSMichal Simek #define CACHE_FLUSH_IS_SAFE 1
92d5973cbSMichal Simek #define BUFMAX 2048
102d5973cbSMichal Simek
112d5973cbSMichal Simek /*
122d5973cbSMichal Simek * 32 32-bit general purpose registers (r0-r31)
132d5973cbSMichal Simek * 6 32-bit special registers (pc, msr, ear, esr, fsr, btr)
142d5973cbSMichal Simek * 12 32-bit PVR
152d5973cbSMichal Simek * 7 32-bit MMU Regs (redr, rpid, rzpr, rtlbx, rtlbsx, rtlblo, rtlbhi)
162d5973cbSMichal Simek * ------
172d5973cbSMichal Simek * 57 registers
182d5973cbSMichal Simek */
192d5973cbSMichal Simek #define NUMREGBYTES (57 * 4)
202d5973cbSMichal Simek
212d5973cbSMichal Simek #define BREAK_INSTR_SIZE 4
arch_kgdb_breakpoint(void)222d5973cbSMichal Simek static inline void arch_kgdb_breakpoint(void)
232d5973cbSMichal Simek {
242d5973cbSMichal Simek __asm__ __volatile__("brki r16, 0x18;");
252d5973cbSMichal Simek }
262d5973cbSMichal Simek
27f396a4d2SMichal Simek struct pt_regs;
28f396a4d2SMichal Simek asmlinkage void microblaze_kgdb_break(struct pt_regs *regs);
29f396a4d2SMichal Simek
302d5973cbSMichal Simek #endif /* __ASSEMBLY__ */
312d5973cbSMichal Simek #endif /* __MICROBLAZE_KGDB_H__ */
322d5973cbSMichal Simek #endif /* __KERNEL__ */
33