WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / include / asm / glue-proc.h
blob52df74aa3c2cb82234ec4543ee99ac39bb6493ac
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * arch/arm/include/asm/glue-proc.h
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
11 #include <asm/glue.h>
14 * Work out if we need multiple CPU support
16 #undef MULTI_CPU
17 #undef CPU_NAME
20 * CPU_NAME - the prefix for CPU related functions
23 #ifdef CONFIG_CPU_ARM7TDMI
24 # ifdef CPU_NAME
25 # undef MULTI_CPU
26 # define MULTI_CPU
27 # else
28 # define CPU_NAME cpu_arm7tdmi
29 # endif
30 #endif
32 #ifdef CONFIG_CPU_ARM720T
33 # ifdef CPU_NAME
34 # undef MULTI_CPU
35 # define MULTI_CPU
36 # else
37 # define CPU_NAME cpu_arm720
38 # endif
39 #endif
41 #ifdef CONFIG_CPU_ARM740T
42 # ifdef CPU_NAME
43 # undef MULTI_CPU
44 # define MULTI_CPU
45 # else
46 # define CPU_NAME cpu_arm740
47 # endif
48 #endif
50 #ifdef CONFIG_CPU_ARM9TDMI
51 # ifdef CPU_NAME
52 # undef MULTI_CPU
53 # define MULTI_CPU
54 # else
55 # define CPU_NAME cpu_arm9tdmi
56 # endif
57 #endif
59 #ifdef CONFIG_CPU_ARM920T
60 # ifdef CPU_NAME
61 # undef MULTI_CPU
62 # define MULTI_CPU
63 # else
64 # define CPU_NAME cpu_arm920
65 # endif
66 #endif
68 #ifdef CONFIG_CPU_ARM922T
69 # ifdef CPU_NAME
70 # undef MULTI_CPU
71 # define MULTI_CPU
72 # else
73 # define CPU_NAME cpu_arm922
74 # endif
75 #endif
77 #ifdef CONFIG_CPU_FA526
78 # ifdef CPU_NAME
79 # undef MULTI_CPU
80 # define MULTI_CPU
81 # else
82 # define CPU_NAME cpu_fa526
83 # endif
84 #endif
86 #ifdef CONFIG_CPU_ARM925T
87 # ifdef CPU_NAME
88 # undef MULTI_CPU
89 # define MULTI_CPU
90 # else
91 # define CPU_NAME cpu_arm925
92 # endif
93 #endif
95 #ifdef CONFIG_CPU_ARM926T
96 # ifdef CPU_NAME
97 # undef MULTI_CPU
98 # define MULTI_CPU
99 # else
100 # define CPU_NAME cpu_arm926
101 # endif
102 #endif
104 #ifdef CONFIG_CPU_ARM940T
105 # ifdef CPU_NAME
106 # undef MULTI_CPU
107 # define MULTI_CPU
108 # else
109 # define CPU_NAME cpu_arm940
110 # endif
111 #endif
113 #ifdef CONFIG_CPU_ARM946E
114 # ifdef CPU_NAME
115 # undef MULTI_CPU
116 # define MULTI_CPU
117 # else
118 # define CPU_NAME cpu_arm946
119 # endif
120 #endif
122 #ifdef CONFIG_CPU_SA110
123 # ifdef CPU_NAME
124 # undef MULTI_CPU
125 # define MULTI_CPU
126 # else
127 # define CPU_NAME cpu_sa110
128 # endif
129 #endif
131 #ifdef CONFIG_CPU_SA1100
132 # ifdef CPU_NAME
133 # undef MULTI_CPU
134 # define MULTI_CPU
135 # else
136 # define CPU_NAME cpu_sa1100
137 # endif
138 #endif
140 #ifdef CONFIG_CPU_ARM1020
141 # ifdef CPU_NAME
142 # undef MULTI_CPU
143 # define MULTI_CPU
144 # else
145 # define CPU_NAME cpu_arm1020
146 # endif
147 #endif
149 #ifdef CONFIG_CPU_ARM1020E
150 # ifdef CPU_NAME
151 # undef MULTI_CPU
152 # define MULTI_CPU
153 # else
154 # define CPU_NAME cpu_arm1020e
155 # endif
156 #endif
158 #ifdef CONFIG_CPU_ARM1022
159 # ifdef CPU_NAME
160 # undef MULTI_CPU
161 # define MULTI_CPU
162 # else
163 # define CPU_NAME cpu_arm1022
164 # endif
165 #endif
167 #ifdef CONFIG_CPU_ARM1026
168 # ifdef CPU_NAME
169 # undef MULTI_CPU
170 # define MULTI_CPU
171 # else
172 # define CPU_NAME cpu_arm1026
173 # endif
174 #endif
176 #ifdef CONFIG_CPU_XSCALE
177 # ifdef CPU_NAME
178 # undef MULTI_CPU
179 # define MULTI_CPU
180 # else
181 # define CPU_NAME cpu_xscale
182 # endif
183 #endif
185 #ifdef CONFIG_CPU_XSC3
186 # ifdef CPU_NAME
187 # undef MULTI_CPU
188 # define MULTI_CPU
189 # else
190 # define CPU_NAME cpu_xsc3
191 # endif
192 #endif
194 #ifdef CONFIG_CPU_MOHAWK
195 # ifdef CPU_NAME
196 # undef MULTI_CPU
197 # define MULTI_CPU
198 # else
199 # define CPU_NAME cpu_mohawk
200 # endif
201 #endif
203 #ifdef CONFIG_CPU_FEROCEON
204 # ifdef CPU_NAME
205 # undef MULTI_CPU
206 # define MULTI_CPU
207 # else
208 # define CPU_NAME cpu_feroceon
209 # endif
210 #endif
212 #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
213 # ifdef CPU_NAME
214 # undef MULTI_CPU
215 # define MULTI_CPU
216 # else
217 # define CPU_NAME cpu_v6
218 # endif
219 #endif
221 #ifdef CONFIG_CPU_V7M
222 # ifdef CPU_NAME
223 # undef MULTI_CPU
224 # define MULTI_CPU
225 # else
226 # define CPU_NAME cpu_v7m
227 # endif
228 #endif
230 #ifdef CONFIG_CPU_PJ4B
231 # ifdef CPU_NAME
232 # undef MULTI_CPU
233 # define MULTI_CPU
234 # else
235 # define CPU_NAME cpu_pj4b
236 # endif
237 #endif
239 #ifdef CONFIG_CPU_V7
241 * Cortex-A9 needs a different suspend/resume function, so we need
242 * multiple CPU support for ARMv7 anyway.
244 # undef MULTI_CPU
245 # define MULTI_CPU
246 #endif
248 #ifndef MULTI_CPU
249 #define cpu_proc_init __glue(CPU_NAME,_proc_init)
250 #define cpu_proc_fin __glue(CPU_NAME,_proc_fin)
251 #define cpu_reset __glue(CPU_NAME,_reset)
252 #define cpu_do_idle __glue(CPU_NAME,_do_idle)
253 #define cpu_dcache_clean_area __glue(CPU_NAME,_dcache_clean_area)
254 #define cpu_do_switch_mm __glue(CPU_NAME,_switch_mm)
255 #define cpu_set_pte_ext __glue(CPU_NAME,_set_pte_ext)
256 #define cpu_suspend_size __glue(CPU_NAME,_suspend_size)
257 #define cpu_do_suspend __glue(CPU_NAME,_do_suspend)
258 #define cpu_do_resume __glue(CPU_NAME,_do_resume)
259 #endif
261 #endif