GUI: Fix Tomato RAF theme for all builds. Compilation typo.
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / arm / include / asm / proc-fns.h
blob8fdae9bc9abba945dcfb4406fae70b07ae4cf957
1 /*
2 * arch/arm/include/asm/proc-fns.h
4 * Copyright (C) 1997-1999 Russell King
5 * Copyright (C) 2000 Deep Blue Solutions Ltd
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
11 #ifndef __ASM_PROCFNS_H
12 #define __ASM_PROCFNS_H
14 #ifdef __KERNEL__
18 * Work out if we need multiple CPU support
20 #undef MULTI_CPU
21 #undef CPU_NAME
24 * CPU_NAME - the prefix for CPU related functions
27 #ifdef CONFIG_CPU_ARM610
28 # ifdef CPU_NAME
29 # undef MULTI_CPU
30 # define MULTI_CPU
31 # else
32 # define CPU_NAME cpu_arm6
33 # endif
34 #endif
36 #ifdef CONFIG_CPU_ARM7TDMI
37 # ifdef CPU_NAME
38 # undef MULTI_CPU
39 # define MULTI_CPU
40 # else
41 # define CPU_NAME cpu_arm7tdmi
42 # endif
43 #endif
45 #ifdef CONFIG_CPU_ARM710
46 # ifdef CPU_NAME
47 # undef MULTI_CPU
48 # define MULTI_CPU
49 # else
50 # define CPU_NAME cpu_arm7
51 # endif
52 #endif
54 #ifdef CONFIG_CPU_ARM720T
55 # ifdef CPU_NAME
56 # undef MULTI_CPU
57 # define MULTI_CPU
58 # else
59 # define CPU_NAME cpu_arm720
60 # endif
61 #endif
63 #ifdef CONFIG_CPU_ARM740T
64 # ifdef CPU_NAME
65 # undef MULTI_CPU
66 # define MULTI_CPU
67 # else
68 # define CPU_NAME cpu_arm740
69 # endif
70 #endif
72 #ifdef CONFIG_CPU_ARM9TDMI
73 # ifdef CPU_NAME
74 # undef MULTI_CPU
75 # define MULTI_CPU
76 # else
77 # define CPU_NAME cpu_arm9tdmi
78 # endif
79 #endif
81 #ifdef CONFIG_CPU_ARM920T
82 # ifdef CPU_NAME
83 # undef MULTI_CPU
84 # define MULTI_CPU
85 # else
86 # define CPU_NAME cpu_arm920
87 # endif
88 #endif
90 #ifdef CONFIG_CPU_ARM922T
91 # ifdef CPU_NAME
92 # undef MULTI_CPU
93 # define MULTI_CPU
94 # else
95 # define CPU_NAME cpu_arm922
96 # endif
97 #endif
99 #ifdef CONFIG_CPU_FA526
100 # ifdef CPU_NAME
101 # undef MULTI_CPU
102 # define MULTI_CPU
103 # else
104 # define CPU_NAME cpu_fa526
105 # endif
106 #endif
108 #ifdef CONFIG_CPU_ARM925T
109 # ifdef CPU_NAME
110 # undef MULTI_CPU
111 # define MULTI_CPU
112 # else
113 # define CPU_NAME cpu_arm925
114 # endif
115 #endif
117 #ifdef CONFIG_CPU_ARM926T
118 # ifdef CPU_NAME
119 # undef MULTI_CPU
120 # define MULTI_CPU
121 # else
122 # define CPU_NAME cpu_arm926
123 # endif
124 #endif
126 #ifdef CONFIG_CPU_ARM940T
127 # ifdef CPU_NAME
128 # undef MULTI_CPU
129 # define MULTI_CPU
130 # else
131 # define CPU_NAME cpu_arm940
132 # endif
133 #endif
135 #ifdef CONFIG_CPU_ARM946E
136 # ifdef CPU_NAME
137 # undef MULTI_CPU
138 # define MULTI_CPU
139 # else
140 # define CPU_NAME cpu_arm946
141 # endif
142 #endif
144 #ifdef CONFIG_CPU_SA110
145 # ifdef CPU_NAME
146 # undef MULTI_CPU
147 # define MULTI_CPU
148 # else
149 # define CPU_NAME cpu_sa110
150 # endif
151 #endif
153 #ifdef CONFIG_CPU_SA1100
154 # ifdef CPU_NAME
155 # undef MULTI_CPU
156 # define MULTI_CPU
157 # else
158 # define CPU_NAME cpu_sa1100
159 # endif
160 #endif
162 #ifdef CONFIG_CPU_ARM1020
163 # ifdef CPU_NAME
164 # undef MULTI_CPU
165 # define MULTI_CPU
166 # else
167 # define CPU_NAME cpu_arm1020
168 # endif
169 #endif
171 #ifdef CONFIG_CPU_ARM1020E
172 # ifdef CPU_NAME
173 # undef MULTI_CPU
174 # define MULTI_CPU
175 # else
176 # define CPU_NAME cpu_arm1020e
177 # endif
178 #endif
180 #ifdef CONFIG_CPU_ARM1022
181 # ifdef CPU_NAME
182 # undef MULTI_CPU
183 # define MULTI_CPU
184 # else
185 # define CPU_NAME cpu_arm1022
186 # endif
187 #endif
189 #ifdef CONFIG_CPU_ARM1026
190 # ifdef CPU_NAME
191 # undef MULTI_CPU
192 # define MULTI_CPU
193 # else
194 # define CPU_NAME cpu_arm1026
195 # endif
196 #endif
198 #ifdef CONFIG_CPU_XSCALE
199 # ifdef CPU_NAME
200 # undef MULTI_CPU
201 # define MULTI_CPU
202 # else
203 # define CPU_NAME cpu_xscale
204 # endif
205 #endif
207 #ifdef CONFIG_CPU_XSC3
208 # ifdef CPU_NAME
209 # undef MULTI_CPU
210 # define MULTI_CPU
211 # else
212 # define CPU_NAME cpu_xsc3
213 # endif
214 #endif
216 #ifdef CONFIG_CPU_MOHAWK
217 # ifdef CPU_NAME
218 # undef MULTI_CPU
219 # define MULTI_CPU
220 # else
221 # define CPU_NAME cpu_mohawk
222 # endif
223 #endif
225 #ifdef CONFIG_CPU_FEROCEON
226 # ifdef CPU_NAME
227 # undef MULTI_CPU
228 # define MULTI_CPU
229 # else
230 # define CPU_NAME cpu_feroceon
231 # endif
232 #endif
234 #ifdef CONFIG_CPU_V6
235 # ifdef CPU_NAME
236 # undef MULTI_CPU
237 # define MULTI_CPU
238 # else
239 # define CPU_NAME cpu_v6
240 # endif
241 #endif
243 #ifdef CONFIG_CPU_V7
244 # ifdef CPU_NAME
245 # undef MULTI_CPU
246 # define MULTI_CPU
247 # else
248 # define CPU_NAME cpu_v7
249 # endif
250 #endif
252 #ifndef __ASSEMBLY__
254 #ifndef MULTI_CPU
255 #include <asm/cpu-single.h>
256 #else
257 #include <asm/cpu-multi32.h>
258 #endif
260 #include <asm/memory.h>
262 #ifdef CONFIG_MMU
264 #define cpu_switch_mm(pgd,mm) cpu_do_switch_mm(virt_to_phys(pgd),mm)
266 #define cpu_get_pgd() \
267 ({ \
268 unsigned long pg; \
269 __asm__("mrc p15, 0, %0, c2, c0, 0" \
270 : "=r" (pg) : : "cc"); \
271 pg &= ~0x3fff; \
272 (pgd_t *)phys_to_virt(pg); \
275 #endif
277 #endif /* __ASSEMBLY__ */
278 #endif /* __KERNEL__ */
279 #endif /* __ASM_PROCFNS_H */