kgdb.h 915 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef __ASM_SH_KGDB_H
  2. #define __ASM_SH_KGDB_H
  3. #include <asm/cacheflush.h>
  4. #include <asm/ptrace.h>
  5. /* Same as pt_regs but has vbr in place of syscall_nr */
  6. struct kgdb_regs {
  7. unsigned long regs[16];
  8. unsigned long pc;
  9. unsigned long pr;
  10. unsigned long sr;
  11. unsigned long gbr;
  12. unsigned long mach;
  13. unsigned long macl;
  14. unsigned long vbr;
  15. };
  16. enum regnames {
  17. GDB_R0, GDB_R1, GDB_R2, GDB_R3, GDB_R4, GDB_R5, GDB_R6, GDB_R7,
  18. GDB_R8, GDB_R9, GDB_R10, GDB_R11, GDB_R12, GDB_R13, GDB_R14, GDB_R15,
  19. GDB_PC, GDB_PR, GDB_SR, GDB_GBR, GDB_MACH, GDB_MACL, GDB_VBR,
  20. };
  21. #define NUMREGBYTES ((GDB_VBR + 1) * 4)
  22. static inline void arch_kgdb_breakpoint(void)
  23. {
  24. __asm__ __volatile__ ("trapa #0x3c\n");
  25. }
  26. #define BUFMAX 2048
  27. #define CACHE_FLUSH_IS_SAFE 1
  28. #define BREAK_INSTR_SIZE 2
  29. #define GDB_ADJUSTS_BREAK_OFFSET
  30. #endif /* __ASM_SH_KGDB_H */