ptrace.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * Copyright (C) 2006 Atmark Techno, Inc.
  3. *
  4. * This file is subject to the terms and conditions of the GNU General Public
  5. * License. See the file "COPYING" in the main directory of this archive
  6. * for more details.
  7. */
  8. #ifndef _ASM_MICROBLAZE_PTRACE_H
  9. #define _ASM_MICROBLAZE_PTRACE_H
  10. #ifndef __ASSEMBLY__
  11. typedef unsigned long microblaze_reg_t;
  12. struct pt_regs {
  13. microblaze_reg_t r0;
  14. microblaze_reg_t r1;
  15. microblaze_reg_t r2;
  16. microblaze_reg_t r3;
  17. microblaze_reg_t r4;
  18. microblaze_reg_t r5;
  19. microblaze_reg_t r6;
  20. microblaze_reg_t r7;
  21. microblaze_reg_t r8;
  22. microblaze_reg_t r9;
  23. microblaze_reg_t r10;
  24. microblaze_reg_t r11;
  25. microblaze_reg_t r12;
  26. microblaze_reg_t r13;
  27. microblaze_reg_t r14;
  28. microblaze_reg_t r15;
  29. microblaze_reg_t r16;
  30. microblaze_reg_t r17;
  31. microblaze_reg_t r18;
  32. microblaze_reg_t r19;
  33. microblaze_reg_t r20;
  34. microblaze_reg_t r21;
  35. microblaze_reg_t r22;
  36. microblaze_reg_t r23;
  37. microblaze_reg_t r24;
  38. microblaze_reg_t r25;
  39. microblaze_reg_t r26;
  40. microblaze_reg_t r27;
  41. microblaze_reg_t r28;
  42. microblaze_reg_t r29;
  43. microblaze_reg_t r30;
  44. microblaze_reg_t r31;
  45. microblaze_reg_t pc;
  46. microblaze_reg_t msr;
  47. microblaze_reg_t ear;
  48. microblaze_reg_t esr;
  49. microblaze_reg_t fsr;
  50. int pt_mode;
  51. };
  52. #ifdef __KERNEL__
  53. #define kernel_mode(regs) ((regs)->pt_mode)
  54. #define user_mode(regs) (!kernel_mode(regs))
  55. #define instruction_pointer(regs) ((regs)->pc)
  56. #define profile_pc(regs) instruction_pointer(regs)
  57. void show_regs(struct pt_regs *);
  58. #else /* __KERNEL__ */
  59. /* pt_regs offsets used by gdbserver etc in ptrace syscalls */
  60. #define PT_GPR(n) ((n) * sizeof(microblaze_reg_t))
  61. #define PT_PC (32 * sizeof(microblaze_reg_t))
  62. #define PT_MSR (33 * sizeof(microblaze_reg_t))
  63. #define PT_EAR (34 * sizeof(microblaze_reg_t))
  64. #define PT_ESR (35 * sizeof(microblaze_reg_t))
  65. #define PT_FSR (36 * sizeof(microblaze_reg_t))
  66. #define PT_KERNEL_MODE (37 * sizeof(microblaze_reg_t))
  67. #endif /* __KERNEL */
  68. #endif /* __ASSEMBLY__ */
  69. #endif /* _ASM_MICROBLAZE_PTRACE_H */