]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - arch/mips/include/asm/kgdb.h
Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ac97-mfd', 'asoc/topic...
[mirror_ubuntu-focal-kernel.git] / arch / mips / include / asm / kgdb.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_KGDB_H_
3 #define __ASM_KGDB_H_
4
5 #ifdef __KERNEL__
6
7 #include <asm/sgidefs.h>
8
9 #if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \
10 (_MIPS_ISA == _MIPS_ISA_MIPS32)
11
12 #define KGDB_GDB_REG_SIZE 32
13 #define GDB_SIZEOF_REG sizeof(u32)
14
15 #elif (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \
16 (_MIPS_ISA == _MIPS_ISA_MIPS64)
17
18 #ifdef CONFIG_32BIT
19 #define KGDB_GDB_REG_SIZE 32
20 #define GDB_SIZEOF_REG sizeof(u32)
21 #else /* CONFIG_CPU_32BIT */
22 #define KGDB_GDB_REG_SIZE 64
23 #define GDB_SIZEOF_REG sizeof(u64)
24 #endif
25 #else
26 #error "Need to set KGDB_GDB_REG_SIZE for MIPS ISA"
27 #endif /* _MIPS_ISA */
28
29 #define BUFMAX 2048
30 #define DBG_MAX_REG_NUM 72
31 #define NUMREGBYTES (DBG_MAX_REG_NUM * sizeof(GDB_SIZEOF_REG))
32 #define NUMCRITREGBYTES (12 * sizeof(GDB_SIZEOF_REG))
33 #define BREAK_INSTR_SIZE 4
34 #define CACHE_FLUSH_IS_SAFE 0
35
36 extern void arch_kgdb_breakpoint(void);
37 extern void *saved_vectors[32];
38 extern void handle_exception(struct pt_regs *regs);
39 extern void breakinst(void);
40 extern int kgdb_ll_trap(int cmd, const char *str,
41 struct pt_regs *regs, long err, int trap, int sig);
42
43 #endif /* __KERNEL__ */
44
45 #endif /* __ASM_KGDB_H_ */