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 13 #elif (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \ 14 (_MIPS_ISA == _MIPS_ISA_MIPS64) 15 16 #ifdef CONFIG_32BIT 17 #define KGDB_GDB_REG_SIZE 32 18 #else /* CONFIG_CPU_32BIT */ 19 #define KGDB_GDB_REG_SIZE 64 20 #endif 21 #else 22 #error "Need to set KGDB_GDB_REG_SIZE for MIPS ISA" 23 #endif /* _MIPS_ISA */ 24 25 #define BUFMAX 2048 26 #if (KGDB_GDB_REG_SIZE == 32) 27 #define NUMREGBYTES (90*sizeof(u32)) 28 #define NUMCRITREGBYTES (12*sizeof(u32)) 29 #else 30 #define NUMREGBYTES (90*sizeof(u64)) 31 #define NUMCRITREGBYTES (12*sizeof(u64)) 32 #endif 33 #define BREAK_INSTR_SIZE 4 34 #define CACHE_FLUSH_IS_SAFE 0 35 36 extern void arch_kgdb_breakpoint(void); 37 extern int kgdb_early_setup; 38 extern void *saved_vectors[32]; 39 extern void handle_exception(struct pt_regs *regs); 40 extern void breakinst(void); 41 42 #endif /* __KERNEL__ */ 43 44 #endif /* __ASM_KGDB_H_ */ 45