xreg_cortexr5.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. /******************************************************************************
  2. * Copyright (c) 2014 - 2020 Xilinx, Inc. All rights reserved.
  3. * SPDX-License-Identifier: MIT
  4. ******************************************************************************/
  5. /*****************************************************************************/
  6. /**
  7. *
  8. * @file xreg_cortexr5.h
  9. *
  10. * This header file contains definitions for using inline assembler code. It is
  11. * written specifically for the GNU, IAR, ARMCC compiler.
  12. *
  13. * All of the ARM Cortex R5 GPRs, SPRs, and Debug Registers are defined along
  14. * with the positions of the bits within the registers.
  15. *
  16. * <pre>
  17. * MODIFICATION HISTORY:
  18. *
  19. * Ver Who Date Changes
  20. * ----- -------- -------- -----------------------------------------------
  21. * 5.00 pkp 02/10/14 Initial version
  22. * </pre>
  23. *
  24. ******************************************************************************/
  25. #ifndef XREG_CORTEXR5_H /* prevent circular inclusions */
  26. #define XREG_CORTEXR5_H /* by using protection macros */
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif /* __cplusplus */
  30. /* GPRs */
  31. #define XREG_GPR0 r0
  32. #define XREG_GPR1 r1
  33. #define XREG_GPR2 r2
  34. #define XREG_GPR3 r3
  35. #define XREG_GPR4 r4
  36. #define XREG_GPR5 r5
  37. #define XREG_GPR6 r6
  38. #define XREG_GPR7 r7
  39. #define XREG_GPR8 r8
  40. #define XREG_GPR9 r9
  41. #define XREG_GPR10 r10
  42. #define XREG_GPR11 r11
  43. #define XREG_GPR12 r12
  44. #define XREG_GPR13 r13
  45. #define XREG_GPR14 r14
  46. #define XREG_GPR15 r15
  47. #define XREG_CPSR cpsr
  48. /* Coprocessor number defines */
  49. #define XREG_CP0 0
  50. #define XREG_CP1 1
  51. #define XREG_CP2 2
  52. #define XREG_CP3 3
  53. #define XREG_CP4 4
  54. #define XREG_CP5 5
  55. #define XREG_CP6 6
  56. #define XREG_CP7 7
  57. #define XREG_CP8 8
  58. #define XREG_CP9 9
  59. #define XREG_CP10 10
  60. #define XREG_CP11 11
  61. #define XREG_CP12 12
  62. #define XREG_CP13 13
  63. #define XREG_CP14 14
  64. #define XREG_CP15 15
  65. /* Coprocessor control register defines */
  66. #define XREG_CR0 cr0
  67. #define XREG_CR1 cr1
  68. #define XREG_CR2 cr2
  69. #define XREG_CR3 cr3
  70. #define XREG_CR4 cr4
  71. #define XREG_CR5 cr5
  72. #define XREG_CR6 cr6
  73. #define XREG_CR7 cr7
  74. #define XREG_CR8 cr8
  75. #define XREG_CR9 cr9
  76. #define XREG_CR10 cr10
  77. #define XREG_CR11 cr11
  78. #define XREG_CR12 cr12
  79. #define XREG_CR13 cr13
  80. #define XREG_CR14 cr14
  81. #define XREG_CR15 cr15
  82. /* Current Processor Status Register (CPSR) Bits */
  83. #define XREG_CPSR_THUMB_MODE 0x20U
  84. #define XREG_CPSR_MODE_BITS 0x1FU
  85. #define XREG_CPSR_SYSTEM_MODE 0x1FU
  86. #define XREG_CPSR_UNDEFINED_MODE 0x1BU
  87. #define XREG_CPSR_DATA_ABORT_MODE 0x17U
  88. #define XREG_CPSR_SVC_MODE 0x13U
  89. #define XREG_CPSR_IRQ_MODE 0x12U
  90. #define XREG_CPSR_FIQ_MODE 0x11U
  91. #define XREG_CPSR_USER_MODE 0x10U
  92. #define XREG_CPSR_IRQ_ENABLE 0x80U
  93. #define XREG_CPSR_FIQ_ENABLE 0x40U
  94. #define XREG_CPSR_N_BIT 0x80000000U
  95. #define XREG_CPSR_Z_BIT 0x40000000U
  96. #define XREG_CPSR_C_BIT 0x20000000U
  97. #define XREG_CPSR_V_BIT 0x10000000U
  98. /*MPU region definitions*/
  99. #define REGION_32B 0x00000004U
  100. #define REGION_64B 0x00000005U
  101. #define REGION_128B 0x00000006U
  102. #define REGION_256B 0x00000007U
  103. #define REGION_512B 0x00000008U
  104. #define REGION_1K 0x00000009U
  105. #define REGION_2K 0x0000000AU
  106. #define REGION_4K 0x0000000BU
  107. #define REGION_8K 0x0000000CU
  108. #define REGION_16K 0x0000000DU
  109. #define REGION_32K 0x0000000EU
  110. #define REGION_64K 0x0000000FU
  111. #define REGION_128K 0x00000010U
  112. #define REGION_256K 0x00000011U
  113. #define REGION_512K 0x00000012U
  114. #define REGION_1M 0x00000013U
  115. #define REGION_2M 0x00000014U
  116. #define REGION_4M 0x00000015U
  117. #define REGION_8M 0x00000016U
  118. #define REGION_16M 0x00000017U
  119. #define REGION_32M 0x00000018U
  120. #define REGION_64M 0x00000019U
  121. #define REGION_128M 0x0000001AU
  122. #define REGION_256M 0x0000001BU
  123. #define REGION_512M 0x0000001CU
  124. #define REGION_1G 0x0000001DU
  125. #define REGION_2G 0x0000001EU
  126. #define REGION_4G 0x0000001FU
  127. #define REGION_EN 0x00000001U
  128. #define SHAREABLE 0x00000004U /*shareable */
  129. #define STRONG_ORDERD_SHARED 0x00000000U /*strongly ordered, always shareable*/
  130. #define DEVICE_SHARED 0x00000001U /*device, shareable*/
  131. #define DEVICE_NONSHARED 0x00000010U /*device, non shareable*/
  132. #define NORM_NSHARED_WT_NWA 0x00000002U /*Outer and Inner write-through, no write-allocate non-shareable*/
  133. #define NORM_SHARED_WT_NWA 0x00000006U /*Outer and Inner write-through, no write-allocate shareable*/
  134. #define NORM_NSHARED_WB_NWA 0x00000003U /*Outer and Inner write-back, no write-allocate non shareable*/
  135. #define NORM_SHARED_WB_NWA 0x00000007U /*Outer and Inner write-back, no write-allocate shareable*/
  136. #define NORM_NSHARED_NCACHE 0x00000008U /*Outer and Inner Non cacheable non shareable*/
  137. #define NORM_SHARED_NCACHE 0x0000000CU /*Outer and Inner Non cacheable shareable*/
  138. #define NORM_NSHARED_WB_WA 0x0000000BU /*Outer and Inner write-back non shared*/
  139. #define NORM_SHARED_WB_WA 0x0000000FU /*Outer and Inner write-back shared*/
  140. /* inner and outer cache policies can be combined for different combinations */
  141. #define NORM_IN_POLICY_NCACHE 0x00000020U /*inner non cacheable*/
  142. #define NORM_IN_POLICY_WB_WA 0x00000021U /*inner write back write allocate*/
  143. #define NORM_IN_POLICY_WT_NWA 0x00000022U /*inner write through no write allocate*/
  144. #define NORM_IN_POLICY_WB_NWA 0x00000023U /*inner write back no write allocate*/
  145. #define NORM_OUT_POLICY_NCACHE 0x00000020U /*outer non cacheable*/
  146. #define NORM_OUT_POLICY_WB_WA 0x00000028U /*outer write back write allocate*/
  147. #define NORM_OUT_POLICY_WT_NWA 0x00000030U /*outer write through no write allocate*/
  148. #define NORM_OUT_POLICY_WB_NWA 0x00000038U /*outer write back no write allocate*/
  149. #define NO_ACCESS (0x00000000U<<8U) /*No access*/
  150. #define PRIV_RW_USER_NA (0x00000001U<<8U) /*Privileged access only*/
  151. #define PRIV_RW_USER_RO (0x00000002U<<8U) /*Writes in User mode generate permission faults*/
  152. #define PRIV_RW_USER_RW (0x00000003U<<8U) /*Full Access*/
  153. #define PRIV_RO_USER_NA (0x00000005U<<8U) /*Privileged eead only*/
  154. #define PRIV_RO_USER_RO (0x00000006U<<8U) /*Privileged/User read-only*/
  155. #define EXECUTE_NEVER (0x00000001U<<12U) /* Bit 12*/
  156. /* CP15 defines */
  157. /* C0 Register defines */
  158. #define XREG_CP15_MAIN_ID "p15, 0, %0, c0, c0, 0"
  159. #define XREG_CP15_CACHE_TYPE "p15, 0, %0, c0, c0, 1"
  160. #define XREG_CP15_TCM_TYPE "p15, 0, %0, c0, c0, 2"
  161. #define XREG_CP15_TLB_TYPE "p15, 0, %0, c0, c0, 3"
  162. #define XREG_CP15_MPU_TYPE "p15, 0, %0, c0, c0, 4"
  163. #define XREG_CP15_MULTI_PROC_AFFINITY "p15, 0, %0, c0, c0, 5"
  164. #define XREG_CP15_PROC_FEATURE_0 "p15, 0, %0, c0, c1, 0"
  165. #define XREG_CP15_PROC_FEATURE_1 "p15, 0, %0, c0, c1, 1"
  166. #define XREG_CP15_DEBUG_FEATURE_0 "p15, 0, %0, c0, c1, 2"
  167. #define XREG_CP15_MEMORY_FEATURE_0 "p15, 0, %0, c0, c1, 4"
  168. #define XREG_CP15_MEMORY_FEATURE_1 "p15, 0, %0, c0, c1, 5"
  169. #define XREG_CP15_MEMORY_FEATURE_2 "p15, 0, %0, c0, c1, 6"
  170. #define XREG_CP15_MEMORY_FEATURE_3 "p15, 0, %0, c0, c1, 7"
  171. #define XREG_CP15_INST_FEATURE_0 "p15, 0, %0, c0, c2, 0"
  172. #define XREG_CP15_INST_FEATURE_1 "p15, 0, %0, c0, c2, 1"
  173. #define XREG_CP15_INST_FEATURE_2 "p15, 0, %0, c0, c2, 2"
  174. #define XREG_CP15_INST_FEATURE_3 "p15, 0, %0, c0, c2, 3"
  175. #define XREG_CP15_INST_FEATURE_4 "p15, 0, %0, c0, c2, 4"
  176. #define XREG_CP15_INST_FEATURE_5 "p15, 0, %0, c0, c2, 5"
  177. #define XREG_CP15_CACHE_SIZE_ID "p15, 1, %0, c0, c0, 0"
  178. #define XREG_CP15_CACHE_LEVEL_ID "p15, 1, %0, c0, c0, 1"
  179. #define XREG_CP15_AUXILARY_ID "p15, 1, %0, c0, c0, 7"
  180. #define XREG_CP15_CACHE_SIZE_SEL "p15, 2, %0, c0, c0, 0"
  181. /* C1 Register Defines */
  182. #define XREG_CP15_SYS_CONTROL "p15, 0, %0, c1, c0, 0"
  183. #define XREG_CP15_AUX_CONTROL "p15, 0, %0, c1, c0, 1"
  184. #define XREG_CP15_CP_ACCESS_CONTROL "p15, 0, %0, c1, c0, 2"
  185. /* XREG_CP15_CONTROL bit defines */
  186. #define XREG_CP15_CONTROL_TE_BIT 0x40000000U
  187. #define XREG_CP15_CONTROL_AFE_BIT 0x20000000U
  188. #define XREG_CP15_CONTROL_TRE_BIT 0x10000000U
  189. #define XREG_CP15_CONTROL_NMFI_BIT 0x08000000U
  190. #define XREG_CP15_CONTROL_EE_BIT 0x02000000U
  191. #define XREG_CP15_CONTROL_HA_BIT 0x00020000U
  192. #define XREG_CP15_CONTROL_RR_BIT 0x00004000U
  193. #define XREG_CP15_CONTROL_V_BIT 0x00002000U
  194. #define XREG_CP15_CONTROL_I_BIT 0x00001000U
  195. #define XREG_CP15_CONTROL_Z_BIT 0x00000800U
  196. #define XREG_CP15_CONTROL_SW_BIT 0x00000400U
  197. #define XREG_CP15_CONTROL_B_BIT 0x00000080U
  198. #define XREG_CP15_CONTROL_C_BIT 0x00000004U
  199. #define XREG_CP15_CONTROL_A_BIT 0x00000002U
  200. #define XREG_CP15_CONTROL_M_BIT 0x00000001U
  201. /* C2 Register Defines */
  202. /* Not Used */
  203. /* C3 Register Defines */
  204. /* Not Used */
  205. /* C4 Register Defines */
  206. /* Not Used */
  207. /* C5 Register Defines */
  208. #define XREG_CP15_DATA_FAULT_STATUS "p15, 0, %0, c5, c0, 0"
  209. #define XREG_CP15_INST_FAULT_STATUS "p15, 0, %0, c5, c0, 1"
  210. #define XREG_CP15_AUX_DATA_FAULT_STATUS "p15, 0, %0, c5, c1, 0"
  211. #define XREG_CP15_AUX_INST_FAULT_STATUS "p15, 0, %0, c5, c1, 1"
  212. /* C6 Register Defines */
  213. #define XREG_CP15_DATA_FAULT_ADDRESS "p15, 0, %0, c6, c0, 0"
  214. #define XREG_CP15_INST_FAULT_ADDRESS "p15, 0, %0, c6, c0, 2"
  215. #define XREG_CP15_MPU_REG_BASEADDR "p15, 0, %0, c6, c1, 0"
  216. #define XREG_CP15_MPU_REG_SIZE_EN "p15, 0, %0, c6, c1, 2"
  217. #define XREG_CP15_MPU_REG_ACCESS_CTRL "p15, 0, %0, c6, c1, 4"
  218. #define XREG_CP15_MPU_MEMORY_REG_NUMBER "p15, 0, %0, c6, c2, 0"
  219. /* C7 Register Defines */
  220. #define XREG_CP15_NOP "p15, 0, %0, c7, c0, 4"
  221. #define XREG_CP15_INVAL_IC_POU "p15, 0, %0, c7, c5, 0"
  222. #define XREG_CP15_INVAL_IC_LINE_MVA_POU "p15, 0, %0, c7, c5, 1"
  223. /* The CP15 register access below has been deprecated in favor of the new
  224. * isb instruction in Cortex R5.
  225. */
  226. #define XREG_CP15_INST_SYNC_BARRIER "p15, 0, %0, c7, c5, 4"
  227. #define XREG_CP15_INVAL_BRANCH_ARRAY "p15, 0, %0, c7, c5, 6"
  228. #define XREG_CP15_INVAL_BRANCH_ARRAY_LINE "p15, 0, %0, c7, c5, 7"
  229. #define XREG_CP15_INVAL_DC_LINE_MVA_POC "p15, 0, %0, c7, c6, 1"
  230. #define XREG_CP15_INVAL_DC_LINE_SW "p15, 0, %0, c7, c6, 2"
  231. #define XREG_CP15_CLEAN_DC_LINE_MVA_POC "p15, 0, %0, c7, c10, 1"
  232. #define XREG_CP15_CLEAN_DC_LINE_SW "p15, 0, %0, c7, c10, 2"
  233. #define XREG_CP15_INVAL_DC_ALL "p15, 0, %0, c15, c5, 0"
  234. /* The next two CP15 register accesses below have been deprecated in favor
  235. * of the new dsb and dmb instructions in Cortex R5.
  236. */
  237. #define XREG_CP15_DATA_SYNC_BARRIER "p15, 0, %0, c7, c10, 4"
  238. #define XREG_CP15_DATA_MEMORY_BARRIER "p15, 0, %0, c7, c10, 5"
  239. #define XREG_CP15_CLEAN_DC_LINE_MVA_POU "p15, 0, %0, c7, c11, 1"
  240. #define XREG_CP15_NOP2 "p15, 0, %0, c7, c13, 1"
  241. #define XREG_CP15_CLEAN_INVAL_DC_LINE_MVA_POC "p15, 0, %0, c7, c14, 1"
  242. #define XREG_CP15_CLEAN_INVAL_DC_LINE_SW "p15, 0, %0, c7, c14, 2"
  243. /* C8 Register Defines */
  244. /* Not Used */
  245. /* C9 Register Defines */
  246. #define XREG_CP15_ATCM_REG_SIZE_ADDR "p15, 0, %0, c9, c1, 1"
  247. #define XREG_CP15_BTCM_REG_SIZE_ADDR "p15, 0, %0, c9, c1, 0"
  248. #define XREG_CP15_TCM_SELECTION "p15, 0, %0, c9, c2, 0"
  249. #define XREG_CP15_PERF_MONITOR_CTRL "p15, 0, %0, c9, c12, 0"
  250. #define XREG_CP15_COUNT_ENABLE_SET "p15, 0, %0, c9, c12, 1"
  251. #define XREG_CP15_COUNT_ENABLE_CLR "p15, 0, %0, c9, c12, 2"
  252. #define XREG_CP15_V_FLAG_STATUS "p15, 0, %0, c9, c12, 3"
  253. #define XREG_CP15_SW_INC "p15, 0, %0, c9, c12, 4"
  254. #define XREG_CP15_EVENT_CNTR_SEL "p15, 0, %0, c9, c12, 5"
  255. #define XREG_CP15_PERF_CYCLE_COUNTER "p15, 0, %0, c9, c13, 0"
  256. #define XREG_CP15_EVENT_TYPE_SEL "p15, 0, %0, c9, c13, 1"
  257. #define XREG_CP15_PERF_MONITOR_COUNT "p15, 0, %0, c9, c13, 2"
  258. #define XREG_CP15_USER_ENABLE "p15, 0, %0, c9, c14, 0"
  259. #define XREG_CP15_INTR_ENABLE_SET "p15, 0, %0, c9, c14, 1"
  260. #define XREG_CP15_INTR_ENABLE_CLR "p15, 0, %0, c9, c14, 2"
  261. /* C10 Register Defines */
  262. /* Not used */
  263. /* C11 Register Defines */
  264. /* Not used */
  265. /* C12 Register Defines */
  266. /* Not used */
  267. /* C13 Register Defines */
  268. #define XREG_CP15_CONTEXT_ID "p15, 0, %0, c13, c0, 1"
  269. #define USER_RW_THREAD_PID "p15, 0, %0, c13, c0, 2"
  270. #define USER_RO_THREAD_PID "p15, 0, %0, c13, c0, 3"
  271. #define USER_PRIV_THREAD_PID "p15, 0, %0, c13, c0, 4"
  272. /* C14 Register Defines */
  273. /* not used */
  274. /* C15 Register Defines */
  275. #define XREG_CP15_SEC_AUX_CTRL "p15, 0, %0, c15, c0, 0"
  276. /* MPE register definitions */
  277. #define XREG_FPSID c0
  278. #define XREG_FPSCR c1
  279. #define XREG_MVFR1 c6
  280. #define XREG_MVFR0 c7
  281. #define XREG_FPEXC c8
  282. #define XREG_FPINST c9
  283. #define XREG_FPINST2 c10
  284. /* FPSID bits */
  285. #define XREG_FPSID_IMPLEMENTER_BIT (24U)
  286. #define XREG_FPSID_IMPLEMENTER_MASK (0x000000FFU << FPSID_IMPLEMENTER_BIT)
  287. #define XREG_FPSID_SOFTWARE (0X00000001U << 23U)
  288. #define XREG_FPSID_ARCH_BIT (16U)
  289. #define XREG_FPSID_ARCH_MASK (0x0000000FU << FPSID_ARCH_BIT)
  290. #define XREG_FPSID_PART_BIT (8U)
  291. #define XREG_FPSID_PART_MASK (0x000000FFU << FPSID_PART_BIT)
  292. #define XREG_FPSID_VARIANT_BIT (4U)
  293. #define XREG_FPSID_VARIANT_MASK (0x0000000FU << FPSID_VARIANT_BIT)
  294. #define XREG_FPSID_REV_BIT (0U)
  295. #define XREG_FPSID_REV_MASK (0x0000000FU << FPSID_REV_BIT)
  296. /* FPSCR bits */
  297. #define XREG_FPSCR_N_BIT (0X00000001U << 31U)
  298. #define XREG_FPSCR_Z_BIT (0X00000001U << 30U)
  299. #define XREG_FPSCR_C_BIT (0X00000001U << 29U)
  300. #define XREG_FPSCR_V_BIT (0X00000001U << 28U)
  301. #define XREG_FPSCR_QC (0X00000001U << 27U)
  302. #define XREG_FPSCR_AHP (0X00000001U << 26U)
  303. #define XREG_FPSCR_DEFAULT_NAN (0X00000001U << 25U)
  304. #define XREG_FPSCR_FLUSHTOZERO (0X00000001U << 24U)
  305. #define XREG_FPSCR_ROUND_NEAREST (0X00000000U << 22U)
  306. #define XREG_FPSCR_ROUND_PLUSINF (0X00000001U << 22U)
  307. #define XREG_FPSCR_ROUND_MINUSINF (0X00000002U << 22U)
  308. #define XREG_FPSCR_ROUND_TOZERO (0X00000003U << 22U)
  309. #define XREG_FPSCR_RMODE_BIT (22U)
  310. #define XREG_FPSCR_RMODE_MASK (0X00000003U << FPSCR_RMODE_BIT)
  311. #define XREG_FPSCR_STRIDE_BIT (20U)
  312. #define XREG_FPSCR_STRIDE_MASK (0X00000003U << FPSCR_STRIDE_BIT)
  313. #define XREG_FPSCR_LENGTH_BIT (16U)
  314. #define XREG_FPSCR_LENGTH_MASK (0X00000007U << FPSCR_LENGTH_BIT)
  315. #define XREG_FPSCR_IDC (0X00000001U << 7U)
  316. #define XREG_FPSCR_IXC (0X00000001U << 4U)
  317. #define XREG_FPSCR_UFC (0X00000001U << 3U)
  318. #define XREG_FPSCR_OFC (0X00000001U << 2U)
  319. #define XREG_FPSCR_DZC (0X00000001U << 1U)
  320. #define XREG_FPSCR_IOC (0X00000001U << 0U)
  321. /* MVFR0 bits */
  322. #define XREG_MVFR0_RMODE_BIT (28U)
  323. #define XREG_MVFR0_RMODE_MASK (0x0000000FU << XREG_MVFR0_RMODE_BIT)
  324. #define XREG_MVFR0_SHORT_VEC_BIT (24U)
  325. #define XREG_MVFR0_SHORT_VEC_MASK (0x0000000FU << XREG_MVFR0_SHORT_VEC_BIT)
  326. #define XREG_MVFR0_SQRT_BIT (20U)
  327. #define XREG_MVFR0_SQRT_MASK (0x0000000FU << XREG_MVFR0_SQRT_BIT)
  328. #define XREG_MVFR0_DIVIDE_BIT (16U)
  329. #define XREG_MVFR0_DIVIDE_MASK (0x0000000FU << XREG_MVFR0_DIVIDE_BIT)
  330. #define XREG_MVFR0_EXEC_TRAP_BIT (12U)
  331. #define XREG_MVFR0_EXEC_TRAP_MASK (0x0000000FU << XREG_MVFR0_EXEC_TRAP_BIT)
  332. #define XREG_MVFR0_DP_BIT (8U)
  333. #define XREG_MVFR0_DP_MASK (0x0000000FU << XREG_MVFR0_DP_BIT)
  334. #define XREG_MVFR0_SP_BIT (4U)
  335. #define XREG_MVFR0_SP_MASK (0x0000000FU << XREG_MVFR0_SP_BIT)
  336. #define XREG_MVFR0_A_SIMD_BIT (0U)
  337. #define XREG_MVFR0_A_SIMD_MASK (0x0000000FU << MVFR0_A_SIMD_BIT)
  338. /* FPEXC bits */
  339. #define XREG_FPEXC_EX (0X00000001U << 31U)
  340. #define XREG_FPEXC_EN (0X00000001U << 30U)
  341. #define XREG_FPEXC_DEX (0X00000001U << 29U)
  342. #ifdef __cplusplus
  343. }
  344. #endif /* __cplusplus */
  345. #endif /* XREG_CORTEXR5_H */