glue-proc.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * arch/arm/include/asm/glue-proc.h
  4. *
  5. * Copyright (C) 1997-1999 Russell King
  6. * Copyright (C) 2000 Deep Blue Solutions Ltd
  7. */
  8. #ifndef ASM_GLUE_PROC_H
  9. #define ASM_GLUE_PROC_H
  10. #include <asm/glue.h>
  11. /*
  12. * Work out if we need multiple CPU support
  13. */
  14. #undef MULTI_CPU
  15. #undef CPU_NAME
  16. /*
  17. * CPU_NAME - the prefix for CPU related functions
  18. */
  19. #ifdef CONFIG_CPU_ARM7TDMI
  20. # ifdef CPU_NAME
  21. # undef MULTI_CPU
  22. # define MULTI_CPU
  23. # else
  24. # define CPU_NAME cpu_arm7tdmi
  25. # endif
  26. #endif
  27. #ifdef CONFIG_CPU_ARM720T
  28. # ifdef CPU_NAME
  29. # undef MULTI_CPU
  30. # define MULTI_CPU
  31. # else
  32. # define CPU_NAME cpu_arm720
  33. # endif
  34. #endif
  35. #ifdef CONFIG_CPU_ARM740T
  36. # ifdef CPU_NAME
  37. # undef MULTI_CPU
  38. # define MULTI_CPU
  39. # else
  40. # define CPU_NAME cpu_arm740
  41. # endif
  42. #endif
  43. #ifdef CONFIG_CPU_ARM9TDMI
  44. # ifdef CPU_NAME
  45. # undef MULTI_CPU
  46. # define MULTI_CPU
  47. # else
  48. # define CPU_NAME cpu_arm9tdmi
  49. # endif
  50. #endif
  51. #ifdef CONFIG_CPU_ARM920T
  52. # ifdef CPU_NAME
  53. # undef MULTI_CPU
  54. # define MULTI_CPU
  55. # else
  56. # define CPU_NAME cpu_arm920
  57. # endif
  58. #endif
  59. #ifdef CONFIG_CPU_ARM922T
  60. # ifdef CPU_NAME
  61. # undef MULTI_CPU
  62. # define MULTI_CPU
  63. # else
  64. # define CPU_NAME cpu_arm922
  65. # endif
  66. #endif
  67. #ifdef CONFIG_CPU_FA526
  68. # ifdef CPU_NAME
  69. # undef MULTI_CPU
  70. # define MULTI_CPU
  71. # else
  72. # define CPU_NAME cpu_fa526
  73. # endif
  74. #endif
  75. #ifdef CONFIG_CPU_ARM925T
  76. # ifdef CPU_NAME
  77. # undef MULTI_CPU
  78. # define MULTI_CPU
  79. # else
  80. # define CPU_NAME cpu_arm925
  81. # endif
  82. #endif
  83. #ifdef CONFIG_CPU_ARM926T
  84. # ifdef CPU_NAME
  85. # undef MULTI_CPU
  86. # define MULTI_CPU
  87. # else
  88. # define CPU_NAME cpu_arm926
  89. # endif
  90. #endif
  91. #ifdef CONFIG_CPU_ARM940T
  92. # ifdef CPU_NAME
  93. # undef MULTI_CPU
  94. # define MULTI_CPU
  95. # else
  96. # define CPU_NAME cpu_arm940
  97. # endif
  98. #endif
  99. #ifdef CONFIG_CPU_ARM946E
  100. # ifdef CPU_NAME
  101. # undef MULTI_CPU
  102. # define MULTI_CPU
  103. # else
  104. # define CPU_NAME cpu_arm946
  105. # endif
  106. #endif
  107. #ifdef CONFIG_CPU_SA110
  108. # ifdef CPU_NAME
  109. # undef MULTI_CPU
  110. # define MULTI_CPU
  111. # else
  112. # define CPU_NAME cpu_sa110
  113. # endif
  114. #endif
  115. #ifdef CONFIG_CPU_SA1100
  116. # ifdef CPU_NAME
  117. # undef MULTI_CPU
  118. # define MULTI_CPU
  119. # else
  120. # define CPU_NAME cpu_sa1100
  121. # endif
  122. #endif
  123. #ifdef CONFIG_CPU_ARM1020
  124. # ifdef CPU_NAME
  125. # undef MULTI_CPU
  126. # define MULTI_CPU
  127. # else
  128. # define CPU_NAME cpu_arm1020
  129. # endif
  130. #endif
  131. #ifdef CONFIG_CPU_ARM1020E
  132. # ifdef CPU_NAME
  133. # undef MULTI_CPU
  134. # define MULTI_CPU
  135. # else
  136. # define CPU_NAME cpu_arm1020e
  137. # endif
  138. #endif
  139. #ifdef CONFIG_CPU_ARM1022
  140. # ifdef CPU_NAME
  141. # undef MULTI_CPU
  142. # define MULTI_CPU
  143. # else
  144. # define CPU_NAME cpu_arm1022
  145. # endif
  146. #endif
  147. #ifdef CONFIG_CPU_ARM1026
  148. # ifdef CPU_NAME
  149. # undef MULTI_CPU
  150. # define MULTI_CPU
  151. # else
  152. # define CPU_NAME cpu_arm1026
  153. # endif
  154. #endif
  155. #ifdef CONFIG_CPU_XSCALE
  156. # ifdef CPU_NAME
  157. # undef MULTI_CPU
  158. # define MULTI_CPU
  159. # else
  160. # define CPU_NAME cpu_xscale
  161. # endif
  162. #endif
  163. #ifdef CONFIG_CPU_XSC3
  164. # ifdef CPU_NAME
  165. # undef MULTI_CPU
  166. # define MULTI_CPU
  167. # else
  168. # define CPU_NAME cpu_xsc3
  169. # endif
  170. #endif
  171. #ifdef CONFIG_CPU_MOHAWK
  172. # ifdef CPU_NAME
  173. # undef MULTI_CPU
  174. # define MULTI_CPU
  175. # else
  176. # define CPU_NAME cpu_mohawk
  177. # endif
  178. #endif
  179. #ifdef CONFIG_CPU_FEROCEON
  180. # ifdef CPU_NAME
  181. # undef MULTI_CPU
  182. # define MULTI_CPU
  183. # else
  184. # define CPU_NAME cpu_feroceon
  185. # endif
  186. #endif
  187. #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
  188. # ifdef CPU_NAME
  189. # undef MULTI_CPU
  190. # define MULTI_CPU
  191. # else
  192. # define CPU_NAME cpu_v6
  193. # endif
  194. #endif
  195. #ifdef CONFIG_CPU_V7M
  196. # ifdef CPU_NAME
  197. # undef MULTI_CPU
  198. # define MULTI_CPU
  199. # else
  200. # define CPU_NAME cpu_v7m
  201. # endif
  202. #endif
  203. #ifdef CONFIG_CPU_PJ4B
  204. # ifdef CPU_NAME
  205. # undef MULTI_CPU
  206. # define MULTI_CPU
  207. # else
  208. # define CPU_NAME cpu_pj4b
  209. # endif
  210. #endif
  211. #ifdef CONFIG_CPU_V7
  212. /*
  213. * Cortex-A9 needs a different suspend/resume function, so we need
  214. * multiple CPU support for ARMv7 anyway.
  215. */
  216. # undef MULTI_CPU
  217. # define MULTI_CPU
  218. #endif
  219. #ifndef MULTI_CPU
  220. #define cpu_proc_init __glue(CPU_NAME,_proc_init)
  221. #define cpu_proc_fin __glue(CPU_NAME,_proc_fin)
  222. #define cpu_reset __glue(CPU_NAME,_reset)
  223. #define cpu_do_idle __glue(CPU_NAME,_do_idle)
  224. #define cpu_dcache_clean_area __glue(CPU_NAME,_dcache_clean_area)
  225. #define cpu_do_switch_mm __glue(CPU_NAME,_switch_mm)
  226. #define cpu_set_pte_ext __glue(CPU_NAME,_set_pte_ext)
  227. #define cpu_suspend_size __glue(CPU_NAME,_suspend_size)
  228. #define cpu_do_suspend __glue(CPU_NAME,_do_suspend)
  229. #define cpu_do_resume __glue(CPU_NAME,_do_resume)
  230. #endif
  231. #endif