xref: /openbmc/linux/arch/microblaze/include/asm/kgdb.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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