cpu-regs.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. /* MN10300 Core system registers
  2. *
  3. * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
  4. * Written by David Howells (dhowells@redhat.com)
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU General Public Licence
  8. * as published by the Free Software Foundation; either version
  9. * 2 of the Licence, or (at your option) any later version.
  10. */
  11. #ifndef _ASM_CPU_REGS_H
  12. #define _ASM_CPU_REGS_H
  13. #ifndef __ASSEMBLY__
  14. #include <linux/types.h>
  15. #endif
  16. /* we tell the compiler to pretend to be AM33 so that it doesn't try and use
  17. * the FP regs, but tell the assembler that we're actually allowed AM33v2
  18. * instructions */
  19. #ifndef __ASSEMBLY__
  20. asm(" .am33_2\n");
  21. #else
  22. .am33_2
  23. #endif
  24. #ifdef __KERNEL__
  25. #ifndef __ASSEMBLY__
  26. #define __SYSREG(ADDR, TYPE) (*(volatile TYPE *)(ADDR))
  27. #define __SYSREGC(ADDR, TYPE) (*(const volatile TYPE *)(ADDR))
  28. #else
  29. #define __SYSREG(ADDR, TYPE) ADDR
  30. #define __SYSREGC(ADDR, TYPE) ADDR
  31. #endif
  32. /* CPU registers */
  33. #define EPSW_FLAG_Z 0x00000001 /* zero flag */
  34. #define EPSW_FLAG_N 0x00000002 /* negative flag */
  35. #define EPSW_FLAG_C 0x00000004 /* carry flag */
  36. #define EPSW_FLAG_V 0x00000008 /* overflow flag */
  37. #define EPSW_IM 0x00000700 /* interrupt mode */
  38. #define EPSW_IM_0 0x00000000 /* interrupt mode 0 */
  39. #define EPSW_IM_1 0x00000100 /* interrupt mode 1 */
  40. #define EPSW_IM_2 0x00000200 /* interrupt mode 2 */
  41. #define EPSW_IM_3 0x00000300 /* interrupt mode 3 */
  42. #define EPSW_IM_4 0x00000400 /* interrupt mode 4 */
  43. #define EPSW_IM_5 0x00000500 /* interrupt mode 5 */
  44. #define EPSW_IM_6 0x00000600 /* interrupt mode 6 */
  45. #define EPSW_IM_7 0x00000700 /* interrupt mode 7 */
  46. #define EPSW_IE 0x00000800 /* interrupt enable */
  47. #define EPSW_S 0x00003000 /* software auxiliary bits */
  48. #define EPSW_T 0x00008000 /* trace enable */
  49. #define EPSW_nSL 0x00010000 /* not supervisor level */
  50. #define EPSW_NMID 0x00020000 /* nonmaskable interrupt disable */
  51. #define EPSW_nAR 0x00040000 /* register bank control */
  52. #define EPSW_ML 0x00080000 /* monitor level */
  53. #define EPSW_FE 0x00100000 /* FPU enable */
  54. #define EPSW_IM_SHIFT 8 /* EPSW_IM_SHIFT determines the interrupt mode */
  55. #define NUM2EPSW_IM(num) ((num) << EPSW_IM_SHIFT)
  56. /* FPU registers */
  57. #define FPCR_EF_I 0x00000001 /* inexact result FPU exception flag */
  58. #define FPCR_EF_U 0x00000002 /* underflow FPU exception flag */
  59. #define FPCR_EF_O 0x00000004 /* overflow FPU exception flag */
  60. #define FPCR_EF_Z 0x00000008 /* zero divide FPU exception flag */
  61. #define FPCR_EF_V 0x00000010 /* invalid operand FPU exception flag */
  62. #define FPCR_EE_I 0x00000020 /* inexact result FPU exception enable */
  63. #define FPCR_EE_U 0x00000040 /* underflow FPU exception enable */
  64. #define FPCR_EE_O 0x00000080 /* overflow FPU exception enable */
  65. #define FPCR_EE_Z 0x00000100 /* zero divide FPU exception enable */
  66. #define FPCR_EE_V 0x00000200 /* invalid operand FPU exception enable */
  67. #define FPCR_EC_I 0x00000400 /* inexact result FPU exception cause */
  68. #define FPCR_EC_U 0x00000800 /* underflow FPU exception cause */
  69. #define FPCR_EC_O 0x00001000 /* overflow FPU exception cause */
  70. #define FPCR_EC_Z 0x00002000 /* zero divide FPU exception cause */
  71. #define FPCR_EC_V 0x00004000 /* invalid operand FPU exception cause */
  72. #define FPCR_RM 0x00030000 /* rounding mode */
  73. #define FPCR_RM_NEAREST 0x00000000 /* - round to nearest value */
  74. #define FPCR_FCC_U 0x00040000 /* FPU unordered condition code */
  75. #define FPCR_FCC_E 0x00080000 /* FPU equal condition code */
  76. #define FPCR_FCC_G 0x00100000 /* FPU greater than condition code */
  77. #define FPCR_FCC_L 0x00200000 /* FPU less than condition code */
  78. #define FPCR_INIT 0x00000000 /* no exceptions, rounding to nearest */
  79. /* CPU control registers */
  80. #define CPUP __SYSREG(0xc0000020, u16) /* CPU pipeline register */
  81. #define CPUP_DWBD 0x0020 /* write buffer disable flag */
  82. #define CPUP_IPFD 0x0040 /* instruction prefetch disable flag */
  83. #define CPUP_EXM 0x0080 /* exception operation mode */
  84. #define CPUP_EXM_AM33V1 0x0000 /* - AM33 v1 exception mode */
  85. #define CPUP_EXM_AM33V2 0x0080 /* - AM33 v2 exception mode */
  86. #define CPUM __SYSREG(0xc0000040, u16) /* CPU mode register */
  87. #define CPUM_SLEEP 0x0004 /* set to enter sleep state */
  88. #define CPUM_HALT 0x0008 /* set to enter halt state */
  89. #define CPUM_STOP 0x0010 /* set to enter stop state */
  90. #define CPUREV __SYSREGC(0xc0000050, u32) /* CPU revision register */
  91. #define CPUREV_TYPE 0x0000000f /* CPU type */
  92. #define CPUREV_TYPE_S 0
  93. #define CPUREV_TYPE_AM33_1 0x00000000 /* - AM33-1 core, AM33/1.00 arch */
  94. #define CPUREV_TYPE_AM33_2 0x00000001 /* - AM33-2 core, AM33/2.00 arch */
  95. #define CPUREV_TYPE_AM34_1 0x00000002 /* - AM34-1 core, AM33/2.00 arch */
  96. #define CPUREV_TYPE_AM33_3 0x00000003 /* - AM33-3 core, AM33/2.00 arch */
  97. #define CPUREV_TYPE_AM34_2 0x00000004 /* - AM34-2 core, AM33/3.00 arch */
  98. #define CPUREV_REVISION 0x000000f0 /* CPU revision */
  99. #define CPUREV_REVISION_S 4
  100. #define CPUREV_ICWAY 0x00000f00 /* number of instruction cache ways */
  101. #define CPUREV_ICWAY_S 8
  102. #define CPUREV_ICSIZE 0x0000f000 /* instruction cache way size */
  103. #define CPUREV_ICSIZE_S 12
  104. #define CPUREV_DCWAY 0x000f0000 /* number of data cache ways */
  105. #define CPUREV_DCWAY_S 16
  106. #define CPUREV_DCSIZE 0x00f00000 /* data cache way size */
  107. #define CPUREV_DCSIZE_S 20
  108. #define CPUREV_FPUTYPE 0x0f000000 /* FPU core type */
  109. #define CPUREV_FPUTYPE_NONE 0x00000000 /* - no FPU core implemented */
  110. #define CPUREV_OCDCTG 0xf0000000 /* on-chip debug function category */
  111. #define DCR __SYSREG(0xc0000030, u16) /* Debug control register */
  112. /* interrupt/exception control registers */
  113. #define IVAR0 __SYSREG(0xc0000000, u16) /* interrupt vector 0 */
  114. #define IVAR1 __SYSREG(0xc0000004, u16) /* interrupt vector 1 */
  115. #define IVAR2 __SYSREG(0xc0000008, u16) /* interrupt vector 2 */
  116. #define IVAR3 __SYSREG(0xc000000c, u16) /* interrupt vector 3 */
  117. #define IVAR4 __SYSREG(0xc0000010, u16) /* interrupt vector 4 */
  118. #define IVAR5 __SYSREG(0xc0000014, u16) /* interrupt vector 5 */
  119. #define IVAR6 __SYSREG(0xc0000018, u16) /* interrupt vector 6 */
  120. #define TBR __SYSREG(0xc0000024, u32) /* Trap table base */
  121. #define TBR_TB 0xff000000 /* table base address bits 31-24 */
  122. #define TBR_INT_CODE 0x00ffffff /* interrupt code */
  123. #define DEAR __SYSREG(0xc0000038, u32) /* Data access exception address */
  124. #define sISR __SYSREG(0xc0000044, u32) /* Supervisor interrupt status */
  125. #define sISR_IRQICE 0x00000001 /* ICE interrupt */
  126. #define sISR_ISTEP 0x00000002 /* single step interrupt */
  127. #define sISR_MISSA 0x00000004 /* memory access address misalignment fault */
  128. #define sISR_UNIMP 0x00000008 /* unimplemented instruction execution fault */
  129. #define sISR_PIEXE 0x00000010 /* program interrupt */
  130. #define sISR_MEMERR 0x00000020 /* illegal memory access fault */
  131. #define sISR_IBREAK 0x00000040 /* instraction break interrupt */
  132. #define sISR_DBSRL 0x00000080 /* debug serial interrupt */
  133. #define sISR_PERIDB 0x00000100 /* peripheral debug interrupt */
  134. #define sISR_EXUNIMP 0x00000200 /* unimplemented ex-instruction execution fault */
  135. #define sISR_OBREAK 0x00000400 /* operand break interrupt */
  136. #define sISR_PRIV 0x00000800 /* privileged instruction execution fault */
  137. #define sISR_BUSERR 0x00001000 /* bus error fault */
  138. #define sISR_DBLFT 0x00002000 /* double fault */
  139. #define sISR_DBG 0x00008000 /* debug reserved interrupt */
  140. #define sISR_ITMISS 0x00010000 /* instruction TLB miss */
  141. #define sISR_DTMISS 0x00020000 /* data TLB miss */
  142. #define sISR_ITEX 0x00040000 /* instruction TLB access exception */
  143. #define sISR_DTEX 0x00080000 /* data TLB access exception */
  144. #define sISR_ILGIA 0x00100000 /* illegal instruction access exception */
  145. #define sISR_ILGDA 0x00200000 /* illegal data access exception */
  146. #define sISR_IOIA 0x00400000 /* internal I/O space instruction access excep */
  147. #define sISR_PRIVA 0x00800000 /* privileged space instruction access excep */
  148. #define sISR_PRIDA 0x01000000 /* privileged space data access excep */
  149. #define sISR_DISA 0x02000000 /* data space instruction access excep */
  150. #define sISR_SYSC 0x04000000 /* system call instruction excep */
  151. #define sISR_FPUD 0x08000000 /* FPU disabled excep */
  152. #define sISR_FPUUI 0x10000000 /* FPU unimplemented instruction excep */
  153. #define sISR_FPUOP 0x20000000 /* FPU operation excep */
  154. #define sISR_NE 0x80000000 /* multiple synchronous exceptions excep */
  155. /* cache control registers */
  156. #define CHCTR __SYSREG(0xc0000070, u16) /* cache control */
  157. #define CHCTR_ICEN 0x0001 /* instruction cache enable */
  158. #define CHCTR_DCEN 0x0002 /* data cache enable */
  159. #define CHCTR_ICBUSY 0x0004 /* instruction cache busy */
  160. #define CHCTR_DCBUSY 0x0008 /* data cache busy */
  161. #define CHCTR_ICINV 0x0010 /* instruction cache invalidate */
  162. #define CHCTR_DCINV 0x0020 /* data cache invalidate */
  163. #define CHCTR_DCWTMD 0x0040 /* data cache writing mode */
  164. #define CHCTR_DCWTMD_WRBACK 0x0000 /* - write back mode */
  165. #define CHCTR_DCWTMD_WRTHROUGH 0x0040 /* - write through mode */
  166. #define CHCTR_DCALMD 0x0080 /* data cache allocation mode */
  167. #define CHCTR_ICWMD 0x0f00 /* instruction cache way mode */
  168. #define CHCTR_DCWMD 0xf000 /* data cache way mode */
  169. #ifdef CONFIG_AM34_2
  170. #define ICIVCR __SYSREG(0xc0000c00, u32) /* icache area invalidate control */
  171. #define ICIVCR_ICIVBSY 0x00000008 /* icache area invalidate busy */
  172. #define ICIVCR_ICI 0x00000001 /* icache area invalidate */
  173. #define ICIVMR __SYSREG(0xc0000c04, u32) /* icache area invalidate mask */
  174. #define DCPGCR __SYSREG(0xc0000c10, u32) /* data cache area purge control */
  175. #define DCPGCR_DCPGBSY 0x00000008 /* data cache area purge busy */
  176. #define DCPGCR_DCP 0x00000002 /* data cache area purge */
  177. #define DCPGCR_DCI 0x00000001 /* data cache area invalidate */
  178. #define DCPGMR __SYSREG(0xc0000c14, u32) /* data cache area purge mask */
  179. #endif /* CONFIG_AM34_2 */
  180. /* MMU control registers */
  181. #define MMUCTR __SYSREG(0xc0000090, u32) /* MMU control register */
  182. #define MMUCTR_IRP 0x0000003f /* instruction TLB replace pointer */
  183. #define MMUCTR_ITE 0x00000040 /* instruction TLB enable */
  184. #define MMUCTR_IIV 0x00000080 /* instruction TLB invalidate */
  185. #define MMUCTR_ITL 0x00000700 /* instruction TLB lock pointer */
  186. #define MMUCTR_ITL_NOLOCK 0x00000000 /* - no lock */
  187. #define MMUCTR_ITL_LOCK0 0x00000100 /* - entry 0 locked */
  188. #define MMUCTR_ITL_LOCK0_1 0x00000200 /* - entry 0-1 locked */
  189. #define MMUCTR_ITL_LOCK0_3 0x00000300 /* - entry 0-3 locked */
  190. #define MMUCTR_ITL_LOCK0_7 0x00000400 /* - entry 0-7 locked */
  191. #define MMUCTR_ITL_LOCK0_15 0x00000500 /* - entry 0-15 locked */
  192. #define MMUCTR_CE 0x00008000 /* cacheable bit enable */
  193. #define MMUCTR_DRP 0x003f0000 /* data TLB replace pointer */
  194. #define MMUCTR_DTE 0x00400000 /* data TLB enable */
  195. #define MMUCTR_DIV 0x00800000 /* data TLB invalidate */
  196. #define MMUCTR_DTL 0x07000000 /* data TLB lock pointer */
  197. #define MMUCTR_DTL_NOLOCK 0x00000000 /* - no lock */
  198. #define MMUCTR_DTL_LOCK0 0x01000000 /* - entry 0 locked */
  199. #define MMUCTR_DTL_LOCK0_1 0x02000000 /* - entry 0-1 locked */
  200. #define MMUCTR_DTL_LOCK0_3 0x03000000 /* - entry 0-3 locked */
  201. #define MMUCTR_DTL_LOCK0_7 0x04000000 /* - entry 0-7 locked */
  202. #define MMUCTR_DTL_LOCK0_15 0x05000000 /* - entry 0-15 locked */
  203. #ifdef CONFIG_AM34_2
  204. #define MMUCTR_WTE 0x80000000 /* write-through cache TLB entry bit enable */
  205. #endif
  206. #define PIDR __SYSREG(0xc0000094, u16) /* PID register */
  207. #define PIDR_PID 0x00ff /* process identifier */
  208. #define PTBR __SYSREG(0xc0000098, unsigned long) /* Page table base register */
  209. #define IPTEL __SYSREG(0xc00000a0, u32) /* instruction TLB entry */
  210. #define DPTEL __SYSREG(0xc00000b0, u32) /* data TLB entry */
  211. #define xPTEL_V 0x00000001 /* TLB entry valid */
  212. #define xPTEL_UNUSED1 0x00000002 /* unused bit */
  213. #define xPTEL_UNUSED2 0x00000004 /* unused bit */
  214. #define xPTEL_C 0x00000008 /* cached if set */
  215. #define xPTEL_PV 0x00000010 /* page valid */
  216. #define xPTEL_D 0x00000020 /* dirty */
  217. #define xPTEL_PR 0x000001c0 /* page protection */
  218. #define xPTEL_PR_ROK 0x00000000 /* - R/O kernel */
  219. #define xPTEL_PR_RWK 0x00000100 /* - R/W kernel */
  220. #define xPTEL_PR_ROK_ROU 0x00000080 /* - R/O kernel and R/O user */
  221. #define xPTEL_PR_RWK_ROU 0x00000180 /* - R/W kernel and R/O user */
  222. #define xPTEL_PR_RWK_RWU 0x000001c0 /* - R/W kernel and R/W user */
  223. #define xPTEL_G 0x00000200 /* global (use PID if 0) */
  224. #define xPTEL_PS 0x00000c00 /* page size */
  225. #define xPTEL_PS_4Kb 0x00000000 /* - 4Kb page */
  226. #define xPTEL_PS_128Kb 0x00000400 /* - 128Kb page */
  227. #define xPTEL_PS_1Kb 0x00000800 /* - 1Kb page */
  228. #define xPTEL_PS_4Mb 0x00000c00 /* - 4Mb page */
  229. #define xPTEL_PPN 0xfffff006 /* physical page number */
  230. #define IPTEU __SYSREG(0xc00000a4, u32) /* instruction TLB virtual addr */
  231. #define DPTEU __SYSREG(0xc00000b4, u32) /* data TLB virtual addr */
  232. #define xPTEU_VPN 0xfffffc00 /* virtual page number */
  233. #define xPTEU_PID 0x000000ff /* process identifier to which applicable */
  234. #define IPTEL2 __SYSREG(0xc00000a8, u32) /* instruction TLB entry */
  235. #define DPTEL2 __SYSREG(0xc00000b8, u32) /* data TLB entry */
  236. #define xPTEL2_V 0x00000001 /* TLB entry valid */
  237. #define xPTEL2_C 0x00000002 /* cacheable */
  238. #define xPTEL2_PV 0x00000004 /* page valid */
  239. #define xPTEL2_D 0x00000008 /* dirty */
  240. #define xPTEL2_PR 0x00000070 /* page protection */
  241. #define xPTEL2_PR_ROK 0x00000000 /* - R/O kernel */
  242. #define xPTEL2_PR_RWK 0x00000040 /* - R/W kernel */
  243. #define xPTEL2_PR_ROK_ROU 0x00000020 /* - R/O kernel and R/O user */
  244. #define xPTEL2_PR_RWK_ROU 0x00000060 /* - R/W kernel and R/O user */
  245. #define xPTEL2_PR_RWK_RWU 0x00000070 /* - R/W kernel and R/W user */
  246. #define xPTEL2_G 0x00000080 /* global (use PID if 0) */
  247. #define xPTEL2_PS 0x00000300 /* page size */
  248. #define xPTEL2_PS_4Kb 0x00000000 /* - 4Kb page */
  249. #define xPTEL2_PS_128Kb 0x00000100 /* - 128Kb page */
  250. #define xPTEL2_PS_1Kb 0x00000200 /* - 1Kb page */
  251. #define xPTEL2_PS_4Mb 0x00000300 /* - 4Mb page */
  252. #define xPTEL2_CWT 0x00000400 /* cacheable write-through */
  253. #define xPTEL2_UNUSED1 0x00000800 /* unused bit (broadcast mask) */
  254. #define xPTEL2_PPN 0xfffff000 /* physical page number */
  255. #define xPTEL2_V_BIT 0 /* bit numbers corresponding to above masks */
  256. #define xPTEL2_C_BIT 1
  257. #define xPTEL2_PV_BIT 2
  258. #define xPTEL2_D_BIT 3
  259. #define xPTEL2_G_BIT 7
  260. #define xPTEL2_UNUSED1_BIT 11
  261. #define MMUFCR __SYSREGC(0xc000009c, u32) /* MMU exception cause */
  262. #define MMUFCR_IFC __SYSREGC(0xc000009c, u16) /* MMU instruction excep cause */
  263. #define MMUFCR_DFC __SYSREGC(0xc000009e, u16) /* MMU data exception cause */
  264. #define MMUFCR_xFC_TLBMISS 0x0001 /* TLB miss flag */
  265. #define MMUFCR_xFC_INITWR 0x0002 /* initial write excep flag */
  266. #define MMUFCR_xFC_PGINVAL 0x0004 /* page invalid excep flag */
  267. #define MMUFCR_xFC_PROTVIOL 0x0008 /* protection violation excep flag */
  268. #define MMUFCR_xFC_ACCESS 0x0010 /* access level flag */
  269. #define MMUFCR_xFC_ACCESS_USR 0x0000 /* - user mode */
  270. #define MMUFCR_xFC_ACCESS_SR 0x0010 /* - supervisor mode */
  271. #define MMUFCR_xFC_TYPE 0x0020 /* access type flag */
  272. #define MMUFCR_xFC_TYPE_READ 0x0000 /* - read */
  273. #define MMUFCR_xFC_TYPE_WRITE 0x0020 /* - write */
  274. #define MMUFCR_xFC_PR 0x01c0 /* page protection flag */
  275. #define MMUFCR_xFC_PR_ROK 0x0000 /* - R/O kernel */
  276. #define MMUFCR_xFC_PR_RWK 0x0100 /* - R/W kernel */
  277. #define MMUFCR_xFC_PR_ROK_ROU 0x0080 /* - R/O kernel and R/O user */
  278. #define MMUFCR_xFC_PR_RWK_ROU 0x0180 /* - R/W kernel and R/O user */
  279. #define MMUFCR_xFC_PR_RWK_RWU 0x01c0 /* - R/W kernel and R/W user */
  280. #define MMUFCR_xFC_ILLADDR 0x0200 /* illegal address excep flag */
  281. #ifdef CONFIG_MN10300_HAS_ATOMIC_OPS_UNIT
  282. /* atomic operation registers */
  283. #define AAR __SYSREG(0xc0000a00, u32) /* cacheable address */
  284. #define AAR2 __SYSREG(0xc0000a04, u32) /* uncacheable address */
  285. #define ADR __SYSREG(0xc0000a08, u32) /* data */
  286. #define ASR __SYSREG(0xc0000a0c, u32) /* status */
  287. #define AARU __SYSREG(0xd400aa00, u32) /* user address */
  288. #define ADRU __SYSREG(0xd400aa08, u32) /* user data */
  289. #define ASRU __SYSREG(0xd400aa0c, u32) /* user status */
  290. #define ASR_RW 0x00000008 /* read */
  291. #define ASR_BW 0x00000004 /* bus error */
  292. #define ASR_IW 0x00000002 /* interrupt */
  293. #define ASR_LW 0x00000001 /* bus lock */
  294. #define ASRU_RW ASR_RW /* read */
  295. #define ASRU_BW ASR_BW /* bus error */
  296. #define ASRU_IW ASR_IW /* interrupt */
  297. #define ASRU_LW ASR_LW /* bus lock */
  298. /* in inline ASM, we stick the base pointer in to a reg and use offsets from
  299. * it */
  300. #define ATOMIC_OPS_BASE_ADDR 0xc0000a00
  301. #ifndef __ASSEMBLY__
  302. asm(
  303. "_AAR = 0\n"
  304. "_AAR2 = 4\n"
  305. "_ADR = 8\n"
  306. "_ASR = 12\n");
  307. #else
  308. #define _AAR 0
  309. #define _AAR2 4
  310. #define _ADR 8
  311. #define _ASR 12
  312. #endif
  313. /* physical page address for userspace atomic operations registers */
  314. #define USER_ATOMIC_OPS_PAGE_ADDR 0xd400a000
  315. #endif /* CONFIG_MN10300_HAS_ATOMIC_OPS_UNIT */
  316. #endif /* __KERNEL__ */
  317. #endif /* _ASM_CPU_REGS_H */