18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _SPARC_KGDB_H
38c2ecf20Sopenharmony_ci#define _SPARC_KGDB_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#ifdef CONFIG_SPARC32
68c2ecf20Sopenharmony_ci#define BUFMAX			2048
78c2ecf20Sopenharmony_ci#else
88c2ecf20Sopenharmony_ci#define BUFMAX			4096
98c2ecf20Sopenharmony_ci#endif
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_cienum regnames {
128c2ecf20Sopenharmony_ci	GDB_G0, GDB_G1, GDB_G2, GDB_G3, GDB_G4, GDB_G5, GDB_G6, GDB_G7,
138c2ecf20Sopenharmony_ci	GDB_O0, GDB_O1, GDB_O2, GDB_O3, GDB_O4, GDB_O5, GDB_SP, GDB_O7,
148c2ecf20Sopenharmony_ci	GDB_L0, GDB_L1, GDB_L2, GDB_L3, GDB_L4, GDB_L5, GDB_L6, GDB_L7,
158c2ecf20Sopenharmony_ci	GDB_I0, GDB_I1, GDB_I2, GDB_I3, GDB_I4, GDB_I5, GDB_FP, GDB_I7,
168c2ecf20Sopenharmony_ci	GDB_F0,
178c2ecf20Sopenharmony_ci	GDB_F31 = GDB_F0 + 31,
188c2ecf20Sopenharmony_ci#ifdef CONFIG_SPARC32
198c2ecf20Sopenharmony_ci	GDB_Y, GDB_PSR, GDB_WIM, GDB_TBR, GDB_PC, GDB_NPC,
208c2ecf20Sopenharmony_ci	GDB_FSR, GDB_CSR,
218c2ecf20Sopenharmony_ci#else
228c2ecf20Sopenharmony_ci	GDB_F32 = GDB_F0 + 32,
238c2ecf20Sopenharmony_ci	GDB_F62 = GDB_F32 + 15,
248c2ecf20Sopenharmony_ci	GDB_PC, GDB_NPC, GDB_STATE, GDB_FSR, GDB_FPRS, GDB_Y,
258c2ecf20Sopenharmony_ci#endif
268c2ecf20Sopenharmony_ci};
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#ifdef CONFIG_SPARC32
298c2ecf20Sopenharmony_ci#define NUMREGBYTES		((GDB_CSR + 1) * 4)
308c2ecf20Sopenharmony_ci#else
318c2ecf20Sopenharmony_ci#define NUMREGBYTES		((GDB_Y + 1) * 8)
328c2ecf20Sopenharmony_ci#endif
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_cistruct pt_regs;
358c2ecf20Sopenharmony_ciasmlinkage void kgdb_trap(unsigned long trap_level, struct pt_regs *regs);
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_civoid arch_kgdb_breakpoint(void);
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci#define BREAK_INSTR_SIZE	4
408c2ecf20Sopenharmony_ci#define CACHE_FLUSH_IS_SAFE	1
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci#endif /* _SPARC_KGDB_H */
43