Blame view

kernel/linux-rt-4.4.41/arch/mips/include/asm/kgdb.h 1.16 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  #ifndef __ASM_KGDB_H_
  #define __ASM_KGDB_H_
  
  #ifdef __KERNEL__
  
  #include <asm/sgidefs.h>
  
  #if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) || \
  	(_MIPS_ISA == _MIPS_ISA_MIPS32)
  
  #define KGDB_GDB_REG_SIZE	32
  #define GDB_SIZEOF_REG		sizeof(u32)
  
  #elif (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) || \
  	(_MIPS_ISA == _MIPS_ISA_MIPS64)
  
  #ifdef CONFIG_32BIT
  #define KGDB_GDB_REG_SIZE	32
  #define GDB_SIZEOF_REG		sizeof(u32)
  #else /* CONFIG_CPU_32BIT */
  #define KGDB_GDB_REG_SIZE	64
  #define GDB_SIZEOF_REG		sizeof(u64)
  #endif
  #else
  #error "Need to set KGDB_GDB_REG_SIZE for MIPS ISA"
  #endif /* _MIPS_ISA */
  
  #define BUFMAX			2048
  #define DBG_MAX_REG_NUM		72
  #define NUMREGBYTES		(DBG_MAX_REG_NUM * sizeof(GDB_SIZEOF_REG))
  #define NUMCRITREGBYTES		(12 * sizeof(GDB_SIZEOF_REG))
  #define BREAK_INSTR_SIZE	4
  #define CACHE_FLUSH_IS_SAFE	0
  
  extern void arch_kgdb_breakpoint(void);
  extern void *saved_vectors[32];
  extern void handle_exception(struct pt_regs *regs);
  extern void breakinst(void);
  extern int kgdb_ll_trap(int cmd, const char *str,
  			struct pt_regs *regs, long err, int trap, int sig);
  
  #endif				/* __KERNEL__ */
  
  #endif /* __ASM_KGDB_H_ */