kgdb.h 739 B

1234567891011121314151617181920212223242526272829303132
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifdef __KERNEL__
  3. #ifndef __MICROBLAZE_KGDB_H__
  4. #define __MICROBLAZE_KGDB_H__
  5. #ifndef __ASSEMBLY__
  6. #define CACHE_FLUSH_IS_SAFE 1
  7. #define BUFMAX 2048
  8. /*
  9. * 32 32-bit general purpose registers (r0-r31)
  10. * 6 32-bit special registers (pc, msr, ear, esr, fsr, btr)
  11. * 12 32-bit PVR
  12. * 7 32-bit MMU Regs (redr, rpid, rzpr, rtlbx, rtlbsx, rtlblo, rtlbhi)
  13. * ------
  14. * 57 registers
  15. */
  16. #define NUMREGBYTES (57 * 4)
  17. #define BREAK_INSTR_SIZE 4
  18. static inline void arch_kgdb_breakpoint(void)
  19. {
  20. __asm__ __volatile__("brki r16, 0x18;");
  21. }
  22. struct pt_regs;
  23. asmlinkage void microblaze_kgdb_break(struct pt_regs *regs);
  24. #endif /* __ASSEMBLY__ */
  25. #endif /* __MICROBLAZE_KGDB_H__ */
  26. #endif /* __KERNEL__ */