xref: /linux/arch/arm/mm/Kconfig (revision 28853ac8fe5221de74a14f1182d7b2b383dfd85c)
11da177e4SLinus Torvaldscomment "Processor Type"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldsconfig CPU_32
41da177e4SLinus Torvalds	bool
51da177e4SLinus Torvalds	default y
61da177e4SLinus Torvalds
71da177e4SLinus Torvalds# Select CPU types depending on the architecture selected.  This selects
81da177e4SLinus Torvalds# which CPUs we support in the kernel image, and the compiler instruction
91da177e4SLinus Torvalds# optimiser behaviour.
101da177e4SLinus Torvalds
111da177e4SLinus Torvalds# ARM610
121da177e4SLinus Torvaldsconfig CPU_ARM610
13c750815eSRussell King	bool "Support ARM610 processor" if ARCH_RPC
141da177e4SLinus Torvalds	select CPU_32v3
151da177e4SLinus Torvalds	select CPU_CACHE_V3
161da177e4SLinus Torvalds	select CPU_CACHE_VIVT
17fefdaa06SHyok S. Choi	select CPU_CP15_MMU
18f9c21a6eSHyok S. Choi	select CPU_COPY_V3 if MMU
19f9c21a6eSHyok S. Choi	select CPU_TLB_V3 if MMU
2048d7927bSPaul Brook	select CPU_PABRT_NOIFAR
211da177e4SLinus Torvalds	help
221da177e4SLinus Torvalds	  The ARM610 is the successor to the ARM3 processor
231da177e4SLinus Torvalds	  and was produced by VLSI Technology Inc.
241da177e4SLinus Torvalds
251da177e4SLinus Torvalds	  Say Y if you want support for the ARM610 processor.
261da177e4SLinus Torvalds	  Otherwise, say N.
271da177e4SLinus Torvalds
2807e0da78SHyok S. Choi# ARM7TDMI
2907e0da78SHyok S. Choiconfig CPU_ARM7TDMI
3007e0da78SHyok S. Choi	bool "Support ARM7TDMI processor"
316b237a35SRussell King	depends on !MMU
3207e0da78SHyok S. Choi	select CPU_32v4T
3307e0da78SHyok S. Choi	select CPU_ABRT_LV4T
344a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
3507e0da78SHyok S. Choi	select CPU_CACHE_V4
3607e0da78SHyok S. Choi	help
3707e0da78SHyok S. Choi	  A 32-bit RISC microprocessor based on the ARM7 processor core
3807e0da78SHyok S. Choi	  which has no memory control unit and cache.
3907e0da78SHyok S. Choi
4007e0da78SHyok S. Choi	  Say Y if you want support for the ARM7TDMI processor.
4107e0da78SHyok S. Choi	  Otherwise, say N.
4207e0da78SHyok S. Choi
431da177e4SLinus Torvalds# ARM710
441da177e4SLinus Torvaldsconfig CPU_ARM710
45c750815eSRussell King	bool "Support ARM710 processor" if ARCH_RPC
461da177e4SLinus Torvalds	select CPU_32v3
471da177e4SLinus Torvalds	select CPU_CACHE_V3
481da177e4SLinus Torvalds	select CPU_CACHE_VIVT
49fefdaa06SHyok S. Choi	select CPU_CP15_MMU
50f9c21a6eSHyok S. Choi	select CPU_COPY_V3 if MMU
51f9c21a6eSHyok S. Choi	select CPU_TLB_V3 if MMU
5248d7927bSPaul Brook	select CPU_PABRT_NOIFAR
531da177e4SLinus Torvalds	help
541da177e4SLinus Torvalds	  A 32-bit RISC microprocessor based on the ARM7 processor core
551da177e4SLinus Torvalds	  designed by Advanced RISC Machines Ltd. The ARM710 is the
561da177e4SLinus Torvalds	  successor to the ARM610 processor. It was released in
571da177e4SLinus Torvalds	  July 1994 by VLSI Technology Inc.
581da177e4SLinus Torvalds
591da177e4SLinus Torvalds	  Say Y if you want support for the ARM710 processor.
601da177e4SLinus Torvalds	  Otherwise, say N.
611da177e4SLinus Torvalds
621da177e4SLinus Torvalds# ARM720T
631da177e4SLinus Torvaldsconfig CPU_ARM720T
64c750815eSRussell King	bool "Support ARM720T processor" if ARCH_INTEGRATOR
65260e98edSLennert Buytenhek	select CPU_32v4T
661da177e4SLinus Torvalds	select CPU_ABRT_LV4T
6748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
681da177e4SLinus Torvalds	select CPU_CACHE_V4
691da177e4SLinus Torvalds	select CPU_CACHE_VIVT
70fefdaa06SHyok S. Choi	select CPU_CP15_MMU
71f9c21a6eSHyok S. Choi	select CPU_COPY_V4WT if MMU
72f9c21a6eSHyok S. Choi	select CPU_TLB_V4WT if MMU
731da177e4SLinus Torvalds	help
741da177e4SLinus Torvalds	  A 32-bit RISC processor with 8kByte Cache, Write Buffer and
751da177e4SLinus Torvalds	  MMU built around an ARM7TDMI core.
761da177e4SLinus Torvalds
771da177e4SLinus Torvalds	  Say Y if you want support for the ARM720T processor.
781da177e4SLinus Torvalds	  Otherwise, say N.
791da177e4SLinus Torvalds
80b731c311SHyok S. Choi# ARM740T
81b731c311SHyok S. Choiconfig CPU_ARM740T
82b731c311SHyok S. Choi	bool "Support ARM740T processor" if ARCH_INTEGRATOR
836b237a35SRussell King	depends on !MMU
84b731c311SHyok S. Choi	select CPU_32v4T
85b731c311SHyok S. Choi	select CPU_ABRT_LV4T
864a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
87b731c311SHyok S. Choi	select CPU_CACHE_V3	# although the core is v4t
88b731c311SHyok S. Choi	select CPU_CP15_MPU
89b731c311SHyok S. Choi	help
90b731c311SHyok S. Choi	  A 32-bit RISC processor with 8KB cache or 4KB variants,
91b731c311SHyok S. Choi	  write buffer and MPU(Protection Unit) built around
92b731c311SHyok S. Choi	  an ARM7TDMI core.
93b731c311SHyok S. Choi
94b731c311SHyok S. Choi	  Say Y if you want support for the ARM740T processor.
95b731c311SHyok S. Choi	  Otherwise, say N.
96b731c311SHyok S. Choi
9743f5f014SHyok S. Choi# ARM9TDMI
9843f5f014SHyok S. Choiconfig CPU_ARM9TDMI
9943f5f014SHyok S. Choi	bool "Support ARM9TDMI processor"
1006b237a35SRussell King	depends on !MMU
10143f5f014SHyok S. Choi	select CPU_32v4T
1020f45d7f3SHyok S. Choi	select CPU_ABRT_NOMMU
1034a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
10443f5f014SHyok S. Choi	select CPU_CACHE_V4
10543f5f014SHyok S. Choi	help
10643f5f014SHyok S. Choi	  A 32-bit RISC microprocessor based on the ARM9 processor core
10743f5f014SHyok S. Choi	  which has no memory control unit and cache.
10843f5f014SHyok S. Choi
10943f5f014SHyok S. Choi	  Say Y if you want support for the ARM9TDMI processor.
11043f5f014SHyok S. Choi	  Otherwise, say N.
11143f5f014SHyok S. Choi
1121da177e4SLinus Torvalds# ARM920T
1131da177e4SLinus Torvaldsconfig CPU_ARM920T
114c750815eSRussell King	bool "Support ARM920T processor" if ARCH_INTEGRATOR
115260e98edSLennert Buytenhek	select CPU_32v4T
1161da177e4SLinus Torvalds	select CPU_ABRT_EV4T
11748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1181da177e4SLinus Torvalds	select CPU_CACHE_V4WT
1191da177e4SLinus Torvalds	select CPU_CACHE_VIVT
120fefdaa06SHyok S. Choi	select CPU_CP15_MMU
121f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
122f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1231da177e4SLinus Torvalds	help
1241da177e4SLinus Torvalds	  The ARM920T is licensed to be produced by numerous vendors,
1251da177e4SLinus Torvalds	  and is used in the Maverick EP9312 and the Samsung S3C2410.
1261da177e4SLinus Torvalds
1271da177e4SLinus Torvalds	  More information on the Maverick EP9312 at
1281da177e4SLinus Torvalds	  <http://linuxdevices.com/products/PD2382866068.html>.
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvalds	  Say Y if you want support for the ARM920T processor.
1311da177e4SLinus Torvalds	  Otherwise, say N.
1321da177e4SLinus Torvalds
1331da177e4SLinus Torvalds# ARM922T
1341da177e4SLinus Torvaldsconfig CPU_ARM922T
1351da177e4SLinus Torvalds	bool "Support ARM922T processor" if ARCH_INTEGRATOR
136260e98edSLennert Buytenhek	select CPU_32v4T
1371da177e4SLinus Torvalds	select CPU_ABRT_EV4T
13848d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1391da177e4SLinus Torvalds	select CPU_CACHE_V4WT
1401da177e4SLinus Torvalds	select CPU_CACHE_VIVT
141fefdaa06SHyok S. Choi	select CPU_CP15_MMU
142f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
143f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1441da177e4SLinus Torvalds	help
1451da177e4SLinus Torvalds	  The ARM922T is a version of the ARM920T, but with smaller
1461da177e4SLinus Torvalds	  instruction and data caches. It is used in Altera's
147c53c9cf6SAndrew Victor	  Excalibur XA device family and Micrel's KS8695 Centaur.
1481da177e4SLinus Torvalds
1491da177e4SLinus Torvalds	  Say Y if you want support for the ARM922T processor.
1501da177e4SLinus Torvalds	  Otherwise, say N.
1511da177e4SLinus Torvalds
1521da177e4SLinus Torvalds# ARM925T
1531da177e4SLinus Torvaldsconfig CPU_ARM925T
154b288f75fSTony Lindgren 	bool "Support ARM925T processor" if ARCH_OMAP1
155260e98edSLennert Buytenhek	select CPU_32v4T
1561da177e4SLinus Torvalds	select CPU_ABRT_EV4T
15748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1581da177e4SLinus Torvalds	select CPU_CACHE_V4WT
1591da177e4SLinus Torvalds	select CPU_CACHE_VIVT
160fefdaa06SHyok S. Choi	select CPU_CP15_MMU
161f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
162f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1631da177e4SLinus Torvalds 	help
1641da177e4SLinus Torvalds 	  The ARM925T is a mix between the ARM920T and ARM926T, but with
1651da177e4SLinus Torvalds	  different instruction and data caches. It is used in TI's OMAP
1661da177e4SLinus Torvalds 	  device family.
1671da177e4SLinus Torvalds
1681da177e4SLinus Torvalds 	  Say Y if you want support for the ARM925T processor.
1691da177e4SLinus Torvalds 	  Otherwise, say N.
1701da177e4SLinus Torvalds
1711da177e4SLinus Torvalds# ARM926T
1721da177e4SLinus Torvaldsconfig CPU_ARM926T
173c750815eSRussell King	bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
1741da177e4SLinus Torvalds	select CPU_32v5
1751da177e4SLinus Torvalds	select CPU_ABRT_EV5TJ
17648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1771da177e4SLinus Torvalds	select CPU_CACHE_VIVT
178fefdaa06SHyok S. Choi	select CPU_CP15_MMU
179f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
180f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1811da177e4SLinus Torvalds	help
1821da177e4SLinus Torvalds	  This is a variant of the ARM920.  It has slightly different
1831da177e4SLinus Torvalds	  instruction sequences for cache and TLB operations.  Curiously,
1841da177e4SLinus Torvalds	  there is no documentation on it at the ARM corporate website.
1851da177e4SLinus Torvalds
1861da177e4SLinus Torvalds	  Say Y if you want support for the ARM926T processor.
1871da177e4SLinus Torvalds	  Otherwise, say N.
1881da177e4SLinus Torvalds
189*28853ac8SPaulius Zaleckas# FA526
190*28853ac8SPaulius Zaleckasconfig CPU_FA526
191*28853ac8SPaulius Zaleckas	bool
192*28853ac8SPaulius Zaleckas	select CPU_32v4
193*28853ac8SPaulius Zaleckas	select CPU_ABRT_EV4
194*28853ac8SPaulius Zaleckas	select CPU_PABRT_NOIFAR
195*28853ac8SPaulius Zaleckas	select CPU_CACHE_VIVT
196*28853ac8SPaulius Zaleckas	select CPU_CP15_MMU
197*28853ac8SPaulius Zaleckas	select CPU_CACHE_FA
198*28853ac8SPaulius Zaleckas	select CPU_COPY_FA if MMU
199*28853ac8SPaulius Zaleckas	select CPU_TLB_FA if MMU
200*28853ac8SPaulius Zaleckas	help
201*28853ac8SPaulius Zaleckas	  The FA526 is a version of the ARMv4 compatible processor with
202*28853ac8SPaulius Zaleckas	  Branch Target Buffer, Unified TLB and cache line size 16.
203*28853ac8SPaulius Zaleckas
204*28853ac8SPaulius Zaleckas	  Say Y if you want support for the FA526 processor.
205*28853ac8SPaulius Zaleckas	  Otherwise, say N.
206*28853ac8SPaulius Zaleckas
207d60674ebSHyok S. Choi# ARM940T
208d60674ebSHyok S. Choiconfig CPU_ARM940T
209d60674ebSHyok S. Choi	bool "Support ARM940T processor" if ARCH_INTEGRATOR
2106b237a35SRussell King	depends on !MMU
211d60674ebSHyok S. Choi	select CPU_32v4T
2120f45d7f3SHyok S. Choi	select CPU_ABRT_NOMMU
2134a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
214d60674ebSHyok S. Choi	select CPU_CACHE_VIVT
215d60674ebSHyok S. Choi	select CPU_CP15_MPU
216d60674ebSHyok S. Choi	help
217d60674ebSHyok S. Choi	  ARM940T is a member of the ARM9TDMI family of general-
2183cb2fcccSMatt LaPlante	  purpose microprocessors with MPU and separate 4KB
219d60674ebSHyok S. Choi	  instruction and 4KB data cases, each with a 4-word line
220d60674ebSHyok S. Choi	  length.
221d60674ebSHyok S. Choi
222d60674ebSHyok S. Choi	  Say Y if you want support for the ARM940T processor.
223d60674ebSHyok S. Choi	  Otherwise, say N.
224d60674ebSHyok S. Choi
225f37f46ebSHyok S. Choi# ARM946E-S
226f37f46ebSHyok S. Choiconfig CPU_ARM946E
227f37f46ebSHyok S. Choi	bool "Support ARM946E-S processor" if ARCH_INTEGRATOR
2286b237a35SRussell King	depends on !MMU
229f37f46ebSHyok S. Choi	select CPU_32v5
2300f45d7f3SHyok S. Choi	select CPU_ABRT_NOMMU
2314a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
232f37f46ebSHyok S. Choi	select CPU_CACHE_VIVT
233f37f46ebSHyok S. Choi	select CPU_CP15_MPU
234f37f46ebSHyok S. Choi	help
235f37f46ebSHyok S. Choi	  ARM946E-S is a member of the ARM9E-S family of high-
236f37f46ebSHyok S. Choi	  performance, 32-bit system-on-chip processor solutions.
237f37f46ebSHyok S. Choi	  The TCM and ARMv5TE 32-bit instruction set is supported.
238f37f46ebSHyok S. Choi
239f37f46ebSHyok S. Choi	  Say Y if you want support for the ARM946E-S processor.
240f37f46ebSHyok S. Choi	  Otherwise, say N.
241f37f46ebSHyok S. Choi
2421da177e4SLinus Torvalds# ARM1020 - needs validating
2431da177e4SLinus Torvaldsconfig CPU_ARM1020
244c750815eSRussell King	bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR
2451da177e4SLinus Torvalds	select CPU_32v5
2461da177e4SLinus Torvalds	select CPU_ABRT_EV4T
24748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2481da177e4SLinus Torvalds	select CPU_CACHE_V4WT
2491da177e4SLinus Torvalds	select CPU_CACHE_VIVT
250fefdaa06SHyok S. Choi	select CPU_CP15_MMU
251f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
252f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2531da177e4SLinus Torvalds	help
2541da177e4SLinus Torvalds	  The ARM1020 is the 32K cached version of the ARM10 processor,
2551da177e4SLinus Torvalds	  with an addition of a floating-point unit.
2561da177e4SLinus Torvalds
2571da177e4SLinus Torvalds	  Say Y if you want support for the ARM1020 processor.
2581da177e4SLinus Torvalds	  Otherwise, say N.
2591da177e4SLinus Torvalds
2601da177e4SLinus Torvalds# ARM1020E - needs validating
2611da177e4SLinus Torvaldsconfig CPU_ARM1020E
262c750815eSRussell King	bool "Support ARM1020E processor" if ARCH_INTEGRATOR
2631da177e4SLinus Torvalds	select CPU_32v5
2641da177e4SLinus Torvalds	select CPU_ABRT_EV4T
26548d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2661da177e4SLinus Torvalds	select CPU_CACHE_V4WT
2671da177e4SLinus Torvalds	select CPU_CACHE_VIVT
268fefdaa06SHyok S. Choi	select CPU_CP15_MMU
269f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
270f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2711da177e4SLinus Torvalds	depends on n
2721da177e4SLinus Torvalds
2731da177e4SLinus Torvalds# ARM1022E
2741da177e4SLinus Torvaldsconfig CPU_ARM1022
275c750815eSRussell King	bool "Support ARM1022E processor" if ARCH_INTEGRATOR
2761da177e4SLinus Torvalds	select CPU_32v5
2771da177e4SLinus Torvalds	select CPU_ABRT_EV4T
27848d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2791da177e4SLinus Torvalds	select CPU_CACHE_VIVT
280fefdaa06SHyok S. Choi	select CPU_CP15_MMU
281f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU # can probably do better
282f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2831da177e4SLinus Torvalds	help
2841da177e4SLinus Torvalds	  The ARM1022E is an implementation of the ARMv5TE architecture
2851da177e4SLinus Torvalds	  based upon the ARM10 integer core with a 16KiB L1 Harvard cache,
2861da177e4SLinus Torvalds	  embedded trace macrocell, and a floating-point unit.
2871da177e4SLinus Torvalds
2881da177e4SLinus Torvalds	  Say Y if you want support for the ARM1022E processor.
2891da177e4SLinus Torvalds	  Otherwise, say N.
2901da177e4SLinus Torvalds
2911da177e4SLinus Torvalds# ARM1026EJ-S
2921da177e4SLinus Torvaldsconfig CPU_ARM1026
293c750815eSRussell King	bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR
2941da177e4SLinus Torvalds	select CPU_32v5
2951da177e4SLinus Torvalds	select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10
29648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2971da177e4SLinus Torvalds	select CPU_CACHE_VIVT
298fefdaa06SHyok S. Choi	select CPU_CP15_MMU
299f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU # can probably do better
300f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
3011da177e4SLinus Torvalds	help
3021da177e4SLinus Torvalds	  The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture
3031da177e4SLinus Torvalds	  based upon the ARM10 integer core.
3041da177e4SLinus Torvalds
3051da177e4SLinus Torvalds	  Say Y if you want support for the ARM1026EJ-S processor.
3061da177e4SLinus Torvalds	  Otherwise, say N.
3071da177e4SLinus Torvalds
3081da177e4SLinus Torvalds# SA110
3091da177e4SLinus Torvaldsconfig CPU_SA110
310c750815eSRussell King	bool "Support StrongARM(R) SA-110 processor" if ARCH_RPC
3111da177e4SLinus Torvalds	select CPU_32v3 if ARCH_RPC
3121da177e4SLinus Torvalds	select CPU_32v4 if !ARCH_RPC
3131da177e4SLinus Torvalds	select CPU_ABRT_EV4
31448d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3151da177e4SLinus Torvalds	select CPU_CACHE_V4WB
3161da177e4SLinus Torvalds	select CPU_CACHE_VIVT
317fefdaa06SHyok S. Choi	select CPU_CP15_MMU
318f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
319f9c21a6eSHyok S. Choi	select CPU_TLB_V4WB if MMU
3201da177e4SLinus Torvalds	help
3211da177e4SLinus Torvalds	  The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and
3221da177e4SLinus Torvalds	  is available at five speeds ranging from 100 MHz to 233 MHz.
3231da177e4SLinus Torvalds	  More information is available at
3241da177e4SLinus Torvalds	  <http://developer.intel.com/design/strong/sa110.htm>.
3251da177e4SLinus Torvalds
3261da177e4SLinus Torvalds	  Say Y if you want support for the SA-110 processor.
3271da177e4SLinus Torvalds	  Otherwise, say N.
3281da177e4SLinus Torvalds
3291da177e4SLinus Torvalds# SA1100
3301da177e4SLinus Torvaldsconfig CPU_SA1100
3311da177e4SLinus Torvalds	bool
3321da177e4SLinus Torvalds	select CPU_32v4
3331da177e4SLinus Torvalds	select CPU_ABRT_EV4
33448d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3351da177e4SLinus Torvalds	select CPU_CACHE_V4WB
3361da177e4SLinus Torvalds	select CPU_CACHE_VIVT
337fefdaa06SHyok S. Choi	select CPU_CP15_MMU
338f9c21a6eSHyok S. Choi	select CPU_TLB_V4WB if MMU
3391da177e4SLinus Torvalds
3401da177e4SLinus Torvalds# XScale
3411da177e4SLinus Torvaldsconfig CPU_XSCALE
3421da177e4SLinus Torvalds	bool
3431da177e4SLinus Torvalds	select CPU_32v5
3441da177e4SLinus Torvalds	select CPU_ABRT_EV5T
34548d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3461da177e4SLinus Torvalds	select CPU_CACHE_VIVT
347fefdaa06SHyok S. Choi	select CPU_CP15_MMU
348f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
3491da177e4SLinus Torvalds
35023bdf86aSLennert Buytenhek# XScale Core Version 3
35123bdf86aSLennert Buytenhekconfig CPU_XSC3
35223bdf86aSLennert Buytenhek	bool
35323bdf86aSLennert Buytenhek	select CPU_32v5
35423bdf86aSLennert Buytenhek	select CPU_ABRT_EV5T
3554a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
35623bdf86aSLennert Buytenhek	select CPU_CACHE_VIVT
357fefdaa06SHyok S. Choi	select CPU_CP15_MMU
358f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
35923bdf86aSLennert Buytenhek	select IO_36
36023bdf86aSLennert Buytenhek
361e50d6409SAssaf Hoffman# Feroceon
362e50d6409SAssaf Hoffmanconfig CPU_FEROCEON
363e50d6409SAssaf Hoffman	bool
364e50d6409SAssaf Hoffman	select CPU_32v5
365e50d6409SAssaf Hoffman	select CPU_ABRT_EV5T
36648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
367e50d6409SAssaf Hoffman	select CPU_CACHE_VIVT
368e50d6409SAssaf Hoffman	select CPU_CP15_MMU
3690ed15071SLennert Buytenhek	select CPU_COPY_FEROCEON if MMU
37099c6dc11SLennert Buytenhek	select CPU_TLB_FEROCEON if MMU
371e50d6409SAssaf Hoffman
372d910a0aaSTzachi Perelsteinconfig CPU_FEROCEON_OLD_ID
373d910a0aaSTzachi Perelstein	bool "Accept early Feroceon cores with an ARM926 ID"
374d910a0aaSTzachi Perelstein	depends on CPU_FEROCEON && !CPU_ARM926T
375d910a0aaSTzachi Perelstein	default y
376d910a0aaSTzachi Perelstein	help
377d910a0aaSTzachi Perelstein	  This enables the usage of some old Feroceon cores
378d910a0aaSTzachi Perelstein	  for which the CPU ID is equal to the ARM926 ID.
379d910a0aaSTzachi Perelstein	  Relevant for Feroceon-1850 and early Feroceon-2850.
380d910a0aaSTzachi Perelstein
3811da177e4SLinus Torvalds# ARMv6
3821da177e4SLinus Torvaldsconfig CPU_V6
383c750815eSRussell King	bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
3841da177e4SLinus Torvalds	select CPU_32v6
3851da177e4SLinus Torvalds	select CPU_ABRT_EV6
38648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3871da177e4SLinus Torvalds	select CPU_CACHE_V6
3881da177e4SLinus Torvalds	select CPU_CACHE_VIPT
389fefdaa06SHyok S. Choi	select CPU_CP15_MMU
3907b4c965aSCatalin Marinas	select CPU_HAS_ASID if MMU
391f9c21a6eSHyok S. Choi	select CPU_COPY_V6 if MMU
392f9c21a6eSHyok S. Choi	select CPU_TLB_V6 if MMU
3931da177e4SLinus Torvalds
3944a5f79e7SRussell King# ARMv6k
3954a5f79e7SRussell Kingconfig CPU_32v6K
3964a5f79e7SRussell King	bool "Support ARM V6K processor extensions" if !SMP
3974a5f79e7SRussell King	depends on CPU_V6
39852c543f9SQuinn Jensen	default y if SMP && !ARCH_MX3
3994a5f79e7SRussell King	help
4004a5f79e7SRussell King	  Say Y here if your ARMv6 processor supports the 'K' extension.
4014a5f79e7SRussell King	  This enables the kernel to use some instructions not present
4024a5f79e7SRussell King	  on previous processors, and as such a kernel build with this
4034a5f79e7SRussell King	  enabled will not boot on processors with do not support these
4044a5f79e7SRussell King	  instructions.
4054a5f79e7SRussell King
40623688e99SCatalin Marinas# ARMv7
40723688e99SCatalin Marinasconfig CPU_V7
408c750815eSRussell King	bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
40923688e99SCatalin Marinas	select CPU_32v6K
41023688e99SCatalin Marinas	select CPU_32v7
41123688e99SCatalin Marinas	select CPU_ABRT_EV7
41248d7927bSPaul Brook	select CPU_PABRT_IFAR
41323688e99SCatalin Marinas	select CPU_CACHE_V7
41423688e99SCatalin Marinas	select CPU_CACHE_VIPT
41523688e99SCatalin Marinas	select CPU_CP15_MMU
4162eb8c82bSCatalin Marinas	select CPU_HAS_ASID if MMU
41723688e99SCatalin Marinas	select CPU_COPY_V6 if MMU
4182ccdd1e7SCatalin Marinas	select CPU_TLB_V7 if MMU
41923688e99SCatalin Marinas
4201da177e4SLinus Torvalds# Figure out what processor architecture version we should be using.
4211da177e4SLinus Torvalds# This defines the compiler instruction set which depends on the machine type.
4221da177e4SLinus Torvaldsconfig CPU_32v3
4231da177e4SLinus Torvalds	bool
42460b6cf68SRussell King	select TLS_REG_EMUL if SMP || !MMU
42548fa14f7SRussell King	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
4261da177e4SLinus Torvalds
4271da177e4SLinus Torvaldsconfig CPU_32v4
4281da177e4SLinus Torvalds	bool
42960b6cf68SRussell King	select TLS_REG_EMUL if SMP || !MMU
43048fa14f7SRussell King	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
4311da177e4SLinus Torvalds
432260e98edSLennert Buytenhekconfig CPU_32v4T
433260e98edSLennert Buytenhek	bool
434260e98edSLennert Buytenhek	select TLS_REG_EMUL if SMP || !MMU
435260e98edSLennert Buytenhek	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
436260e98edSLennert Buytenhek
4371da177e4SLinus Torvaldsconfig CPU_32v5
4381da177e4SLinus Torvalds	bool
43960b6cf68SRussell King	select TLS_REG_EMUL if SMP || !MMU
44048fa14f7SRussell King	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
4411da177e4SLinus Torvalds
4421da177e4SLinus Torvaldsconfig CPU_32v6
4431da177e4SLinus Torvalds	bool
444367afaf8SCatalin Marinas	select TLS_REG_EMUL if !CPU_32v6K && !MMU
4451da177e4SLinus Torvalds
44623688e99SCatalin Marinasconfig CPU_32v7
44723688e99SCatalin Marinas	bool
44823688e99SCatalin Marinas
4491da177e4SLinus Torvalds# The abort model
4500f45d7f3SHyok S. Choiconfig CPU_ABRT_NOMMU
4510f45d7f3SHyok S. Choi	bool
4520f45d7f3SHyok S. Choi
4531da177e4SLinus Torvaldsconfig CPU_ABRT_EV4
4541da177e4SLinus Torvalds	bool
4551da177e4SLinus Torvalds
4561da177e4SLinus Torvaldsconfig CPU_ABRT_EV4T
4571da177e4SLinus Torvalds	bool
4581da177e4SLinus Torvalds
4591da177e4SLinus Torvaldsconfig CPU_ABRT_LV4T
4601da177e4SLinus Torvalds	bool
4611da177e4SLinus Torvalds
4621da177e4SLinus Torvaldsconfig CPU_ABRT_EV5T
4631da177e4SLinus Torvalds	bool
4641da177e4SLinus Torvalds
4651da177e4SLinus Torvaldsconfig CPU_ABRT_EV5TJ
4661da177e4SLinus Torvalds	bool
4671da177e4SLinus Torvalds
4681da177e4SLinus Torvaldsconfig CPU_ABRT_EV6
4691da177e4SLinus Torvalds	bool
4701da177e4SLinus Torvalds
47123688e99SCatalin Marinasconfig CPU_ABRT_EV7
47223688e99SCatalin Marinas	bool
47323688e99SCatalin Marinas
47448d7927bSPaul Brookconfig CPU_PABRT_IFAR
47548d7927bSPaul Brook	bool
47648d7927bSPaul Brook
47748d7927bSPaul Brookconfig CPU_PABRT_NOIFAR
47848d7927bSPaul Brook	bool
47948d7927bSPaul Brook
4801da177e4SLinus Torvalds# The cache model
4811da177e4SLinus Torvaldsconfig CPU_CACHE_V3
4821da177e4SLinus Torvalds	bool
4831da177e4SLinus Torvalds
4841da177e4SLinus Torvaldsconfig CPU_CACHE_V4
4851da177e4SLinus Torvalds	bool
4861da177e4SLinus Torvalds
4871da177e4SLinus Torvaldsconfig CPU_CACHE_V4WT
4881da177e4SLinus Torvalds	bool
4891da177e4SLinus Torvalds
4901da177e4SLinus Torvaldsconfig CPU_CACHE_V4WB
4911da177e4SLinus Torvalds	bool
4921da177e4SLinus Torvalds
4931da177e4SLinus Torvaldsconfig CPU_CACHE_V6
4941da177e4SLinus Torvalds	bool
4951da177e4SLinus Torvalds
49623688e99SCatalin Marinasconfig CPU_CACHE_V7
49723688e99SCatalin Marinas	bool
49823688e99SCatalin Marinas
4991da177e4SLinus Torvaldsconfig CPU_CACHE_VIVT
5001da177e4SLinus Torvalds	bool
5011da177e4SLinus Torvalds
5021da177e4SLinus Torvaldsconfig CPU_CACHE_VIPT
5031da177e4SLinus Torvalds	bool
5041da177e4SLinus Torvalds
505*28853ac8SPaulius Zaleckasconfig CPU_CACHE_FA
506*28853ac8SPaulius Zaleckas	bool
507*28853ac8SPaulius Zaleckas
508f9c21a6eSHyok S. Choiif MMU
5091da177e4SLinus Torvalds# The copy-page model
5101da177e4SLinus Torvaldsconfig CPU_COPY_V3
5111da177e4SLinus Torvalds	bool
5121da177e4SLinus Torvalds
5131da177e4SLinus Torvaldsconfig CPU_COPY_V4WT
5141da177e4SLinus Torvalds	bool
5151da177e4SLinus Torvalds
5161da177e4SLinus Torvaldsconfig CPU_COPY_V4WB
5171da177e4SLinus Torvalds	bool
5181da177e4SLinus Torvalds
5190ed15071SLennert Buytenhekconfig CPU_COPY_FEROCEON
5200ed15071SLennert Buytenhek	bool
5210ed15071SLennert Buytenhek
522*28853ac8SPaulius Zaleckasconfig CPU_COPY_FA
523*28853ac8SPaulius Zaleckas	bool
524*28853ac8SPaulius Zaleckas
5251da177e4SLinus Torvaldsconfig CPU_COPY_V6
5261da177e4SLinus Torvalds	bool
5271da177e4SLinus Torvalds
5281da177e4SLinus Torvalds# This selects the TLB model
5291da177e4SLinus Torvaldsconfig CPU_TLB_V3
5301da177e4SLinus Torvalds	bool
5311da177e4SLinus Torvalds	help
5321da177e4SLinus Torvalds	  ARM Architecture Version 3 TLB.
5331da177e4SLinus Torvalds
5341da177e4SLinus Torvaldsconfig CPU_TLB_V4WT
5351da177e4SLinus Torvalds	bool
5361da177e4SLinus Torvalds	help
5371da177e4SLinus Torvalds	  ARM Architecture Version 4 TLB with writethrough cache.
5381da177e4SLinus Torvalds
5391da177e4SLinus Torvaldsconfig CPU_TLB_V4WB
5401da177e4SLinus Torvalds	bool
5411da177e4SLinus Torvalds	help
5421da177e4SLinus Torvalds	  ARM Architecture Version 4 TLB with writeback cache.
5431da177e4SLinus Torvalds
5441da177e4SLinus Torvaldsconfig CPU_TLB_V4WBI
5451da177e4SLinus Torvalds	bool
5461da177e4SLinus Torvalds	help
5471da177e4SLinus Torvalds	  ARM Architecture Version 4 TLB with writeback cache and invalidate
5481da177e4SLinus Torvalds	  instruction cache entry.
5491da177e4SLinus Torvalds
55099c6dc11SLennert Buytenhekconfig CPU_TLB_FEROCEON
55199c6dc11SLennert Buytenhek	bool
55299c6dc11SLennert Buytenhek	help
55399c6dc11SLennert Buytenhek	  Feroceon TLB (v4wbi with non-outer-cachable page table walks).
55499c6dc11SLennert Buytenhek
555*28853ac8SPaulius Zaleckasconfig CPU_TLB_FA
556*28853ac8SPaulius Zaleckas	bool
557*28853ac8SPaulius Zaleckas	help
558*28853ac8SPaulius Zaleckas	  Faraday ARM FA526 architecture, unified TLB with writeback cache
559*28853ac8SPaulius Zaleckas	  and invalidate instruction cache entry. Branch target buffer is
560*28853ac8SPaulius Zaleckas	  also supported.
561*28853ac8SPaulius Zaleckas
5621da177e4SLinus Torvaldsconfig CPU_TLB_V6
5631da177e4SLinus Torvalds	bool
5641da177e4SLinus Torvalds
5652ccdd1e7SCatalin Marinasconfig CPU_TLB_V7
5662ccdd1e7SCatalin Marinas	bool
5672ccdd1e7SCatalin Marinas
568f9c21a6eSHyok S. Choiendif
569f9c21a6eSHyok S. Choi
570516793c6SRussell Kingconfig CPU_HAS_ASID
571516793c6SRussell King	bool
572516793c6SRussell King	help
573516793c6SRussell King	  This indicates whether the CPU has the ASID register; used to
574516793c6SRussell King	  tag TLB and possibly cache entries.
575516793c6SRussell King
576fefdaa06SHyok S. Choiconfig CPU_CP15
577fefdaa06SHyok S. Choi	bool
578fefdaa06SHyok S. Choi	help
579fefdaa06SHyok S. Choi	  Processor has the CP15 register.
580fefdaa06SHyok S. Choi
581fefdaa06SHyok S. Choiconfig CPU_CP15_MMU
582fefdaa06SHyok S. Choi	bool
583fefdaa06SHyok S. Choi	select CPU_CP15
584fefdaa06SHyok S. Choi	help
585fefdaa06SHyok S. Choi	  Processor has the CP15 register, which has MMU related registers.
586fefdaa06SHyok S. Choi
587fefdaa06SHyok S. Choiconfig CPU_CP15_MPU
588fefdaa06SHyok S. Choi	bool
589fefdaa06SHyok S. Choi	select CPU_CP15
590fefdaa06SHyok S. Choi	help
591fefdaa06SHyok S. Choi	  Processor has the CP15 register, which has MPU related registers.
592fefdaa06SHyok S. Choi
59323bdf86aSLennert Buytenhek#
59423bdf86aSLennert Buytenhek# CPU supports 36-bit I/O
59523bdf86aSLennert Buytenhek#
59623bdf86aSLennert Buytenhekconfig IO_36
59723bdf86aSLennert Buytenhek	bool
59823bdf86aSLennert Buytenhek
5991da177e4SLinus Torvaldscomment "Processor Features"
6001da177e4SLinus Torvalds
6011da177e4SLinus Torvaldsconfig ARM_THUMB
6021da177e4SLinus Torvalds	bool "Support Thumb user binaries"
603e50d6409SAssaf Hoffman	depends on CPU_ARM720T || CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_XSC3 || CPU_V6 || CPU_V7 || CPU_FEROCEON
6041da177e4SLinus Torvalds	default y
6051da177e4SLinus Torvalds	help
6061da177e4SLinus Torvalds	  Say Y if you want to include kernel support for running user space
6071da177e4SLinus Torvalds	  Thumb binaries.
6081da177e4SLinus Torvalds
6091da177e4SLinus Torvalds	  The Thumb instruction set is a compressed form of the standard ARM
6101da177e4SLinus Torvalds	  instruction set resulting in smaller binaries at the expense of
6111da177e4SLinus Torvalds	  slightly less efficient code.
6121da177e4SLinus Torvalds
6131da177e4SLinus Torvalds	  If you don't know what this all is, saying Y is a safe choice.
6141da177e4SLinus Torvalds
615d7f864beSCatalin Marinasconfig ARM_THUMBEE
616d7f864beSCatalin Marinas	bool "Enable ThumbEE CPU extension"
617d7f864beSCatalin Marinas	depends on CPU_V7
618d7f864beSCatalin Marinas	help
619d7f864beSCatalin Marinas	  Say Y here if you have a CPU with the ThumbEE extension and code to
620d7f864beSCatalin Marinas	  make use of it. Say N for code that can run on CPUs without ThumbEE.
621d7f864beSCatalin Marinas
6221da177e4SLinus Torvaldsconfig CPU_BIG_ENDIAN
6231da177e4SLinus Torvalds	bool "Build big-endian kernel"
6241da177e4SLinus Torvalds	depends on ARCH_SUPPORTS_BIG_ENDIAN
6251da177e4SLinus Torvalds	help
6261da177e4SLinus Torvalds	  Say Y if you plan on running a kernel in big-endian mode.
6271da177e4SLinus Torvalds	  Note that your board must be properly built and your board
6281da177e4SLinus Torvalds	  port must properly enable any big-endian related features
6291da177e4SLinus Torvalds	  of your chipset/board/processor.
6301da177e4SLinus Torvalds
6316afd6faeSHyok S. Choiconfig CPU_HIGH_VECTOR
6326340aa61SRobert P. J. Day	depends on !MMU && CPU_CP15 && !CPU_ARM740T
6336afd6faeSHyok S. Choi	bool "Select the High exception vector"
6346afd6faeSHyok S. Choi	default n
6356afd6faeSHyok S. Choi	help
6366afd6faeSHyok S. Choi	  Say Y here to select high exception vector(0xFFFF0000~).
6376afd6faeSHyok S. Choi	  The exception vector can be vary depending on the platform
6386afd6faeSHyok S. Choi	  design in nommu mode. If your platform needs to select
6396afd6faeSHyok S. Choi	  high exception vector, say Y.
6406afd6faeSHyok S. Choi	  Otherwise or if you are unsure, say N, and the low exception
6416afd6faeSHyok S. Choi	  vector (0x00000000~) will be used.
6426afd6faeSHyok S. Choi
6431da177e4SLinus Torvaldsconfig CPU_ICACHE_DISABLE
644f12d0d7cSHyok S. Choi	bool "Disable I-Cache (I-bit)"
645f12d0d7cSHyok S. Choi	depends on CPU_CP15 && !(CPU_ARM610 || CPU_ARM710 || CPU_ARM720T || CPU_ARM740T || CPU_XSCALE || CPU_XSC3)
6461da177e4SLinus Torvalds	help
6471da177e4SLinus Torvalds	  Say Y here to disable the processor instruction cache. Unless
6481da177e4SLinus Torvalds	  you have a reason not to or are unsure, say N.
6491da177e4SLinus Torvalds
6501da177e4SLinus Torvaldsconfig CPU_DCACHE_DISABLE
651f12d0d7cSHyok S. Choi	bool "Disable D-Cache (C-bit)"
652f12d0d7cSHyok S. Choi	depends on CPU_CP15
6531da177e4SLinus Torvalds	help
6541da177e4SLinus Torvalds	  Say Y here to disable the processor data cache. Unless
6551da177e4SLinus Torvalds	  you have a reason not to or are unsure, say N.
6561da177e4SLinus Torvalds
657f37f46ebSHyok S. Choiconfig CPU_DCACHE_SIZE
658f37f46ebSHyok S. Choi	hex
659f37f46ebSHyok S. Choi	depends on CPU_ARM740T || CPU_ARM946E
660f37f46ebSHyok S. Choi	default 0x00001000 if CPU_ARM740T
661f37f46ebSHyok S. Choi	default 0x00002000 # default size for ARM946E-S
662f37f46ebSHyok S. Choi	help
663f37f46ebSHyok S. Choi	  Some cores are synthesizable to have various sized cache. For
664f37f46ebSHyok S. Choi	  ARM946E-S case, it can vary from 0KB to 1MB.
665f37f46ebSHyok S. Choi	  To support such cache operations, it is efficient to know the size
666f37f46ebSHyok S. Choi	  before compile time.
667f37f46ebSHyok S. Choi	  If your SoC is configured to have a different size, define the value
668f37f46ebSHyok S. Choi	  here with proper conditions.
669f37f46ebSHyok S. Choi
6701da177e4SLinus Torvaldsconfig CPU_DCACHE_WRITETHROUGH
6711da177e4SLinus Torvalds	bool "Force write through D-cache"
672*28853ac8SPaulius Zaleckas	depends on (CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_FA526) && !CPU_DCACHE_DISABLE
6731da177e4SLinus Torvalds	default y if CPU_ARM925T
6741da177e4SLinus Torvalds	help
6751da177e4SLinus Torvalds	  Say Y here to use the data cache in writethrough mode. Unless you
6761da177e4SLinus Torvalds	  specifically require this or are unsure, say N.
6771da177e4SLinus Torvalds
6781da177e4SLinus Torvaldsconfig CPU_CACHE_ROUND_ROBIN
6791da177e4SLinus Torvalds	bool "Round robin I and D cache replacement algorithm"
680f37f46ebSHyok S. Choi	depends on (CPU_ARM926T || CPU_ARM946E || CPU_ARM1020) && (!CPU_ICACHE_DISABLE || !CPU_DCACHE_DISABLE)
6811da177e4SLinus Torvalds	help
6821da177e4SLinus Torvalds	  Say Y here to use the predictable round-robin cache replacement
6831da177e4SLinus Torvalds	  policy.  Unless you specifically require this or are unsure, say N.
6841da177e4SLinus Torvalds
6851da177e4SLinus Torvaldsconfig CPU_BPREDICT_DISABLE
6861da177e4SLinus Torvalds	bool "Disable branch prediction"
687*28853ac8SPaulius Zaleckas	depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 || CPU_V7 || CPU_FA526
6881da177e4SLinus Torvalds	help
6891da177e4SLinus Torvalds	  Say Y here to disable branch prediction.  If unsure, say N.
6902d2669b6SNicolas Pitre
6914b0e07a5SNicolas Pitreconfig TLS_REG_EMUL
6924b0e07a5SNicolas Pitre	bool
6934b0e07a5SNicolas Pitre	help
69470489c88SNicolas Pitre	  An SMP system using a pre-ARMv6 processor (there are apparently
69570489c88SNicolas Pitre	  a few prototypes like that in existence) and therefore access to
69670489c88SNicolas Pitre	  that required register must be emulated.
6974b0e07a5SNicolas Pitre
6982d2669b6SNicolas Pitreconfig HAS_TLS_REG
6992d2669b6SNicolas Pitre	bool
70070489c88SNicolas Pitre	depends on !TLS_REG_EMUL
70170489c88SNicolas Pitre	default y if SMP || CPU_32v7
7022d2669b6SNicolas Pitre	help
7032d2669b6SNicolas Pitre	  This selects support for the CP15 thread register.
70470489c88SNicolas Pitre	  It is defined to be available on some ARMv6 processors (including
70570489c88SNicolas Pitre	  all SMP capable ARMv6's) or later processors.  User space may
70670489c88SNicolas Pitre	  assume directly accessing that register and always obtain the
70770489c88SNicolas Pitre	  expected value only on ARMv7 and above.
7082d2669b6SNicolas Pitre
709dcef1f63SNicolas Pitreconfig NEEDS_SYSCALL_FOR_CMPXCHG
710dcef1f63SNicolas Pitre	bool
711dcef1f63SNicolas Pitre	help
712dcef1f63SNicolas Pitre	  SMP on a pre-ARMv6 processor?  Well OK then.
713dcef1f63SNicolas Pitre	  Forget about fast user space cmpxchg support.
714dcef1f63SNicolas Pitre	  It is just not possible.
715dcef1f63SNicolas Pitre
716953233dcSCatalin Marinasconfig OUTER_CACHE
717953233dcSCatalin Marinas	bool
718953233dcSCatalin Marinas	default n
719382266adSCatalin Marinas
72099c6dc11SLennert Buytenhekconfig CACHE_FEROCEON_L2
72199c6dc11SLennert Buytenhek	bool "Enable the Feroceon L2 cache controller"
722794d15b2SStanislav Samsonov	depends on ARCH_KIRKWOOD || ARCH_MV78XX0
72399c6dc11SLennert Buytenhek	default y
724382266adSCatalin Marinas	select OUTER_CACHE
72599c6dc11SLennert Buytenhek	help
72699c6dc11SLennert Buytenhek	  This option enables the Feroceon L2 cache controller.
72799c6dc11SLennert Buytenhek
7284360bb41SRonen Shitritconfig CACHE_FEROCEON_L2_WRITETHROUGH
7294360bb41SRonen Shitrit	bool "Force Feroceon L2 cache write through"
7304360bb41SRonen Shitrit	depends on CACHE_FEROCEON_L2
7314360bb41SRonen Shitrit	default n
7324360bb41SRonen Shitrit	help
7334360bb41SRonen Shitrit	  Say Y here to use the Feroceon L2 cache in writethrough mode.
7344360bb41SRonen Shitrit	  Unless you specifically require this, say N for writeback mode.
7354360bb41SRonen Shitrit
7361da177e4SLinus Torvaldsconfig CACHE_L2X0
737ba927951SCatalin Marinas	bool "Enable the L2x0 outer cache controller"
7384c3ea371SJon Callan	depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || REALVIEW_EB_A9MP
739ba927951SCatalin Marinas	default y
7401da177e4SLinus Torvalds	select OUTER_CACHE
741ba927951SCatalin Marinas	help
742ba927951SCatalin Marinas	  This option enables the L2x0 PrimeCell.
743905a09d5SEric Miao
744905a09d5SEric Miaoconfig CACHE_XSC3L2
745905a09d5SEric Miao	bool "Enable the L2 cache on XScale3"
746905a09d5SEric Miao	depends on CPU_XSC3
747905a09d5SEric Miao	default y
748905a09d5SEric Miao	select OUTER_CACHE
749905a09d5SEric Miao	help
750905a09d5SEric Miao	  This option enables the L2 cache on XScale3.
751