patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / arch / arm / mm / Kconfig
1 comment "Processor Type"
2
3 config CPU_32
4         bool
5         default y
6
7 # Select CPU types depending on the architecture selected.  This selects
8 # which CPUs we support in the kernel image, and the compiler instruction
9 # optimiser behaviour.
10
11 # ARM610
12 config CPU_ARM610
13         bool "Support ARM610 processor"
14         depends on ARCH_RPC
15         select CPU_32v3
16         select CPU_CACHE_V3
17         select CPU_COPY_V3
18         select CPU_TLB_V3
19         help
20           The ARM610 is the successor to the ARM3 processor
21           and was produced by VLSI Technology Inc.
22
23           Say Y if you want support for the ARM610 processor.
24           Otherwise, say N.
25
26 # ARM710
27 config CPU_ARM710
28         bool "Support ARM710 processor" if !ARCH_CLPS7500 && ARCH_RPC
29         default y if ARCH_CLPS7500
30         select CPU_32v3
31         select CPU_CACHE_V3
32         select CPU_COPY_V3
33         select CPU_TLB_V3
34         help
35           A 32-bit RISC microprocessor based on the ARM7 processor core
36           designed by Advanced RISC Machines Ltd. The ARM710 is the
37           successor to the ARM610 processor. It was released in
38           July 1994 by VLSI Technology Inc.
39
40           Say Y if you want support for the ARM710 processor.
41           Otherwise, say N.
42
43 # ARM720T
44 config CPU_ARM720T
45         bool "Support ARM720T processor" if !ARCH_CLPS711X && !ARCH_L7200 && !ARCH_CDB89712 && ARCH_INTEGRATOR
46         default y if ARCH_CLPS711X || ARCH_L7200 || ARCH_CDB89712
47         select CPU_32v4
48         select CPU_ABRT_LV4T
49         select CPU_CACHE_V4
50         select CPU_COPY_V4WT
51         select CPU_TLB_V4WT
52         help
53           A 32-bit RISC processor with 8kByte Cache, Write Buffer and
54           MMU built around an ARM7TDMI core.
55
56           Say Y if you want support for the ARM720T processor.
57           Otherwise, say N.
58
59 # ARM920T
60 config CPU_ARM920T
61         bool "Support ARM920T processor" if !ARCH_S3C2410
62         depends on ARCH_INTEGRATOR || ARCH_S3C2410
63         default y if ARCH_S3C2410
64         select CPU_32v4
65         select CPU_ABRT_EV4T
66         select CPU_CACHE_V4WT
67         select CPU_COPY_V4WB
68         select CPU_TLB_V4WBI
69         help
70           The ARM920T is licensed to be produced by numerous vendors,
71           and is used in the Maverick EP9312 and the Samsung S3C2410.
72
73           More information on the Maverick EP9312 at
74           <http://linuxdevices.com/products/PD2382866068.html>.
75
76           Say Y if you want support for the ARM920T processor.
77           Otherwise, say N.
78
79 # ARM922T
80 config CPU_ARM922T
81         bool
82         depends on ARCH_CAMELOT || ARCH_LH7A40X
83         default y
84         select CPU_32v4
85         select CPU_ABRT_EV4T
86         select CPU_CACHE_V4WT
87         select CPU_COPY_V4WB
88         select CPU_TLB_V4WBI
89         help
90           The ARM922T is a version of the ARM920T, but with smaller
91           instruction and data caches. It is used in Altera's
92           Excalibur XA device family.
93
94           Say Y if you want support for the ARM922T processor.
95           Otherwise, say N.
96
97 # ARM925T
98 config CPU_ARM925T
99         bool
100         depends on ARCH_OMAP1510
101         default y
102         select CPU_32v4
103         select CPU_ABRT_EV4T
104         select CPU_CACHE_V4WT
105         select CPU_COPY_V4WB
106         select CPU_TLB_V4WBI
107         help
108           The ARM925T is a mix between the ARM920T and ARM926T, but with
109           different instruction and data caches. It is used in TI's OMAP
110           device family.
111
112           Say Y if you want support for the ARM925T processor.
113           Otherwise, say N.
114
115 # ARM926T
116 config CPU_ARM926T
117         bool "Support ARM926T processor" if ARCH_INTEGRATOR
118         depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || ARCH_OMAP730 || ARCH_OMAP1610 || ARCH_OMAP5912
119         default y if ARCH_VERSATILE_PB
120         select CPU_32v5
121         select CPU_ABRT_EV5TJ
122         select CPU_COPY_V4WB
123         select CPU_TLB_V4WBI
124         help
125           This is a variant of the ARM920.  It has slightly different
126           instruction sequences for cache and TLB operations.  Curiously,
127           there is no documentation on it at the ARM corporate website.
128
129           Say Y if you want support for the ARM926T processor.
130           Otherwise, say N.
131
132 # ARM1020 - needs validating
133 config CPU_ARM1020
134         bool "Support ARM1020T (rev 0) processor"
135         depends on ARCH_INTEGRATOR
136         select CPU_32v5
137         select CPU_ABRT_EV4T
138         select CPU_CACHE_V4WT
139         select CPU_COPY_V4WB
140         select CPU_TLB_V4WBI
141         help
142           The ARM1020 is the 32K cached version of the ARM10 processor,
143           with an addition of a floating-point unit.
144
145           Say Y if you want support for the ARM1020 processor.
146           Otherwise, say N.
147
148 # ARM1020E - needs validating
149 config CPU_ARM1020E
150         bool "Support ARM1020E processor"
151         depends on ARCH_INTEGRATOR
152         select CPU_32v5
153         select CPU_ABRT_EV4T
154         select CPU_CACHE_V4WT
155         select CPU_COPY_V4WB
156         select CPU_TLB_V4WBI
157         depends on n
158
159 # ARM1022E
160 config CPU_ARM1022
161         bool "Support ARM1022E processor"
162         depends on ARCH_INTEGRATOR
163         select CPU_32v5
164         select CPU_ABRT_EV4T
165         select CPU_COPY_V4WB # can probably do better
166         select CPU_TLB_V4WBI
167         help
168           The ARM1022E is an implementation of the ARMv5TE architecture
169           based upon the ARM10 integer core with a 16KiB L1 Harvard cache,
170           embedded trace macrocell, and a floating-point unit.
171
172           Say Y if you want support for the ARM1022E processor.
173           Otherwise, say N.
174
175 # ARM1026EJ-S
176 config CPU_ARM1026
177         bool "Support ARM1026EJ-S processor"
178         depends on ARCH_INTEGRATOR
179         select CPU_32v5
180         select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10
181         select CPU_COPY_V4WB # can probably do better
182         select CPU_TLB_V4WBI
183         help
184           The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture
185           based upon the ARM10 integer core.
186
187           Say Y if you want support for the ARM1026EJ-S processor.
188           Otherwise, say N.
189
190 # SA110
191 config CPU_SA110
192         bool "Support StrongARM(R) SA-110 processor" if !ARCH_EBSA110 && !FOOTBRIDGE && !ARCH_TBOX && !ARCH_SHARK && !ARCH_NEXUSPCI && ARCH_RPC
193         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_TBOX || ARCH_SHARK || ARCH_NEXUSPCI
194         select CPU_32v3 if ARCH_RPC
195         select CPU_32v4 if !ARCH_RPC
196         select CPU_ABRT_EV4
197         select CPU_CACHE_V4WB
198         select CPU_COPY_V4WB
199         select CPU_TLB_V4WB
200         help
201           The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and
202           is available at five speeds ranging from 100 MHz to 233 MHz.
203           More information is available at
204           <http://developer.intel.com/design/strong/sa110.htm>.
205
206           Say Y if you want support for the SA-110 processor.
207           Otherwise, say N.
208
209 # SA1100
210 config CPU_SA1100
211         bool
212         depends on ARCH_SA1100
213         default y
214         select CPU_32v4
215         select CPU_ABRT_EV4
216         select CPU_CACHE_V4WB
217         select CPU_TLB_V4WB
218         select CPU_MINICACHE
219
220 # XScale
221 config CPU_XSCALE
222         bool
223         depends on ARCH_IOP3XX || ARCH_ADIFCC || ARCH_PXA || ARCH_IXP4XX
224         default y
225         select CPU_32v5
226         select CPU_ABRT_EV5T
227         select CPU_TLB_V4WBI
228         select CPU_MINICACHE
229
230 # ARMv6
231 config CPU_V6
232         bool "Support ARM V6 processor"
233         depends on ARCH_INTEGRATOR
234         select CPU_32v6
235         select CPU_ABRT_EV6
236         select CPU_CACHE_V6
237         select CPU_COPY_V6
238         select CPU_TLB_V6
239
240 # Figure out what processor architecture version we should be using.
241 # This defines the compiler instruction set which depends on the machine type.
242 config CPU_32v3
243         bool
244
245 config CPU_32v4
246         bool
247
248 config CPU_32v5
249         bool
250
251 config CPU_32v6
252         bool
253
254 # The abort model
255 config CPU_ABRT_EV4
256         bool
257
258 config CPU_ABRT_EV4T
259         bool
260
261 config CPU_ABRT_LV4T
262         bool
263
264 config CPU_ABRT_EV5T
265         bool
266
267 config CPU_ABRT_EV5TJ
268         bool
269
270 config CPU_ABRT_EV6
271         bool
272
273 # The cache model
274 config CPU_CACHE_V3
275         bool
276
277 config CPU_CACHE_V4
278         bool
279
280 config CPU_CACHE_V4WT
281         bool
282
283 config CPU_CACHE_V4WB
284         bool
285
286 config CPU_CACHE_V6
287         bool
288
289 # The copy-page model
290 config CPU_COPY_V3
291         bool
292
293 config CPU_COPY_V4WT
294         bool
295
296 config CPU_COPY_V4WB
297         bool
298
299 config CPU_COPY_V6
300         bool
301
302 # This selects the TLB model
303 config CPU_TLB_V3
304         bool
305         help
306           ARM Architecture Version 3 TLB.
307
308 config CPU_TLB_V4WT
309         bool
310         help
311           ARM Architecture Version 4 TLB with writethrough cache.
312
313 config CPU_TLB_V4WB
314         bool
315         help
316           ARM Architecture Version 4 TLB with writeback cache.
317
318 config CPU_TLB_V4WBI
319         bool
320         help
321           ARM Architecture Version 4 TLB with writeback cache and invalidate
322           instruction cache entry.
323
324 config CPU_TLB_V6
325         bool
326
327 config CPU_MINICACHE
328         bool
329         help
330           Processor has a minicache.
331
332 comment "Processor Features"
333
334 config ARM_THUMB
335         bool "Support Thumb user binaries"
336         depends on CPU_ARM720T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_V6
337         default y
338         help
339           Say Y if you want to include kernel support for running user space
340           Thumb binaries.
341
342           The Thumb instruction set is a compressed form of the standard ARM
343           instruction set resulting in smaller binaries at the expense of
344           slightly less efficient code.
345
346           If you don't know what this all is, saying Y is a safe choice.
347
348 config CPU_BIG_ENDIAN
349         bool "Build big-endian kernel"
350         depends on ARCH_SUPPORTS_BIG_ENDIAN
351         help
352           Say Y if you plan on running a kernel in big-endian mode.
353           Note that your board must be properly built and your board
354           port must properly enable any big-endian related features
355           of your chipset/board/processor.
356
357 config CPU_ICACHE_DISABLE
358         bool "Disable I-Cache"
359         depends on CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020
360         help
361           Say Y here to disable the processor instruction cache. Unless
362           you have a reason not to or are unsure, say N.
363
364 config CPU_DCACHE_DISABLE
365         bool "Disable D-Cache"
366         depends on CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020
367         help
368           Say Y here to disable the processor data cache. Unless
369           you have a reason not to or are unsure, say N.
370
371 config CPU_DCACHE_WRITETHROUGH
372         bool "Force write through D-cache"
373         depends on (CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020) && !CPU_DISABLE_DCACHE
374         help
375           Say Y here to use the data cache in writethough mode. Unless you
376           specifically require this or are unsure, say N.
377
378 config CPU_CACHE_ROUND_ROBIN
379         bool "Round robin I and D cache replacement algorithm"
380         depends on (CPU_ARM926T || CPU_ARM1020) && (!CPU_ICACHE_DISABLE || !CPU_DCACHE_DISABLE)
381         help
382           Say Y here to use the predictable round-robin cache replacement
383           policy.  Unless you specifically require this or are unsure, say N.
384
385 config CPU_BPREDICT_DISABLE
386         bool "Disable branch prediction"
387         depends on CPU_ARM1020
388         help
389           Say Y here to disable branch prediction.  If unsure, say N.