1#ifndef __ASM_KGDB_H_ 2#define __ASM_KGDB_H_ 3 4#ifdef __KERNEL__ 5 6#include <asm/sgidefs.h> 7 8#if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \ 9 (_MIPS_ISA == _MIPS_ISA_MIPS32) 10 11#define KGDB_GDB_REG_SIZE 32 12#define GDB_SIZEOF_REG sizeof(u32) 13 14#elif (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \ 15 (_MIPS_ISA == _MIPS_ISA_MIPS64) 16 17#ifdef CONFIG_32BIT 18#define KGDB_GDB_REG_SIZE 32 19#define GDB_SIZEOF_REG sizeof(u32) 20#else /* CONFIG_CPU_32BIT */ 21#define KGDB_GDB_REG_SIZE 64 22#define GDB_SIZEOF_REG sizeof(u64) 23#endif 24#else 25#error "Need to set KGDB_GDB_REG_SIZE for MIPS ISA" 26#endif /* _MIPS_ISA */ 27 28#define BUFMAX 2048 29#define DBG_MAX_REG_NUM 72 30#define NUMREGBYTES (DBG_MAX_REG_NUM * sizeof(GDB_SIZEOF_REG)) 31#define NUMCRITREGBYTES (12 * sizeof(GDB_SIZEOF_REG)) 32#define BREAK_INSTR_SIZE 4 33#define CACHE_FLUSH_IS_SAFE 0 34 35extern void arch_kgdb_breakpoint(void); 36extern int kgdb_early_setup; 37extern void *saved_vectors[32]; 38extern void handle_exception(struct pt_regs *regs); 39extern void breakinst(void); 40extern 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_ */ 46