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