arm_regformat.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #ifndef __ARM_REGFORMAT_H__
  2. #define __ARM_REGFORMAT_H__
  3. enum arm_regno{
  4. R0 = 0,
  5. R1,
  6. R2,
  7. R3,
  8. R4,
  9. R5,
  10. R6,
  11. R7,
  12. R8,
  13. R9,
  14. R10,
  15. R11,
  16. R12,
  17. R13,
  18. LR,
  19. R15, //PC,
  20. CPSR_REG,
  21. SPSR_REG,
  22. #if 1
  23. PHYS_PC,
  24. R13_USR,
  25. R14_USR,
  26. R13_SVC,
  27. R14_SVC,
  28. R13_ABORT,
  29. R14_ABORT,
  30. R13_UNDEF,
  31. R14_UNDEF,
  32. R13_IRQ,
  33. R14_IRQ,
  34. R8_FIRQ,
  35. R9_FIRQ,
  36. R10_FIRQ,
  37. R11_FIRQ,
  38. R12_FIRQ,
  39. R13_FIRQ,
  40. R14_FIRQ,
  41. SPSR_INVALID1,
  42. SPSR_INVALID2,
  43. SPSR_SVC,
  44. SPSR_ABORT,
  45. SPSR_UNDEF,
  46. SPSR_IRQ,
  47. SPSR_FIRQ,
  48. MODE_REG, /* That is the cpsr[4 : 0], just for calculation easily */
  49. BANK_REG,
  50. EXCLUSIVE_TAG,
  51. EXCLUSIVE_STATE,
  52. EXCLUSIVE_RESULT,
  53. CP15_BASE,
  54. CP15_C0 = CP15_BASE,
  55. CP15_C0_C0 = CP15_C0,
  56. CP15_MAIN_ID = CP15_C0_C0,
  57. CP15_CACHE_TYPE,
  58. CP15_TCM_STATUS,
  59. CP15_TLB_TYPE,
  60. CP15_C0_C1,
  61. CP15_PROCESSOR_FEATURE_0 = CP15_C0_C1,
  62. CP15_PROCESSOR_FEATURE_1,
  63. CP15_DEBUG_FEATURE_0,
  64. CP15_AUXILIARY_FEATURE_0,
  65. CP15_C1_C0,
  66. CP15_CONTROL = CP15_C1_C0,
  67. CP15_AUXILIARY_CONTROL,
  68. CP15_COPROCESSOR_ACCESS_CONTROL,
  69. CP15_C2,
  70. CP15_C2_C0 = CP15_C2,
  71. CP15_TRANSLATION_BASE = CP15_C2_C0,
  72. CP15_TRANSLATION_BASE_TABLE_0 = CP15_TRANSLATION_BASE,
  73. CP15_TRANSLATION_BASE_TABLE_1,
  74. CP15_TRANSLATION_BASE_CONTROL,
  75. CP15_DOMAIN_ACCESS_CONTROL,
  76. CP15_RESERVED,
  77. /* Fault status */
  78. CP15_FAULT_STATUS,
  79. CP15_INSTR_FAULT_STATUS,
  80. CP15_COMBINED_DATA_FSR = CP15_FAULT_STATUS,
  81. CP15_INST_FSR,
  82. /* Fault Address register */
  83. CP15_FAULT_ADDRESS,
  84. CP15_COMBINED_DATA_FAR = CP15_FAULT_ADDRESS,
  85. CP15_WFAR,
  86. CP15_IFAR,
  87. CP15_PID,
  88. CP15_CONTEXT_ID,
  89. CP15_THREAD_URO,
  90. CP15_TLB_FAULT_ADDR, /* defined by SkyEye */
  91. CP15_TLB_FAULT_STATUS, /* defined by SkyEye */
  92. /* VFP registers */
  93. VFP_BASE,
  94. VFP_FPSID = VFP_BASE,
  95. VFP_FPSCR,
  96. VFP_FPEXC,
  97. #endif
  98. MAX_REG_NUM,
  99. };
  100. #define VFP_OFFSET(x) (x - VFP_BASE)
  101. #endif