xref: /linux/arch/arm/Kconfig (revision 6e457bb05c348e196f67005876992ceb5eb0430a)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# For a description of the syntax of this configuration file,
31da177e4SLinus Torvalds# see Documentation/kbuild/kconfig-language.txt.
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsmainmenu "Linux Kernel Configuration"
71da177e4SLinus Torvalds
81da177e4SLinus Torvaldsconfig ARM
91da177e4SLinus Torvalds	bool
101da177e4SLinus Torvalds	default y
11e17c6d56SDavid Woodhouse	select HAVE_AOUT
122064c946SAdrian Bunk	select HAVE_IDE
132778f620SRussell King	select HAVE_MEMBLOCK
1412b824fbSAlessandro Zummo	select RTC_LIB
1575e7153aSRalf Baechle	select SYS_SUPPORTS_APM_EMULATION
1624b44a66SWill Deacon	select GENERIC_ATOMIC64 if (!CPU_32v6K)
17fe166148SWill Deacon	select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
185cbad0ebSJason Wessel	select HAVE_ARCH_KGDB
193f550096SMathieu Desnoyers	select HAVE_KPROBES if (!XIP_KERNEL)
209edddaa2SAnanth N Mavinakayanahalli	select HAVE_KRETPROBES if (HAVE_KPROBES)
21606576ceSSteven Rostedt	select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
221fe53268SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
23e7db7b42SAlbin Tonnerre	select HAVE_KERNEL_GZIP
24e7db7b42SAlbin Tonnerre	select HAVE_KERNEL_LZO
256e8699f7SAlbin Tonnerre	select HAVE_KERNEL_LZMA
267ada189fSJamie Iles	select HAVE_PERF_EVENTS
277ada189fSJamie Iles	select PERF_USE_VMALLOC
28e513f8bfSWill Deacon	select HAVE_REGS_AND_STACK_ACCESS_API
291da177e4SLinus Torvalds	help
301da177e4SLinus Torvalds	  The ARM series is a line of low-power-consumption RISC chip designs
31f6c8965aSMartin Michlmayr	  licensed by ARM Ltd and targeted at embedded applications and
321da177e4SLinus Torvalds	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
331da177e4SLinus Torvalds	  manufactured, but legacy ARM-based PC hardware remains popular in
341da177e4SLinus Torvalds	  Europe.  There is an ARM Linux project with a web page at
351da177e4SLinus Torvalds	  <http://www.arm.linux.org.uk/>.
361da177e4SLinus Torvalds
371a189b97SRussell Kingconfig HAVE_PWM
381a189b97SRussell King	bool
391a189b97SRussell King
4075e7153aSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
4175e7153aSRalf Baechle	bool
4275e7153aSRalf Baechle
430a938b97SDavid Brownellconfig GENERIC_GPIO
440a938b97SDavid Brownell	bool
450a938b97SDavid Brownell
465cfc8ee0SJohn Stultzconfig ARCH_USES_GETTIMEOFFSET
475cfc8ee0SJohn Stultz	bool
485cfc8ee0SJohn Stultz	default n
49746140c7SKevin Hilman
500567a0c0SKevin Hilmanconfig GENERIC_CLOCKEVENTS
510567a0c0SKevin Hilman	bool
520567a0c0SKevin Hilman
53a8655e83SCatalin Marinasconfig GENERIC_CLOCKEVENTS_BROADCAST
54a8655e83SCatalin Marinas	bool
55a8655e83SCatalin Marinas	depends on GENERIC_CLOCKEVENTS
565388a6b2SRussell King	default y if SMP
57a8655e83SCatalin Marinas
58bc581770SLinus Walleijconfig HAVE_TCM
59bc581770SLinus Walleij	bool
60bc581770SLinus Walleij	select GENERIC_ALLOCATOR
61bc581770SLinus Walleij
62e119bfffSRussell Kingconfig HAVE_PROC_CPU
63e119bfffSRussell King	bool
64e119bfffSRussell King
655ea81769SAl Viroconfig NO_IOPORT
665ea81769SAl Viro	bool
675ea81769SAl Viro
681da177e4SLinus Torvaldsconfig EISA
691da177e4SLinus Torvalds	bool
701da177e4SLinus Torvalds	---help---
711da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
721da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
731da177e4SLinus Torvalds
741da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
751da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
761da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
771da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
781da177e4SLinus Torvalds
791da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
801da177e4SLinus Torvalds
811da177e4SLinus Torvalds	  Otherwise, say N.
821da177e4SLinus Torvalds
831da177e4SLinus Torvaldsconfig SBUS
841da177e4SLinus Torvalds	bool
851da177e4SLinus Torvalds
861da177e4SLinus Torvaldsconfig MCA
871da177e4SLinus Torvalds	bool
881da177e4SLinus Torvalds	help
891da177e4SLinus Torvalds	  MicroChannel Architecture is found in some IBM PS/2 machines and
901da177e4SLinus Torvalds	  laptops.  It is a bus system similar to PCI or ISA. See
911da177e4SLinus Torvalds	  <file:Documentation/mca.txt> (and especially the web page given
921da177e4SLinus Torvalds	  there) before attempting to build an MCA bus kernel.
931da177e4SLinus Torvalds
944a2581a0SThomas Gleixnerconfig GENERIC_HARDIRQS
954a2581a0SThomas Gleixner	bool
964a2581a0SThomas Gleixner	default y
974a2581a0SThomas Gleixner
98f16fb1ecSRussell Kingconfig STACKTRACE_SUPPORT
99f16fb1ecSRussell King	bool
100f16fb1ecSRussell King	default y
101f16fb1ecSRussell King
102f76e9154SNicolas Pitreconfig HAVE_LATENCYTOP_SUPPORT
103f76e9154SNicolas Pitre	bool
104f76e9154SNicolas Pitre	depends on !SMP
105f76e9154SNicolas Pitre	default y
106f76e9154SNicolas Pitre
107f16fb1ecSRussell Kingconfig LOCKDEP_SUPPORT
108f16fb1ecSRussell King	bool
109f16fb1ecSRussell King	default y
110f16fb1ecSRussell King
1117ad1bcb2SRussell Kingconfig TRACE_IRQFLAGS_SUPPORT
1127ad1bcb2SRussell King	bool
1137ad1bcb2SRussell King	default y
1147ad1bcb2SRussell King
1154a2581a0SThomas Gleixnerconfig HARDIRQS_SW_RESEND
1164a2581a0SThomas Gleixner	bool
1174a2581a0SThomas Gleixner	default y
1184a2581a0SThomas Gleixner
1194a2581a0SThomas Gleixnerconfig GENERIC_IRQ_PROBE
1204a2581a0SThomas Gleixner	bool
1214a2581a0SThomas Gleixner	default y
1224a2581a0SThomas Gleixner
12395c354feSNick Pigginconfig GENERIC_LOCKBREAK
12495c354feSNick Piggin	bool
12595c354feSNick Piggin	default y
12695c354feSNick Piggin	depends on SMP && PREEMPT
12795c354feSNick Piggin
1281da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
1291da177e4SLinus Torvalds	bool
1301da177e4SLinus Torvalds	default y
1311da177e4SLinus Torvalds
1321da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
1331da177e4SLinus Torvalds	bool
1341da177e4SLinus Torvalds
135f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
136f0d1b0b3SDavid Howells	bool
137f0d1b0b3SDavid Howells
138f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
139f0d1b0b3SDavid Howells	bool
140f0d1b0b3SDavid Howells
14189c52ed4SBen Dooksconfig ARCH_HAS_CPUFREQ
14289c52ed4SBen Dooks	bool
14389c52ed4SBen Dooks	help
14489c52ed4SBen Dooks	  Internal node to signify that the ARCH has CPUFREQ support
14589c52ed4SBen Dooks	  and that the relevant menu configurations are displayed for
14689c52ed4SBen Dooks	  it.
14789c52ed4SBen Dooks
148b89c3b16SAkinobu Mitaconfig GENERIC_HWEIGHT
149b89c3b16SAkinobu Mita	bool
150b89c3b16SAkinobu Mita	default y
151b89c3b16SAkinobu Mita
1521da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
1531da177e4SLinus Torvalds	bool
1541da177e4SLinus Torvalds	default y
1551da177e4SLinus Torvalds
156a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC
157a08b6b79Sviro@ZenIV.linux.org.uk	bool
158a08b6b79Sviro@ZenIV.linux.org.uk
1595ac6da66SChristoph Lameterconfig ZONE_DMA
1605ac6da66SChristoph Lameter	bool
1615ac6da66SChristoph Lameter
162ccd7ab7fSFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
163ccd7ab7fSFUJITA Tomonori       def_bool y
164ccd7ab7fSFUJITA Tomonori
1651da177e4SLinus Torvaldsconfig GENERIC_ISA_DMA
1661da177e4SLinus Torvalds	bool
1671da177e4SLinus Torvalds
1681da177e4SLinus Torvaldsconfig FIQ
1691da177e4SLinus Torvalds	bool
1701da177e4SLinus Torvalds
171034d2f5aSAl Viroconfig ARCH_MTD_XIP
172034d2f5aSAl Viro	bool
173034d2f5aSAl Viro
17460a752efSPaulius Zaleckasconfig GENERIC_HARDIRQS_NO__DO_IRQ
17560a752efSPaulius Zaleckas	def_bool y
17660a752efSPaulius Zaleckas
177d6d502faSKukjin Kimconfig ARM_L1_CACHE_SHIFT_6
178d6d502faSKukjin Kim	bool
179d6d502faSKukjin Kim	help
180d6d502faSKukjin Kim	  Setting ARM L1 cache line size to 64 Bytes.
181d6d502faSKukjin Kim
182c760fc19SHyok S. Choiconfig VECTORS_BASE
183c760fc19SHyok S. Choi	hex
1846afd6faeSHyok S. Choi	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
185c760fc19SHyok S. Choi	default DRAM_BASE if REMAP_VECTORS_TO_RAM
186c760fc19SHyok S. Choi	default 0x00000000
187c760fc19SHyok S. Choi	help
188c760fc19SHyok S. Choi	  The base address of exception vectors.
189c760fc19SHyok S. Choi
1901da177e4SLinus Torvaldssource "init/Kconfig"
1911da177e4SLinus Torvalds
192dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
193dc52ddc0SMatt Helsley
1941da177e4SLinus Torvaldsmenu "System Type"
1951da177e4SLinus Torvalds
1963c427975SHyok S. Choiconfig MMU
1973c427975SHyok S. Choi	bool "MMU-based Paged Memory Management Support"
1983c427975SHyok S. Choi	default y
1993c427975SHyok S. Choi	help
2003c427975SHyok S. Choi	  Select if you want MMU-based virtualised addressing space
2013c427975SHyok S. Choi	  support by paged memory management. If unsure, say 'Y'.
2023c427975SHyok S. Choi
203ccf50e23SRussell King#
204ccf50e23SRussell King# The "ARM system type" choice list is ordered alphabetically by option
205ccf50e23SRussell King# text.  Please add new entries in the option alphabetic order.
206ccf50e23SRussell King#
2071da177e4SLinus Torvaldschoice
2081da177e4SLinus Torvalds	prompt "ARM system type"
2096a0e2430SCatalin Marinas	default ARCH_VERSATILE
2101da177e4SLinus Torvalds
2114af6fee1SDeepak Saxenaconfig ARCH_AAEC2000
2124af6fee1SDeepak Saxena	bool "Agilent AAEC-2000 based"
213c750815eSRussell King	select CPU_ARM920T
2144af6fee1SDeepak Saxena	select ARM_AMBA
2159483a578SDavid Brownell	select HAVE_CLK
2165cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
2174af6fee1SDeepak Saxena	help
2184af6fee1SDeepak Saxena	  This enables support for systems based on the Agilent AAEC-2000
2194af6fee1SDeepak Saxena
2204af6fee1SDeepak Saxenaconfig ARCH_INTEGRATOR
2214af6fee1SDeepak Saxena	bool "ARM Ltd. Integrator family"
2224af6fee1SDeepak Saxena	select ARM_AMBA
22389c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
224d72fbdf0SRussell King	select COMMON_CLKDEV
225c5a0adb5SRussell King	select ICST
22613edd86dSRussell King	select GENERIC_CLOCKEVENTS
227f4b8b319SRussell King	select PLAT_VERSATILE
2284af6fee1SDeepak Saxena	help
2294af6fee1SDeepak Saxena	  Support for ARM's Integrator platform.
2304af6fee1SDeepak Saxena
2314af6fee1SDeepak Saxenaconfig ARCH_REALVIEW
2324af6fee1SDeepak Saxena	bool "ARM Ltd. RealView family"
2334af6fee1SDeepak Saxena	select ARM_AMBA
234cf30fb4aSRussell King	select COMMON_CLKDEV
235c5a0adb5SRussell King	select ICST
236ae30ceacSCatalin Marinas	select GENERIC_CLOCKEVENTS
237eb7fffa3SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
238f4b8b319SRussell King	select PLAT_VERSATILE
239e3887714SRussell King	select ARM_TIMER_SP804
240b56ba8aaSColin Tuckley	select GPIO_PL061 if GPIOLIB
2414af6fee1SDeepak Saxena	help
2424af6fee1SDeepak Saxena	  This enables support for ARM Ltd RealView boards.
2434af6fee1SDeepak Saxena
2444af6fee1SDeepak Saxenaconfig ARCH_VERSATILE
2454af6fee1SDeepak Saxena	bool "ARM Ltd. Versatile family"
2464af6fee1SDeepak Saxena	select ARM_AMBA
2474af6fee1SDeepak Saxena	select ARM_VIC
24871a06da0SRussell King	select COMMON_CLKDEV
249c5a0adb5SRussell King	select ICST
25089df1272SKevin Hilman	select GENERIC_CLOCKEVENTS
251bbeddc43SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
252f4b8b319SRussell King	select PLAT_VERSATILE
253e3887714SRussell King	select ARM_TIMER_SP804
2544af6fee1SDeepak Saxena	help
2554af6fee1SDeepak Saxena	  This enables support for ARM Ltd Versatile board.
2564af6fee1SDeepak Saxena
257ceade897SRussell Kingconfig ARCH_VEXPRESS
258ceade897SRussell King	bool "ARM Ltd. Versatile Express family"
259ceade897SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
260ceade897SRussell King	select ARM_AMBA
261ceade897SRussell King	select ARM_TIMER_SP804
262ceade897SRussell King	select COMMON_CLKDEV
263ceade897SRussell King	select GENERIC_CLOCKEVENTS
264ceade897SRussell King	select HAVE_CLK
265ceade897SRussell King	select ICST
266ceade897SRussell King	select PLAT_VERSATILE
267ceade897SRussell King	help
268ceade897SRussell King	  This enables support for the ARM Ltd Versatile Express boards.
269ceade897SRussell King
2708fc5ffa0SAndrew Victorconfig ARCH_AT91
2718fc5ffa0SAndrew Victor	bool "Atmel AT91"
272f373e8c0SRyan Mallon	select ARCH_REQUIRE_GPIOLIB
27393686ae8SDavid Brownell	select HAVE_CLK
2745cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
2754af6fee1SDeepak Saxena	help
2762b3b3516SAndrew Victor	  This enables support for systems based on the Atmel AT91RM9200,
2772b3b3516SAndrew Victor	  AT91SAM9 and AT91CAP9 processors.
2784af6fee1SDeepak Saxena
279ccf50e23SRussell Kingconfig ARCH_BCMRING
280ccf50e23SRussell King	bool "Broadcom BCMRING"
281ccf50e23SRussell King	depends on MMU
282ccf50e23SRussell King	select CPU_V6
283ccf50e23SRussell King	select ARM_AMBA
284ccf50e23SRussell King	select COMMON_CLKDEV
285ccf50e23SRussell King	select GENERIC_CLOCKEVENTS
286ccf50e23SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
287ccf50e23SRussell King	help
288ccf50e23SRussell King	  Support for Broadcom's BCMRing platform.
289ccf50e23SRussell King
2901da177e4SLinus Torvaldsconfig ARCH_CLPS711X
2914af6fee1SDeepak Saxena	bool "Cirrus Logic CLPS711x/EP721x-based"
292c750815eSRussell King	select CPU_ARM720T
2935cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
294f999b8bdSMartin Michlmayr	help
295f999b8bdSMartin Michlmayr	  Support for Cirrus Logic 711x/721x based boards.
2961da177e4SLinus Torvalds
297d94f944eSAnton Vorontsovconfig ARCH_CNS3XXX
298d94f944eSAnton Vorontsov	bool "Cavium Networks CNS3XXX family"
299d94f944eSAnton Vorontsov	select CPU_V6
300d94f944eSAnton Vorontsov	select GENERIC_CLOCKEVENTS
301d94f944eSAnton Vorontsov	select ARM_GIC
3025f32f7a0SAnton Vorontsov	select PCI_DOMAINS if PCI
303d94f944eSAnton Vorontsov	help
304d94f944eSAnton Vorontsov	  Support for Cavium Networks CNS3XXX platform.
305d94f944eSAnton Vorontsov
306788c9700SRussell Kingconfig ARCH_GEMINI
307788c9700SRussell King	bool "Cortina Systems Gemini"
308788c9700SRussell King	select CPU_FA526
309788c9700SRussell King	select ARCH_REQUIRE_GPIOLIB
3105cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
311788c9700SRussell King	help
312788c9700SRussell King	  Support for the Cortina Systems Gemini family SoCs
313788c9700SRussell King
3141da177e4SLinus Torvaldsconfig ARCH_EBSA110
3151da177e4SLinus Torvalds	bool "EBSA-110"
316c750815eSRussell King	select CPU_SA110
317f7e68bbfSRussell King	select ISA
318c5eb2a2bSRussell King	select NO_IOPORT
3195cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
3201da177e4SLinus Torvalds	help
3211da177e4SLinus Torvalds	  This is an evaluation board for the StrongARM processor available
322f6c8965aSMartin Michlmayr	  from Digital. It has limited hardware on-board, including an
3231da177e4SLinus Torvalds	  Ethernet interface, two PCMCIA sockets, two serial ports and a
3241da177e4SLinus Torvalds	  parallel port.
3251da177e4SLinus Torvalds
326e7736d47SLennert Buytenhekconfig ARCH_EP93XX
327e7736d47SLennert Buytenhek	bool "EP93xx-based"
328c750815eSRussell King	select CPU_ARM920T
329e7736d47SLennert Buytenhek	select ARM_AMBA
330e7736d47SLennert Buytenhek	select ARM_VIC
331ae696fd5SRussell King	select COMMON_CLKDEV
3327444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
333eb33575cSMel Gorman	select ARCH_HAS_HOLES_MEMORYMODEL
3345cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
335e7736d47SLennert Buytenhek	help
336e7736d47SLennert Buytenhek	  This enables support for the Cirrus EP93xx series of CPUs.
337e7736d47SLennert Buytenhek
3381da177e4SLinus Torvaldsconfig ARCH_FOOTBRIDGE
3391da177e4SLinus Torvalds	bool "FootBridge"
340c750815eSRussell King	select CPU_SA110
3411da177e4SLinus Torvalds	select FOOTBRIDGE
3425cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
343f999b8bdSMartin Michlmayr	help
344f999b8bdSMartin Michlmayr	  Support for systems based on the DC21285 companion chip
345f999b8bdSMartin Michlmayr	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
3461da177e4SLinus Torvalds
347788c9700SRussell Kingconfig ARCH_MXC
348788c9700SRussell King	bool "Freescale MXC/iMX-based"
349788c9700SRussell King	select GENERIC_CLOCKEVENTS
350788c9700SRussell King	select ARCH_REQUIRE_GPIOLIB
35103e09cd8SUwe Kleine-König	select COMMON_CLKDEV
352788c9700SRussell King	help
353788c9700SRussell King	  Support for Freescale MXC/iMX-based family of processors
354788c9700SRussell King
3557bd0f2f5Sdmitry pervushinconfig ARCH_STMP3XXX
3567bd0f2f5Sdmitry pervushin	bool "Freescale STMP3xxx"
3577bd0f2f5Sdmitry pervushin	select CPU_ARM926T
3587bd0f2f5Sdmitry pervushin	select COMMON_CLKDEV
3597bd0f2f5Sdmitry pervushin	select ARCH_REQUIRE_GPIOLIB
3607bd0f2f5Sdmitry pervushin	select GENERIC_CLOCKEVENTS
3617bd0f2f5Sdmitry pervushin	select USB_ARCH_HAS_EHCI
3627bd0f2f5Sdmitry pervushin	help
3637bd0f2f5Sdmitry pervushin	  Support for systems based on the Freescale 3xxx CPUs.
3647bd0f2f5Sdmitry pervushin
3654af6fee1SDeepak Saxenaconfig ARCH_NETX
3664af6fee1SDeepak Saxena	bool "Hilscher NetX based"
367c750815eSRussell King	select CPU_ARM926T
3684af6fee1SDeepak Saxena	select ARM_VIC
3692fcfe6b8SUwe Kleine-König	select GENERIC_CLOCKEVENTS
370f999b8bdSMartin Michlmayr	help
3714af6fee1SDeepak Saxena	  This enables support for systems based on the Hilscher NetX Soc
3724af6fee1SDeepak Saxena
3734af6fee1SDeepak Saxenaconfig ARCH_H720X
3744af6fee1SDeepak Saxena	bool "Hynix HMS720x-based"
375c750815eSRussell King	select CPU_ARM720T
3764af6fee1SDeepak Saxena	select ISA_DMA_API
3775cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
3784af6fee1SDeepak Saxena	help
3794af6fee1SDeepak Saxena	  This enables support for systems based on the Hynix HMS720x
3804af6fee1SDeepak Saxena
3813b938be6SRussell Kingconfig ARCH_IOP13XX
3823b938be6SRussell King	bool "IOP13xx-based"
3833b938be6SRussell King	depends on MMU
384c750815eSRussell King	select CPU_XSC3
3853b938be6SRussell King	select PLAT_IOP
3863b938be6SRussell King	select PCI
3873b938be6SRussell King	select ARCH_SUPPORTS_MSI
3888d5796d2SLennert Buytenhek	select VMSPLIT_1G
3893b938be6SRussell King	help
3903b938be6SRussell King	  Support for Intel's IOP13XX (XScale) family of processors.
3913b938be6SRussell King
3923f7e5815SLennert Buytenhekconfig ARCH_IOP32X
3933f7e5815SLennert Buytenhek	bool "IOP32x-based"
394a4f7e763SRussell King	depends on MMU
395c750815eSRussell King	select CPU_XSCALE
3967ae1f7ecSLennert Buytenhek	select PLAT_IOP
397f7e68bbfSRussell King	select PCI
398bb2b180cSRussell King	select ARCH_REQUIRE_GPIOLIB
399f999b8bdSMartin Michlmayr	help
4003f7e5815SLennert Buytenhek	  Support for Intel's 80219 and IOP32X (XScale) family of
4013f7e5815SLennert Buytenhek	  processors.
4023f7e5815SLennert Buytenhek
4033f7e5815SLennert Buytenhekconfig ARCH_IOP33X
4043f7e5815SLennert Buytenhek	bool "IOP33x-based"
4053f7e5815SLennert Buytenhek	depends on MMU
406c750815eSRussell King	select CPU_XSCALE
4077ae1f7ecSLennert Buytenhek	select PLAT_IOP
4083f7e5815SLennert Buytenhek	select PCI
409bb2b180cSRussell King	select ARCH_REQUIRE_GPIOLIB
4103f7e5815SLennert Buytenhek	help
4113f7e5815SLennert Buytenhek	  Support for Intel's IOP33X (XScale) family of processors.
4121da177e4SLinus Torvalds
4133b938be6SRussell Kingconfig ARCH_IXP23XX
4143b938be6SRussell King 	bool "IXP23XX-based"
415588ef769SDan Williams	depends on MMU
416c750815eSRussell King	select CPU_XSC3
417285f5fa7SDan Williams 	select PCI
4185cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
419285f5fa7SDan Williams	help
4203b938be6SRussell King	  Support for Intel's IXP23xx (XScale) family of processors.
4211da177e4SLinus Torvalds
4221da177e4SLinus Torvaldsconfig ARCH_IXP2000
4231da177e4SLinus Torvalds	bool "IXP2400/2800-based"
424a4f7e763SRussell King	depends on MMU
425c750815eSRussell King	select CPU_XSCALE
426f7e68bbfSRussell King	select PCI
4275cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
428f999b8bdSMartin Michlmayr	help
429f999b8bdSMartin Michlmayr	  Support for Intel's IXP2400/2800 (XScale) family of processors.
4301da177e4SLinus Torvalds
4313b938be6SRussell Kingconfig ARCH_IXP4XX
4323b938be6SRussell King	bool "IXP4xx-based"
433a4f7e763SRussell King	depends on MMU
434c750815eSRussell King	select CPU_XSCALE
4358858e9afSMilan Svoboda	select GENERIC_GPIO
4363b938be6SRussell King	select GENERIC_CLOCKEVENTS
437485bdde7SRussell King	select DMABOUNCE if PCI
438c4713074SLennert Buytenhek	help
4393b938be6SRussell King	  Support for Intel's IXP4XX (XScale) family of processors.
440c4713074SLennert Buytenhek
441edabd38eSSaeed Bisharaconfig ARCH_DOVE
442edabd38eSSaeed Bishara	bool "Marvell Dove"
443edabd38eSSaeed Bishara	select PCI
444edabd38eSSaeed Bishara	select ARCH_REQUIRE_GPIOLIB
445edabd38eSSaeed Bishara	select GENERIC_CLOCKEVENTS
446edabd38eSSaeed Bishara	select PLAT_ORION
447edabd38eSSaeed Bishara	help
448edabd38eSSaeed Bishara	  Support for the Marvell Dove SoC 88AP510
449edabd38eSSaeed Bishara
450651c74c7SSaeed Bisharaconfig ARCH_KIRKWOOD
451651c74c7SSaeed Bishara	bool "Marvell Kirkwood"
452c750815eSRussell King	select CPU_FEROCEON
453651c74c7SSaeed Bishara	select PCI
454a8865655SErik Benada	select ARCH_REQUIRE_GPIOLIB
455651c74c7SSaeed Bishara	select GENERIC_CLOCKEVENTS
456651c74c7SSaeed Bishara	select PLAT_ORION
457651c74c7SSaeed Bishara	help
458651c74c7SSaeed Bishara	  Support for the following Marvell Kirkwood series SoCs:
459651c74c7SSaeed Bishara	  88F6180, 88F6192 and 88F6281.
460651c74c7SSaeed Bishara
461788c9700SRussell Kingconfig ARCH_LOKI
462788c9700SRussell King	bool "Marvell Loki (88RC8480)"
463788c9700SRussell King	select CPU_FEROCEON
464788c9700SRussell King	select GENERIC_CLOCKEVENTS
465788c9700SRussell King	select PLAT_ORION
466788c9700SRussell King	help
467788c9700SRussell King	  Support for the Marvell Loki (88RC8480) SoC.
468788c9700SRussell King
46940805949SKevin Wellsconfig ARCH_LPC32XX
47040805949SKevin Wells	bool "NXP LPC32XX"
47140805949SKevin Wells	select CPU_ARM926T
47240805949SKevin Wells	select ARCH_REQUIRE_GPIOLIB
47340805949SKevin Wells	select HAVE_IDE
47440805949SKevin Wells	select ARM_AMBA
47540805949SKevin Wells	select USB_ARCH_HAS_OHCI
47640805949SKevin Wells	select COMMON_CLKDEV
47740805949SKevin Wells	select GENERIC_TIME
47840805949SKevin Wells	select GENERIC_CLOCKEVENTS
47940805949SKevin Wells	help
48040805949SKevin Wells	  Support for the NXP LPC32XX family of processors
48140805949SKevin Wells
482788c9700SRussell Kingconfig ARCH_MV78XX0
483788c9700SRussell King	bool "Marvell MV78xx0"
484788c9700SRussell King	select CPU_FEROCEON
485788c9700SRussell King	select PCI
486a8865655SErik Benada	select ARCH_REQUIRE_GPIOLIB
487788c9700SRussell King	select GENERIC_CLOCKEVENTS
488788c9700SRussell King	select PLAT_ORION
489788c9700SRussell King	help
490788c9700SRussell King	  Support for the following Marvell MV78xx0 series SoCs:
491788c9700SRussell King	  MV781x0, MV782x0.
492788c9700SRussell King
493788c9700SRussell Kingconfig ARCH_ORION5X
494788c9700SRussell King	bool "Marvell Orion"
495788c9700SRussell King	depends on MMU
496788c9700SRussell King	select CPU_FEROCEON
497788c9700SRussell King	select PCI
498a8865655SErik Benada	select ARCH_REQUIRE_GPIOLIB
499788c9700SRussell King	select GENERIC_CLOCKEVENTS
500788c9700SRussell King	select PLAT_ORION
501788c9700SRussell King	help
502788c9700SRussell King	  Support for the following Marvell Orion 5x series SoCs:
503788c9700SRussell King	  Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
504788c9700SRussell King	  Orion-2 (5281), Orion-1-90 (6183).
505788c9700SRussell King
506788c9700SRussell Kingconfig ARCH_MMP
5072f7e8faeSHaojian Zhuang	bool "Marvell PXA168/910/MMP2"
508788c9700SRussell King	depends on MMU
509788c9700SRussell King	select ARCH_REQUIRE_GPIOLIB
510788c9700SRussell King	select COMMON_CLKDEV
511788c9700SRussell King	select GENERIC_CLOCKEVENTS
512788c9700SRussell King	select TICK_ONESHOT
513788c9700SRussell King	select PLAT_PXA
514788c9700SRussell King	help
5152f7e8faeSHaojian Zhuang	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
516788c9700SRussell King
517c53c9cf6SAndrew Victorconfig ARCH_KS8695
518c53c9cf6SAndrew Victor	bool "Micrel/Kendin KS8695"
519c750815eSRussell King	select CPU_ARM922T
52072880ad8SDaniel Silverstone	select ARCH_REQUIRE_GPIOLIB
5215cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
522c53c9cf6SAndrew Victor	help
523c53c9cf6SAndrew Victor	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
524c53c9cf6SAndrew Victor	  System-on-Chip devices.
525c53c9cf6SAndrew Victor
5269918cda5SUwe Kleine-Königconfig ARCH_NS9XXX
5279918cda5SUwe Kleine-König	bool "NetSilicon NS9xxx"
528c750815eSRussell King	select CPU_ARM926T
529689f2a01SUwe Kleine-König	select GENERIC_GPIO
530c0bb87f7SUwe Kleine-König	select GENERIC_CLOCKEVENTS
5319483a578SDavid Brownell	select HAVE_CLK
5329918cda5SUwe Kleine-König	help
5339918cda5SUwe Kleine-König	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
5349918cda5SUwe Kleine-König	  System.
5359918cda5SUwe Kleine-König
5369918cda5SUwe Kleine-König	  <http://www.digi.com/products/microprocessors/index.jsp>
5379918cda5SUwe Kleine-König
538788c9700SRussell Kingconfig ARCH_W90X900
539788c9700SRussell King	bool "Nuvoton W90X900 CPU"
540788c9700SRussell King	select CPU_ARM926T
541c52d3d68Swanzongshun	select ARCH_REQUIRE_GPIOLIB
5420e4a34bbSwanzongshun	select COMMON_CLKDEV
54358b5369eSwanzongshun	select GENERIC_CLOCKEVENTS
544777f9bebSLennert Buytenhek	help
545a8bc4eadSwanzongshun	  Support for Nuvoton (Winbond logic dept.) ARM9 processor,
546a8bc4eadSwanzongshun	  At present, the w90x900 has been renamed nuc900, regarding
547a8bc4eadSwanzongshun	  the ARM series product line, you can login the following
548a8bc4eadSwanzongshun	  link address to know more.
549a8bc4eadSwanzongshun
550a8bc4eadSwanzongshun	  <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
551a8bc4eadSwanzongshun		ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
552585cf175STzachi Perelstein
553a62e9030Swanzongshunconfig ARCH_NUC93X
554a62e9030Swanzongshun	bool "Nuvoton NUC93X CPU"
555a62e9030Swanzongshun	select CPU_ARM926T
556a62e9030Swanzongshun	select COMMON_CLKDEV
557a62e9030Swanzongshun	help
558a62e9030Swanzongshun	  Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
559a62e9030Swanzongshun	  low-power and high performance MPEG-4/JPEG multimedia controller chip.
560a62e9030Swanzongshun
561c5f80065SErik Gillingconfig ARCH_TEGRA
562c5f80065SErik Gilling	bool "NVIDIA Tegra"
563c5f80065SErik Gilling	select GENERIC_TIME
564c5f80065SErik Gilling	select GENERIC_CLOCKEVENTS
565c5f80065SErik Gilling	select GENERIC_GPIO
566c5f80065SErik Gilling	select HAVE_CLK
567d8611961SColin Cross	select COMMON_CLKDEV
568c5f80065SErik Gilling	select ARCH_HAS_BARRIERS if CACHE_L2X0
569c5f80065SErik Gilling	help
570c5f80065SErik Gilling	  This enables support for NVIDIA Tegra based systems (Tegra APX,
571c5f80065SErik Gilling	  Tegra 6xx and Tegra 2 series).
572c5f80065SErik Gilling
5734af6fee1SDeepak Saxenaconfig ARCH_PNX4008
5744af6fee1SDeepak Saxena	bool "Philips Nexperia PNX4008 Mobile"
575c750815eSRussell King	select CPU_ARM926T
5766985a5adSRussell King	select COMMON_CLKDEV
5775cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
5784af6fee1SDeepak Saxena	help
5794af6fee1SDeepak Saxena	  This enables support for Philips PNX4008 mobile platform.
5804af6fee1SDeepak Saxena
5811da177e4SLinus Torvaldsconfig ARCH_PXA
5822c8086a5Seric miao	bool "PXA2xx/PXA3xx-based"
583a4f7e763SRussell King	depends on MMU
584034d2f5aSAl Viro	select ARCH_MTD_XIP
58589c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
5868c3abc7dSRussell King	select COMMON_CLKDEV
5877444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
588981d0f39SEric Miao	select GENERIC_CLOCKEVENTS
589a88264c2SRussell King	select TICK_ONESHOT
590bd5ce433SEric Miao	select PLAT_PXA
591f999b8bdSMartin Michlmayr	help
5922c8086a5Seric miao	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
5931da177e4SLinus Torvalds
594788c9700SRussell Kingconfig ARCH_MSM
595788c9700SRussell King	bool "Qualcomm MSM"
5964b536b8dSSteve Muckle	select HAVE_CLK
59749cbe786SEric Miao	select GENERIC_CLOCKEVENTS
598923a081cSPavel Machek	select ARCH_REQUIRE_GPIOLIB
59949cbe786SEric Miao	help
6004b53eb4fSDaniel Walker	  Support for Qualcomm MSM/QSD based systems.  This runs on the
6014b53eb4fSDaniel Walker	  apps processor of the MSM/QSD and depends on a shared memory
6024b53eb4fSDaniel Walker	  interface to the modem processor which runs the baseband
6034b53eb4fSDaniel Walker	  stack and controls some vital subsystems
6044b53eb4fSDaniel Walker	  (clock and power control, etc).
60549cbe786SEric Miao
606c793c1b0SMagnus Dammconfig ARCH_SHMOBILE
607c793c1b0SMagnus Damm	bool "Renesas SH-Mobile"
608c793c1b0SMagnus Damm	help
609c793c1b0SMagnus Damm	  Support for Renesas's SH-Mobile ARM platforms
610c793c1b0SMagnus Damm
6111da177e4SLinus Torvaldsconfig ARCH_RPC
6121da177e4SLinus Torvalds	bool "RiscPC"
6131da177e4SLinus Torvalds	select ARCH_ACORN
6141da177e4SLinus Torvalds	select FIQ
6151da177e4SLinus Torvalds	select TIMER_ACORN
616a08b6b79Sviro@ZenIV.linux.org.uk	select ARCH_MAY_HAVE_PC_FDC
617341eb781SBen Dooks	select HAVE_PATA_PLATFORM
618065909b9SRussell King	select ISA_DMA_API
6195ea81769SAl Viro	select NO_IOPORT
62007f841b7SRussell King	select ARCH_SPARSEMEM_ENABLE
6215cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
6221da177e4SLinus Torvalds	help
6231da177e4SLinus Torvalds	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
6241da177e4SLinus Torvalds	  CD-ROM interface, serial and parallel port, and the floppy drive.
6251da177e4SLinus Torvalds
6261da177e4SLinus Torvaldsconfig ARCH_SA1100
6271da177e4SLinus Torvalds	bool "SA1100-based"
628c750815eSRussell King	select CPU_SA1100
629f7e68bbfSRussell King	select ISA
63005944d74SRussell King	select ARCH_SPARSEMEM_ENABLE
631034d2f5aSAl Viro	select ARCH_MTD_XIP
63289c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
6331937f5b9SRussell King	select CPU_FREQ
6343e238be2SRussell King	select GENERIC_CLOCKEVENTS
6359483a578SDavid Brownell	select HAVE_CLK
6363e238be2SRussell King	select TICK_ONESHOT
6377444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
638f999b8bdSMartin Michlmayr	help
639f999b8bdSMartin Michlmayr	  Support for StrongARM 11x0 based boards.
6401da177e4SLinus Torvalds
6411da177e4SLinus Torvaldsconfig ARCH_S3C2410
64263b1f51bSBen Dooks	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450"
6430a938b97SDavid Brownell	select GENERIC_GPIO
6449d56c02aSBen Dooks	select ARCH_HAS_CPUFREQ
6459483a578SDavid Brownell	select HAVE_CLK
6465cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
6474b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
6481da177e4SLinus Torvalds	help
6491da177e4SLinus Torvalds	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
6501da177e4SLinus Torvalds	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
651f6c8965aSMartin Michlmayr	  the Samsung SMDK2410 development board (and derivatives).
6521da177e4SLinus Torvalds
65363b1f51bSBen Dooks	  Note, the S3C2416 and the S3C2450 are so close that they even share
65463b1f51bSBen Dooks	  the same SoC ID code. This means that there is no seperate machine
65563b1f51bSBen Dooks	  directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
65663b1f51bSBen Dooks
657a08ab637SBen Dooksconfig ARCH_S3C64XX
658a08ab637SBen Dooks	bool "Samsung S3C64XX"
65989f1fa08SBen Dooks	select PLAT_SAMSUNG
66089f0ce72SBen Dooks	select CPU_V6
66189f0ce72SBen Dooks	select ARM_VIC
662a08ab637SBen Dooks	select HAVE_CLK
66389f0ce72SBen Dooks	select NO_IOPORT
6645cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
66589c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
66689f0ce72SBen Dooks	select ARCH_REQUIRE_GPIOLIB
66789f0ce72SBen Dooks	select SAMSUNG_CLKSRC
66889f0ce72SBen Dooks	select SAMSUNG_IRQ_VIC_TIMER
66989f0ce72SBen Dooks	select SAMSUNG_IRQ_UART
67089f0ce72SBen Dooks	select S3C_GPIO_TRACK
67189f0ce72SBen Dooks	select S3C_GPIO_PULL_UPDOWN
67289f0ce72SBen Dooks	select S3C_GPIO_CFG_S3C24XX
67389f0ce72SBen Dooks	select S3C_GPIO_CFG_S3C64XX
67489f0ce72SBen Dooks	select S3C_DEV_NAND
67589f0ce72SBen Dooks	select USB_ARCH_HAS_OHCI
67689f0ce72SBen Dooks	select SAMSUNG_GPIOLIB_4BIT
6774b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
678d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
679a08ab637SBen Dooks	help
680a08ab637SBen Dooks	  Samsung S3C64XX series based systems
681a08ab637SBen Dooks
682c4ffccddSKukjin Kimconfig ARCH_S5P6440
683c4ffccddSKukjin Kim	bool "Samsung S5P6440"
684c4ffccddSKukjin Kim	select CPU_V6
685c4ffccddSKukjin Kim	select GENERIC_GPIO
686c4ffccddSKukjin Kim	select HAVE_CLK
687d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
688925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
6894b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
69003eb2749SAtul Dahiya	select HAVE_S3C_RTC
691c4ffccddSKukjin Kim	help
692c4ffccddSKukjin Kim	  Samsung S5P6440 CPU based systems
693c4ffccddSKukjin Kim
694550db7f1SKukjin Kimconfig ARCH_S5P6442
695550db7f1SKukjin Kim	bool "Samsung S5P6442"
696550db7f1SKukjin Kim	select CPU_V6
697550db7f1SKukjin Kim	select GENERIC_GPIO
698550db7f1SKukjin Kim	select HAVE_CLK
699925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
700d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
701550db7f1SKukjin Kim	help
702550db7f1SKukjin Kim	  Samsung S5P6442 CPU based systems
703550db7f1SKukjin Kim
704acc84707SMarek Szyprowskiconfig ARCH_S5PC100
705acc84707SMarek Szyprowski	bool "Samsung S5PC100"
7065a7652f2SByungho Min	select GENERIC_GPIO
7075a7652f2SByungho Min	select HAVE_CLK
7085a7652f2SByungho Min	select CPU_V7
709d6d502faSKukjin Kim	select ARM_L1_CACHE_SHIFT_6
710925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
7114b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
71203eb2749SAtul Dahiya	select HAVE_S3C_RTC
713d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
7145a7652f2SByungho Min	help
715acc84707SMarek Szyprowski	  Samsung S5PC100 series based systems
7165a7652f2SByungho Min
717170f4e42SKukjin Kimconfig ARCH_S5PV210
718170f4e42SKukjin Kim	bool "Samsung S5PV210/S5PC110"
719170f4e42SKukjin Kim	select CPU_V7
720170f4e42SKukjin Kim	select GENERIC_GPIO
721170f4e42SKukjin Kim	select HAVE_CLK
722170f4e42SKukjin Kim	select ARM_L1_CACHE_SHIFT_6
723925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
7244b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
72503eb2749SAtul Dahiya	select HAVE_S3C_RTC
726d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
727170f4e42SKukjin Kim	help
728170f4e42SKukjin Kim	  Samsung S5PV210/S5PC110 series based systems
729170f4e42SKukjin Kim
730cc0e72b8SChanghwan Younconfig ARCH_S5PV310
731cc0e72b8SChanghwan Youn	bool "Samsung S5PV310/S5PC210"
732cc0e72b8SChanghwan Youn	select CPU_V7
733cc0e72b8SChanghwan Youn	select GENERIC_GPIO
734cc0e72b8SChanghwan Youn	select HAVE_CLK
735cc0e72b8SChanghwan Youn	select GENERIC_CLOCKEVENTS
736cc0e72b8SChanghwan Youn	help
737cc0e72b8SChanghwan Youn	  Samsung S5PV310 series based systems
738cc0e72b8SChanghwan Youn
7391da177e4SLinus Torvaldsconfig ARCH_SHARK
7401da177e4SLinus Torvalds	bool "Shark"
741c750815eSRussell King	select CPU_SA110
742f7e68bbfSRussell King	select ISA
743f7e68bbfSRussell King	select ISA_DMA
7443bca103aSNicolas Pitre	select ZONE_DMA
745f7e68bbfSRussell King	select PCI
7465cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
747f999b8bdSMartin Michlmayr	help
748f999b8bdSMartin Michlmayr	  Support for the StrongARM based Digital DNARD machine, also known
749f999b8bdSMartin Michlmayr	  as "Shark" (<http://www.shark-linux.de/shark.html>).
7501da177e4SLinus Torvalds
7511da177e4SLinus Torvaldsconfig ARCH_LH7A40X
7521da177e4SLinus Torvalds	bool "Sharp LH7A40X"
753c750815eSRussell King	select CPU_ARM922T
7544ba3f7c5SRussell King	select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
7555cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
7561da177e4SLinus Torvalds	help
7571da177e4SLinus Torvalds	  Say Y here for systems based on one of the Sharp LH7A40X
7581da177e4SLinus Torvalds	  System on a Chip processors.  These CPUs include an ARM922T
7591da177e4SLinus Torvalds	  core with a wide array of integrated devices for
7601da177e4SLinus Torvalds	  hand-held and low-power applications.
7611da177e4SLinus Torvalds
762d98aac75SLinus Walleijconfig ARCH_U300
763d98aac75SLinus Walleij	bool "ST-Ericsson U300 Series"
764d98aac75SLinus Walleij	depends on MMU
765d98aac75SLinus Walleij	select CPU_ARM926T
766bc581770SLinus Walleij	select HAVE_TCM
767d98aac75SLinus Walleij	select ARM_AMBA
768d98aac75SLinus Walleij	select ARM_VIC
769d98aac75SLinus Walleij	select GENERIC_CLOCKEVENTS
770d98aac75SLinus Walleij	select COMMON_CLKDEV
771d98aac75SLinus Walleij	select GENERIC_GPIO
772d98aac75SLinus Walleij	help
773d98aac75SLinus Walleij	  Support for ST-Ericsson U300 series mobile platforms.
774d98aac75SLinus Walleij
775ccf50e23SRussell Kingconfig ARCH_U8500
776ccf50e23SRussell King	bool "ST-Ericsson U8500 Series"
777ccf50e23SRussell King	select CPU_V7
778ccf50e23SRussell King	select ARM_AMBA
779ccf50e23SRussell King	select GENERIC_CLOCKEVENTS
780ccf50e23SRussell King	select COMMON_CLKDEV
78194bdc0e2SRabin Vincent	select ARCH_REQUIRE_GPIOLIB
782ccf50e23SRussell King	help
783ccf50e23SRussell King	  Support for ST-Ericsson's Ux500 architecture
784ccf50e23SRussell King
785ccf50e23SRussell Kingconfig ARCH_NOMADIK
786ccf50e23SRussell King	bool "STMicroelectronics Nomadik"
787ccf50e23SRussell King	select ARM_AMBA
788ccf50e23SRussell King	select ARM_VIC
789ccf50e23SRussell King	select CPU_ARM926T
790ccf50e23SRussell King	select COMMON_CLKDEV
791ccf50e23SRussell King	select GENERIC_CLOCKEVENTS
792ccf50e23SRussell King	select ARCH_REQUIRE_GPIOLIB
793ccf50e23SRussell King	help
794ccf50e23SRussell King	  Support for the Nomadik platform by ST-Ericsson
795ccf50e23SRussell King
7967c6337e2SKevin Hilmanconfig ARCH_DAVINCI
7977c6337e2SKevin Hilman	bool "TI DaVinci"
7987c6337e2SKevin Hilman	select GENERIC_CLOCKEVENTS
799dce1115bSDavid Brownell	select ARCH_REQUIRE_GPIOLIB
8003bca103aSNicolas Pitre	select ZONE_DMA
8019232fcc9SKevin Hilman	select HAVE_IDE
802c5b736d0SKevin Hilman	select COMMON_CLKDEV
80320e9969bSDavid Brownell	select GENERIC_ALLOCATOR
804ae88e05aSSekhar Nori	select ARCH_HAS_HOLES_MEMORYMODEL
8057c6337e2SKevin Hilman	help
8067c6337e2SKevin Hilman	  Support for TI's DaVinci platform.
8077c6337e2SKevin Hilman
8083b938be6SRussell Kingconfig ARCH_OMAP
8093b938be6SRussell King	bool "TI OMAP"
8109483a578SDavid Brownell	select HAVE_CLK
8117444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
81289c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
81306cad098SKevin Hilman	select GENERIC_CLOCKEVENTS
8149af915daSSriram	select ARCH_HAS_HOLES_MEMORYMODEL
8153b938be6SRussell King	help
816*6e457bb0SLennert Buytenhek	  Support for TI's OMAP platform (OMAP1/2/3/4).
8173b938be6SRussell King
818cee37e50Sviresh kumarconfig PLAT_SPEAR
819cee37e50Sviresh kumar	bool "ST SPEAr"
820cee37e50Sviresh kumar	select ARM_AMBA
821cee37e50Sviresh kumar	select ARCH_REQUIRE_GPIOLIB
822cee37e50Sviresh kumar	select COMMON_CLKDEV
823cee37e50Sviresh kumar	select GENERIC_CLOCKEVENTS
824cee37e50Sviresh kumar	select HAVE_CLK
825cee37e50Sviresh kumar	help
826cee37e50Sviresh kumar	  Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
827cee37e50Sviresh kumar
8281da177e4SLinus Torvaldsendchoice
8291da177e4SLinus Torvalds
830ccf50e23SRussell King#
831ccf50e23SRussell King# This is sorted alphabetically by mach-* pathname.  However, plat-*
832ccf50e23SRussell King# Kconfigs may be included either alphabetically (according to the
833ccf50e23SRussell King# plat- suffix) or along side the corresponding mach-* source.
834ccf50e23SRussell King#
83595b8f20fSRussell Kingsource "arch/arm/mach-aaec2000/Kconfig"
83695b8f20fSRussell King
83795b8f20fSRussell Kingsource "arch/arm/mach-at91/Kconfig"
83895b8f20fSRussell King
83995b8f20fSRussell Kingsource "arch/arm/mach-bcmring/Kconfig"
84095b8f20fSRussell King
8411da177e4SLinus Torvaldssource "arch/arm/mach-clps711x/Kconfig"
8421da177e4SLinus Torvalds
843d94f944eSAnton Vorontsovsource "arch/arm/mach-cns3xxx/Kconfig"
844d94f944eSAnton Vorontsov
84595b8f20fSRussell Kingsource "arch/arm/mach-davinci/Kconfig"
84695b8f20fSRussell King
84795b8f20fSRussell Kingsource "arch/arm/mach-dove/Kconfig"
84895b8f20fSRussell King
849e7736d47SLennert Buytenheksource "arch/arm/mach-ep93xx/Kconfig"
850e7736d47SLennert Buytenhek
8511da177e4SLinus Torvaldssource "arch/arm/mach-footbridge/Kconfig"
8521da177e4SLinus Torvalds
85359d3a193SPaulius Zaleckassource "arch/arm/mach-gemini/Kconfig"
85459d3a193SPaulius Zaleckas
85595b8f20fSRussell Kingsource "arch/arm/mach-h720x/Kconfig"
85695b8f20fSRussell King
8571da177e4SLinus Torvaldssource "arch/arm/mach-integrator/Kconfig"
8581da177e4SLinus Torvalds
8593f7e5815SLennert Buytenheksource "arch/arm/mach-iop32x/Kconfig"
8603f7e5815SLennert Buytenhek
8613f7e5815SLennert Buytenheksource "arch/arm/mach-iop33x/Kconfig"
8621da177e4SLinus Torvalds
863285f5fa7SDan Williamssource "arch/arm/mach-iop13xx/Kconfig"
864285f5fa7SDan Williams
8651da177e4SLinus Torvaldssource "arch/arm/mach-ixp4xx/Kconfig"
8661da177e4SLinus Torvalds
8671da177e4SLinus Torvaldssource "arch/arm/mach-ixp2000/Kconfig"
8681da177e4SLinus Torvalds
869c4713074SLennert Buytenheksource "arch/arm/mach-ixp23xx/Kconfig"
870c4713074SLennert Buytenhek
87195b8f20fSRussell Kingsource "arch/arm/mach-kirkwood/Kconfig"
87295b8f20fSRussell King
87395b8f20fSRussell Kingsource "arch/arm/mach-ks8695/Kconfig"
87495b8f20fSRussell King
87595b8f20fSRussell Kingsource "arch/arm/mach-lh7a40x/Kconfig"
87695b8f20fSRussell King
877777f9bebSLennert Buytenheksource "arch/arm/mach-loki/Kconfig"
878777f9bebSLennert Buytenhek
87940805949SKevin Wellssource "arch/arm/mach-lpc32xx/Kconfig"
88040805949SKevin Wells
88195b8f20fSRussell Kingsource "arch/arm/mach-msm/Kconfig"
88295b8f20fSRussell King
883794d15b2SStanislav Samsonovsource "arch/arm/mach-mv78xx0/Kconfig"
884794d15b2SStanislav Samsonov
88595b8f20fSRussell Kingsource "arch/arm/plat-mxc/Kconfig"
8861da177e4SLinus Torvalds
88795b8f20fSRussell Kingsource "arch/arm/mach-netx/Kconfig"
88849cbe786SEric Miao
88995b8f20fSRussell Kingsource "arch/arm/mach-nomadik/Kconfig"
89095b8f20fSRussell Kingsource "arch/arm/plat-nomadik/Kconfig"
89195b8f20fSRussell King
89295b8f20fSRussell Kingsource "arch/arm/mach-ns9xxx/Kconfig"
8931da177e4SLinus Torvalds
894d91a8910SRussell Kingsource "arch/arm/mach-nuc93x/Kconfig"
895d91a8910SRussell King
896d48af15eSTony Lindgrensource "arch/arm/plat-omap/Kconfig"
897d48af15eSTony Lindgren
898d48af15eSTony Lindgrensource "arch/arm/mach-omap1/Kconfig"
8991da177e4SLinus Torvalds
9001dbae815STony Lindgrensource "arch/arm/mach-omap2/Kconfig"
9011dbae815STony Lindgren
9029dd0b194SLennert Buytenheksource "arch/arm/mach-orion5x/Kconfig"
903585cf175STzachi Perelstein
90495b8f20fSRussell Kingsource "arch/arm/mach-pxa/Kconfig"
90595b8f20fSRussell Kingsource "arch/arm/plat-pxa/Kconfig"
9061da177e4SLinus Torvalds
90795b8f20fSRussell Kingsource "arch/arm/mach-mmp/Kconfig"
90895b8f20fSRussell King
90995b8f20fSRussell Kingsource "arch/arm/mach-realview/Kconfig"
91095b8f20fSRussell King
91195b8f20fSRussell Kingsource "arch/arm/mach-sa1100/Kconfig"
912edabd38eSSaeed Bishara
913cf383678SBen Dookssource "arch/arm/plat-samsung/Kconfig"
914a21765a7SBen Dookssource "arch/arm/plat-s3c24xx/Kconfig"
915c4ffccddSKukjin Kimsource "arch/arm/plat-s5p/Kconfig"
916a21765a7SBen Dooks
917cee37e50Sviresh kumarsource "arch/arm/plat-spear/Kconfig"
918a21765a7SBen Dooks
919a21765a7SBen Dooksif ARCH_S3C2410
920a21765a7SBen Dookssource "arch/arm/mach-s3c2400/Kconfig"
9211da177e4SLinus Torvaldssource "arch/arm/mach-s3c2410/Kconfig"
922a21765a7SBen Dookssource "arch/arm/mach-s3c2412/Kconfig"
923f1290a49SYauhen Kharuzhysource "arch/arm/mach-s3c2416/Kconfig"
924a21765a7SBen Dookssource "arch/arm/mach-s3c2440/Kconfig"
925e4d06e39SBen Dookssource "arch/arm/mach-s3c2443/Kconfig"
926a21765a7SBen Dooksendif
9271da177e4SLinus Torvalds
928a08ab637SBen Dooksif ARCH_S3C64XX
929431107eaSBen Dookssource "arch/arm/mach-s3c64xx/Kconfig"
930a08ab637SBen Dooksendif
931a08ab637SBen Dooks
932c4ffccddSKukjin Kimsource "arch/arm/mach-s5p6440/Kconfig"
933c4ffccddSKukjin Kim
934550db7f1SKukjin Kimsource "arch/arm/mach-s5p6442/Kconfig"
9357bd0f2f5Sdmitry pervushin
9365a7652f2SByungho Minsource "arch/arm/mach-s5pc100/Kconfig"
9375a7652f2SByungho Min
938170f4e42SKukjin Kimsource "arch/arm/mach-s5pv210/Kconfig"
939170f4e42SKukjin Kim
940cc0e72b8SChanghwan Younsource "arch/arm/mach-s5pv310/Kconfig"
941cc0e72b8SChanghwan Youn
942882d01f9SRussell Kingsource "arch/arm/mach-shmobile/Kconfig"
9431da177e4SLinus Torvalds
944882d01f9SRussell Kingsource "arch/arm/plat-stmp3xxx/Kconfig"
9459e73c84cSBrian Swetland
946c5f80065SErik Gillingsource "arch/arm/mach-tegra/Kconfig"
947c5f80065SErik Gilling
94895b8f20fSRussell Kingsource "arch/arm/mach-u300/Kconfig"
94952c543f9SQuinn Jensen
95095b8f20fSRussell Kingsource "arch/arm/mach-ux500/Kconfig"
9511da177e4SLinus Torvalds
9521da177e4SLinus Torvaldssource "arch/arm/mach-versatile/Kconfig"
9531da177e4SLinus Torvalds
954ceade897SRussell Kingsource "arch/arm/mach-vexpress/Kconfig"
955ceade897SRussell King
9567ec80ddfSwanzongshunsource "arch/arm/mach-w90x900/Kconfig"
9577ec80ddfSwanzongshun
9581da177e4SLinus Torvalds# Definitions to make life easier
9591da177e4SLinus Torvaldsconfig ARCH_ACORN
9601da177e4SLinus Torvalds	bool
9611da177e4SLinus Torvalds
9627ae1f7ecSLennert Buytenhekconfig PLAT_IOP
9637ae1f7ecSLennert Buytenhek	bool
964469d3044SMikael Pettersson	select GENERIC_CLOCKEVENTS
9657ae1f7ecSLennert Buytenhek
96669b02f6aSLennert Buytenhekconfig PLAT_ORION
96769b02f6aSLennert Buytenhek	bool
96869b02f6aSLennert Buytenhek
969bd5ce433SEric Miaoconfig PLAT_PXA
970bd5ce433SEric Miao	bool
971bd5ce433SEric Miao
972f4b8b319SRussell Kingconfig PLAT_VERSATILE
973f4b8b319SRussell King	bool
974f4b8b319SRussell King
975e3887714SRussell Kingconfig ARM_TIMER_SP804
976e3887714SRussell King	bool
977e3887714SRussell King
9781da177e4SLinus Torvaldssource arch/arm/mm/Kconfig
9791da177e4SLinus Torvalds
980afe4b25eSLennert Buytenhekconfig IWMMXT
981afe4b25eSLennert Buytenhek	bool "Enable iWMMXt support"
98240305a58SEric Miao	depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
98340305a58SEric Miao	default y if PXA27x || PXA3xx || ARCH_MMP
984afe4b25eSLennert Buytenhek	help
985afe4b25eSLennert Buytenhek	  Enable support for iWMMXt context switching at run time if
986afe4b25eSLennert Buytenhek	  running on a CPU that supports it.
987afe4b25eSLennert Buytenhek
9881da177e4SLinus Torvalds#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
9891da177e4SLinus Torvaldsconfig XSCALE_PMU
9901da177e4SLinus Torvalds	bool
9911da177e4SLinus Torvalds	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
9921da177e4SLinus Torvalds	default y
9931da177e4SLinus Torvalds
9940f4f0672SJamie Ilesconfig CPU_HAS_PMU
9958954bb0dSWill Deacon	depends on (CPU_V6 || CPU_V7 || XSCALE_PMU) && \
9968954bb0dSWill Deacon		   (!ARCH_OMAP3 || OMAP3_EMU)
9970f4f0672SJamie Iles	default y
9980f4f0672SJamie Iles	bool
9990f4f0672SJamie Iles
10003b93e7b0SHyok S. Choiif !MMU
10013b93e7b0SHyok S. Choisource "arch/arm/Kconfig-nommu"
10023b93e7b0SHyok S. Choiendif
10033b93e7b0SHyok S. Choi
10049cba3cccSCatalin Marinasconfig ARM_ERRATA_411920
10059cba3cccSCatalin Marinas	bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
10069cba3cccSCatalin Marinas	depends on CPU_V6 && !SMP
10079cba3cccSCatalin Marinas	help
10089cba3cccSCatalin Marinas	  Invalidation of the Instruction Cache operation can
10099cba3cccSCatalin Marinas	  fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
10109cba3cccSCatalin Marinas	  It does not affect the MPCore. This option enables the ARM Ltd.
10119cba3cccSCatalin Marinas	  recommended workaround.
10129cba3cccSCatalin Marinas
10137ce236fcSCatalin Marinasconfig ARM_ERRATA_430973
10147ce236fcSCatalin Marinas	bool "ARM errata: Stale prediction on replaced interworking branch"
10157ce236fcSCatalin Marinas	depends on CPU_V7
10167ce236fcSCatalin Marinas	help
10177ce236fcSCatalin Marinas	  This option enables the workaround for the 430973 Cortex-A8
10187ce236fcSCatalin Marinas	  (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
10197ce236fcSCatalin Marinas	  interworking branch is replaced with another code sequence at the
10207ce236fcSCatalin Marinas	  same virtual address, whether due to self-modifying code or virtual
10217ce236fcSCatalin Marinas	  to physical address re-mapping, Cortex-A8 does not recover from the
10227ce236fcSCatalin Marinas	  stale interworking branch prediction. This results in Cortex-A8
10237ce236fcSCatalin Marinas	  executing the new code sequence in the incorrect ARM or Thumb state.
10247ce236fcSCatalin Marinas	  The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
10257ce236fcSCatalin Marinas	  and also flushes the branch target cache at every context switch.
10267ce236fcSCatalin Marinas	  Note that setting specific bits in the ACTLR register may not be
10277ce236fcSCatalin Marinas	  available in non-secure mode.
10287ce236fcSCatalin Marinas
1029855c551fSCatalin Marinasconfig ARM_ERRATA_458693
1030855c551fSCatalin Marinas	bool "ARM errata: Processor deadlock when a false hazard is created"
1031855c551fSCatalin Marinas	depends on CPU_V7
1032855c551fSCatalin Marinas	help
1033855c551fSCatalin Marinas	  This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1034855c551fSCatalin Marinas	  erratum. For very specific sequences of memory operations, it is
1035855c551fSCatalin Marinas	  possible for a hazard condition intended for a cache line to instead
1036855c551fSCatalin Marinas	  be incorrectly associated with a different cache line. This false
1037855c551fSCatalin Marinas	  hazard might then cause a processor deadlock. The workaround enables
1038855c551fSCatalin Marinas	  the L1 caching of the NEON accesses and disables the PLD instruction
1039855c551fSCatalin Marinas	  in the ACTLR register. Note that setting specific bits in the ACTLR
1040855c551fSCatalin Marinas	  register may not be available in non-secure mode.
1041855c551fSCatalin Marinas
10420516e464SCatalin Marinasconfig ARM_ERRATA_460075
10430516e464SCatalin Marinas	bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
10440516e464SCatalin Marinas	depends on CPU_V7
10450516e464SCatalin Marinas	help
10460516e464SCatalin Marinas	  This option enables the workaround for the 460075 Cortex-A8 (r2p0)
10470516e464SCatalin Marinas	  erratum. Any asynchronous access to the L2 cache may encounter a
10480516e464SCatalin Marinas	  situation in which recent store transactions to the L2 cache are lost
10490516e464SCatalin Marinas	  and overwritten with stale memory contents from external memory. The
10500516e464SCatalin Marinas	  workaround disables the write-allocate mode for the L2 cache via the
10510516e464SCatalin Marinas	  ACTLR register. Note that setting specific bits in the ACTLR register
10520516e464SCatalin Marinas	  may not be available in non-secure mode.
10530516e464SCatalin Marinas
10549e65582aSSantosh Shilimkarconfig PL310_ERRATA_588369
10559e65582aSSantosh Shilimkar	bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
10569e65582aSSantosh Shilimkar	depends on CACHE_L2X0 && ARCH_OMAP4
10579e65582aSSantosh Shilimkar	help
10589e65582aSSantosh Shilimkar	   The PL310 L2 cache controller implements three types of Clean &
10599e65582aSSantosh Shilimkar	   Invalidate maintenance operations: by Physical Address
10609e65582aSSantosh Shilimkar	   (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
10619e65582aSSantosh Shilimkar	   They are architecturally defined to behave as the execution of a
10629e65582aSSantosh Shilimkar	   clean operation followed immediately by an invalidate operation,
10639e65582aSSantosh Shilimkar	   both performing to the same memory location. This functionality
10649e65582aSSantosh Shilimkar	   is not correctly implemented in PL310 as clean lines are not
10659e65582aSSantosh Shilimkar	   invalidated as a result of these operations. Note that this errata
10669e65582aSSantosh Shilimkar	   uses Texas Instrument's secure monitor api.
1067cdf357f1SWill Deacon
1068cdf357f1SWill Deaconconfig ARM_ERRATA_720789
1069cdf357f1SWill Deacon	bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1070cdf357f1SWill Deacon	depends on CPU_V7 && SMP
1071cdf357f1SWill Deacon	help
1072cdf357f1SWill Deacon	  This option enables the workaround for the 720789 Cortex-A9 (prior to
1073cdf357f1SWill Deacon	  r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1074cdf357f1SWill Deacon	  broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1075cdf357f1SWill Deacon	  As a consequence of this erratum, some TLB entries which should be
1076cdf357f1SWill Deacon	  invalidated are not, resulting in an incoherency in the system page
1077cdf357f1SWill Deacon	  tables. The workaround changes the TLB flushing routines to invalidate
1078cdf357f1SWill Deacon	  entries regardless of the ASID.
10791da177e4SLinus Torvaldsendmenu
10801da177e4SLinus Torvalds
10811da177e4SLinus Torvaldssource "arch/arm/common/Kconfig"
10821da177e4SLinus Torvalds
10831da177e4SLinus Torvaldsmenu "Bus support"
10841da177e4SLinus Torvalds
10851da177e4SLinus Torvaldsconfig ARM_AMBA
10861da177e4SLinus Torvalds	bool
10871da177e4SLinus Torvalds
10881da177e4SLinus Torvaldsconfig ISA
10891da177e4SLinus Torvalds	bool
10901da177e4SLinus Torvalds	help
10911da177e4SLinus Torvalds	  Find out whether you have ISA slots on your motherboard.  ISA is the
10921da177e4SLinus Torvalds	  name of a bus system, i.e. the way the CPU talks to the other stuff
10931da177e4SLinus Torvalds	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
10941da177e4SLinus Torvalds	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
10951da177e4SLinus Torvalds	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
10961da177e4SLinus Torvalds
1097065909b9SRussell King# Select ISA DMA controller support
10981da177e4SLinus Torvaldsconfig ISA_DMA
10991da177e4SLinus Torvalds	bool
1100065909b9SRussell King	select ISA_DMA_API
11011da177e4SLinus Torvalds
1102065909b9SRussell King# Select ISA DMA interface
11035cae841bSAl Viroconfig ISA_DMA_API
11045cae841bSAl Viro	bool
11055cae841bSAl Viro
11061da177e4SLinus Torvaldsconfig PCI
11075f32f7a0SAnton Vorontsov	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
11081da177e4SLinus Torvalds	help
11091da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
11101da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
11111da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
11121da177e4SLinus Torvalds	  VESA. If you have PCI, say Y, otherwise N.
11131da177e4SLinus Torvalds
111452882173SAnton Vorontsovconfig PCI_DOMAINS
111552882173SAnton Vorontsov	bool
111652882173SAnton Vorontsov	depends on PCI
111752882173SAnton Vorontsov
111836e23590SMatthew Wilcoxconfig PCI_SYSCALL
111936e23590SMatthew Wilcox	def_bool PCI
112036e23590SMatthew Wilcox
11211da177e4SLinus Torvalds# Select the host bridge type
11221da177e4SLinus Torvaldsconfig PCI_HOST_VIA82C505
11231da177e4SLinus Torvalds	bool
11241da177e4SLinus Torvalds	depends on PCI && ARCH_SHARK
11251da177e4SLinus Torvalds	default y
11261da177e4SLinus Torvalds
1127a0113a99SMike Rapoportconfig PCI_HOST_ITE8152
1128a0113a99SMike Rapoport	bool
1129a0113a99SMike Rapoport	depends on PCI && MACH_ARMCORE
1130a0113a99SMike Rapoport	default y
1131a0113a99SMike Rapoport	select DMABOUNCE
1132a0113a99SMike Rapoport
11331da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
11341da177e4SLinus Torvalds
11351da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
11361da177e4SLinus Torvalds
11371da177e4SLinus Torvaldsendmenu
11381da177e4SLinus Torvalds
11391da177e4SLinus Torvaldsmenu "Kernel Features"
11401da177e4SLinus Torvalds
11410567a0c0SKevin Hilmansource "kernel/time/Kconfig"
11420567a0c0SKevin Hilman
11431da177e4SLinus Torvaldsconfig SMP
11441da177e4SLinus Torvalds	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
114542578c82SRussell King	depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
114659ac59f6SRussell King		 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
11470b019a41SRussell King		 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1148bc28248eSRussell King	depends on GENERIC_CLOCKEVENTS
1149f6dd9fa5SJens Axboe	select USE_GENERIC_SMP_HELPERS
11500b019a41SRussell King	select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\
11510b019a41SRussell King		 ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
11521da177e4SLinus Torvalds	help
11531da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
11541da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
11551da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
11561da177e4SLinus Torvalds
11571da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
11581da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
11591da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all, single
11601da177e4SLinus Torvalds	  processor machines. On a single processor machine, the kernel will
11611da177e4SLinus Torvalds	  run faster if you say N here.
11621da177e4SLinus Torvalds
116303502faaSAdrian Bunk	  See also <file:Documentation/i386/IO-APIC.txt>,
11641da177e4SLinus Torvalds	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
11651da177e4SLinus Torvalds	  <http://www.linuxdoc.org/docs.html#howto>.
11661da177e4SLinus Torvalds
11671da177e4SLinus Torvalds	  If you don't know what to do here, say N.
11681da177e4SLinus Torvalds
1169a8cbcd92SRussell Kingconfig HAVE_ARM_SCU
1170a8cbcd92SRussell King	bool
1171a8cbcd92SRussell King	depends on SMP
1172a8cbcd92SRussell King	help
1173a8cbcd92SRussell King	  This option enables support for the ARM system coherency unit
1174a8cbcd92SRussell King
1175f32f4ce2SRussell Kingconfig HAVE_ARM_TWD
1176f32f4ce2SRussell King	bool
1177f32f4ce2SRussell King	depends on SMP
1178f32f4ce2SRussell King	help
1179f32f4ce2SRussell King	  This options enables support for the ARM timer and watchdog unit
1180f32f4ce2SRussell King
11818d5796d2SLennert Buytenhekchoice
11828d5796d2SLennert Buytenhek	prompt "Memory split"
11838d5796d2SLennert Buytenhek	default VMSPLIT_3G
11848d5796d2SLennert Buytenhek	help
11858d5796d2SLennert Buytenhek	  Select the desired split between kernel and user memory.
11868d5796d2SLennert Buytenhek
11878d5796d2SLennert Buytenhek	  If you are not absolutely sure what you are doing, leave this
11888d5796d2SLennert Buytenhek	  option alone!
11898d5796d2SLennert Buytenhek
11908d5796d2SLennert Buytenhek	config VMSPLIT_3G
11918d5796d2SLennert Buytenhek		bool "3G/1G user/kernel split"
11928d5796d2SLennert Buytenhek	config VMSPLIT_2G
11938d5796d2SLennert Buytenhek		bool "2G/2G user/kernel split"
11948d5796d2SLennert Buytenhek	config VMSPLIT_1G
11958d5796d2SLennert Buytenhek		bool "1G/3G user/kernel split"
11968d5796d2SLennert Buytenhekendchoice
11978d5796d2SLennert Buytenhek
11988d5796d2SLennert Buytenhekconfig PAGE_OFFSET
11998d5796d2SLennert Buytenhek	hex
12008d5796d2SLennert Buytenhek	default 0x40000000 if VMSPLIT_1G
12018d5796d2SLennert Buytenhek	default 0x80000000 if VMSPLIT_2G
12028d5796d2SLennert Buytenhek	default 0xC0000000
12038d5796d2SLennert Buytenhek
12041da177e4SLinus Torvaldsconfig NR_CPUS
12051da177e4SLinus Torvalds	int "Maximum number of CPUs (2-32)"
12061da177e4SLinus Torvalds	range 2 32
12071da177e4SLinus Torvalds	depends on SMP
12081da177e4SLinus Torvalds	default "4"
12091da177e4SLinus Torvalds
1210a054a811SRussell Kingconfig HOTPLUG_CPU
1211a054a811SRussell King	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1212a054a811SRussell King	depends on SMP && HOTPLUG && EXPERIMENTAL
1213a054a811SRussell King	help
1214a054a811SRussell King	  Say Y here to experiment with turning CPUs off and on.  CPUs
1215a054a811SRussell King	  can be controlled through /sys/devices/system/cpu.
1216a054a811SRussell King
121737ee16aeSRussell Kingconfig LOCAL_TIMERS
121837ee16aeSRussell King	bool "Use local timer interrupts"
121942578c82SRussell King	depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
1220bde28b84SWill Deacon		REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
12210b019a41SRussell King		ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
122237ee16aeSRussell King	default y
12230b019a41SRussell King	select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \
12240b019a41SRussell King		ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS
122537ee16aeSRussell King	help
122637ee16aeSRussell King	  Enable support for local timers on SMP platforms, rather then the
122737ee16aeSRussell King	  legacy IPI broadcast method.  Local timers allows the system
122837ee16aeSRussell King	  accounting to be spread across the timer interval, preventing a
122937ee16aeSRussell King	  "thundering herd" at every timer tick.
123037ee16aeSRussell King
1231d45a398fSUwe Kleine-Königsource kernel/Kconfig.preempt
12321da177e4SLinus Torvalds
1233f8065813SRussell Kingconfig HZ
1234f8065813SRussell King	int
12352192482eSRussell King	default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \
12362192482eSRussell King		ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
1237bfe65704SRussell King	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
12385248c657SDavid Brownell	default AT91_TIMER_HZ if ARCH_AT91
12395da3e714SMagnus Damm	default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
1240f8065813SRussell King	default 100
1241f8065813SRussell King
124216c79651SCatalin Marinasconfig THUMB2_KERNEL
124316c79651SCatalin Marinas	bool "Compile the kernel in Thumb-2 mode"
124416c79651SCatalin Marinas	depends on CPU_V7 && EXPERIMENTAL
124516c79651SCatalin Marinas	select AEABI
124616c79651SCatalin Marinas	select ARM_ASM_UNIFIED
124716c79651SCatalin Marinas	help
124816c79651SCatalin Marinas	  By enabling this option, the kernel will be compiled in
124916c79651SCatalin Marinas	  Thumb-2 mode. A compiler/assembler that understand the unified
125016c79651SCatalin Marinas	  ARM-Thumb syntax is needed.
125116c79651SCatalin Marinas
125216c79651SCatalin Marinas	  If unsure, say N.
125316c79651SCatalin Marinas
12540becb088SCatalin Marinasconfig ARM_ASM_UNIFIED
12550becb088SCatalin Marinas	bool
12560becb088SCatalin Marinas
1257704bdda0SNicolas Pitreconfig AEABI
1258704bdda0SNicolas Pitre	bool "Use the ARM EABI to compile the kernel"
1259704bdda0SNicolas Pitre	help
1260704bdda0SNicolas Pitre	  This option allows for the kernel to be compiled using the latest
1261704bdda0SNicolas Pitre	  ARM ABI (aka EABI).  This is only useful if you are using a user
1262704bdda0SNicolas Pitre	  space environment that is also compiled with EABI.
1263704bdda0SNicolas Pitre
1264704bdda0SNicolas Pitre	  Since there are major incompatibilities between the legacy ABI and
1265704bdda0SNicolas Pitre	  EABI, especially with regard to structure member alignment, this
1266704bdda0SNicolas Pitre	  option also changes the kernel syscall calling convention to
1267704bdda0SNicolas Pitre	  disambiguate both ABIs and allow for backward compatibility support
1268704bdda0SNicolas Pitre	  (selected with CONFIG_OABI_COMPAT).
1269704bdda0SNicolas Pitre
1270704bdda0SNicolas Pitre	  To use this you need GCC version 4.0.0 or later.
1271704bdda0SNicolas Pitre
12726c90c872SNicolas Pitreconfig OABI_COMPAT
1273a73a3ff1SRussell King	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
127461c484d4SNicolas Pitre	depends on AEABI && EXPERIMENTAL
12756c90c872SNicolas Pitre	default y
12766c90c872SNicolas Pitre	help
12776c90c872SNicolas Pitre	  This option preserves the old syscall interface along with the
12786c90c872SNicolas Pitre	  new (ARM EABI) one. It also provides a compatibility layer to
12796c90c872SNicolas Pitre	  intercept syscalls that have structure arguments which layout
12806c90c872SNicolas Pitre	  in memory differs between the legacy ABI and the new ARM EABI
12816c90c872SNicolas Pitre	  (only for non "thumb" binaries). This option adds a tiny
12826c90c872SNicolas Pitre	  overhead to all syscalls and produces a slightly larger kernel.
12836c90c872SNicolas Pitre	  If you know you'll be using only pure EABI user space then you
12846c90c872SNicolas Pitre	  can say N here. If this option is not selected and you attempt
12856c90c872SNicolas Pitre	  to execute a legacy ABI binary then the result will be
12866c90c872SNicolas Pitre	  UNPREDICTABLE (in fact it can be predicted that it won't work
12876c90c872SNicolas Pitre	  at all). If in doubt say Y.
12886c90c872SNicolas Pitre
1289eb33575cSMel Gormanconfig ARCH_HAS_HOLES_MEMORYMODEL
1290e80d6a24SMel Gorman	bool
1291e80d6a24SMel Gorman
129205944d74SRussell Kingconfig ARCH_SPARSEMEM_ENABLE
129305944d74SRussell King	bool
129405944d74SRussell King
129507a2f737SRussell Kingconfig ARCH_SPARSEMEM_DEFAULT
129607a2f737SRussell King	def_bool ARCH_SPARSEMEM_ENABLE
129707a2f737SRussell King
129805944d74SRussell Kingconfig ARCH_SELECT_MEMORY_MODEL
1299be370302SRussell King	def_bool ARCH_SPARSEMEM_ENABLE
1300c80d79d7SYasunori Goto
1301053a96caSNicolas Pitreconfig HIGHMEM
1302053a96caSNicolas Pitre	bool "High Memory Support (EXPERIMENTAL)"
1303053a96caSNicolas Pitre	depends on MMU && EXPERIMENTAL
1304053a96caSNicolas Pitre	help
1305053a96caSNicolas Pitre	  The address space of ARM processors is only 4 Gigabytes large
1306053a96caSNicolas Pitre	  and it has to accommodate user address space, kernel address
1307053a96caSNicolas Pitre	  space as well as some memory mapped IO. That means that, if you
1308053a96caSNicolas Pitre	  have a large amount of physical memory and/or IO, not all of the
1309053a96caSNicolas Pitre	  memory can be "permanently mapped" by the kernel. The physical
1310053a96caSNicolas Pitre	  memory that is not permanently mapped is called "high memory".
1311053a96caSNicolas Pitre
1312053a96caSNicolas Pitre	  Depending on the selected kernel/user memory split, minimum
1313053a96caSNicolas Pitre	  vmalloc space and actual amount of RAM, you may not need this
1314053a96caSNicolas Pitre	  option which should result in a slightly faster kernel.
1315053a96caSNicolas Pitre
1316053a96caSNicolas Pitre	  If unsure, say n.
1317053a96caSNicolas Pitre
131865cec8e3SRussell Kingconfig HIGHPTE
131965cec8e3SRussell King	bool "Allocate 2nd-level pagetables from highmem"
132065cec8e3SRussell King	depends on HIGHMEM
132165cec8e3SRussell King	depends on !OUTER_CACHE
132265cec8e3SRussell King
13231b8873a0SJamie Ilesconfig HW_PERF_EVENTS
13241b8873a0SJamie Iles	bool "Enable hardware performance counter support for perf events"
1325fe166148SWill Deacon	depends on PERF_EVENTS && CPU_HAS_PMU
13261b8873a0SJamie Iles	default y
13271b8873a0SJamie Iles	help
13281b8873a0SJamie Iles	  Enable hardware performance counter support for perf events. If
13291b8873a0SJamie Iles	  disabled, perf events will use software events only.
13301b8873a0SJamie Iles
1331354e6f72Seric miaoconfig SPARSE_IRQ
1332c1ba6ba3Seric miao	def_bool n
1333354e6f72Seric miao	help
1334354e6f72Seric miao	  This enables support for sparse irqs. This is useful in general
1335354e6f72Seric miao	  as most CPUs have a fairly sparse array of IRQ vectors, which
1336354e6f72Seric miao	  the irq_desc then maps directly on to. Systems with a high
1337354e6f72Seric miao	  number of off-chip IRQs will want to treat this as
1338354e6f72Seric miao	  experimental until they have been independently verified.
1339354e6f72Seric miao
13403f22ab27SDave Hansensource "mm/Kconfig"
13413f22ab27SDave Hansen
1342c1b2d970SMagnus Dammconfig FORCE_MAX_ZONEORDER
1343c1b2d970SMagnus Damm	int "Maximum zone order" if ARCH_SHMOBILE
1344c1b2d970SMagnus Damm	range 11 64 if ARCH_SHMOBILE
1345c1b2d970SMagnus Damm	default "9" if SA1111
1346c1b2d970SMagnus Damm	default "11"
1347c1b2d970SMagnus Damm	help
1348c1b2d970SMagnus Damm	  The kernel memory allocator divides physically contiguous memory
1349c1b2d970SMagnus Damm	  blocks into "zones", where each zone is a power of two number of
1350c1b2d970SMagnus Damm	  pages.  This option selects the largest power of two that the kernel
1351c1b2d970SMagnus Damm	  keeps in the memory allocator.  If you need to allocate very large
1352c1b2d970SMagnus Damm	  blocks of physically contiguous memory, then you may need to
1353c1b2d970SMagnus Damm	  increase this value.
1354c1b2d970SMagnus Damm
1355c1b2d970SMagnus Damm	  This config option is actually maximum order plus one. For example,
1356c1b2d970SMagnus Damm	  a value of 11 means that the largest free memory block is 2^10 pages.
1357c1b2d970SMagnus Damm
13581da177e4SLinus Torvaldsconfig LEDS
13591da177e4SLinus Torvalds	bool "Timer and CPU usage LEDs"
1360e055d5bfSAdrian Bunk	depends on ARCH_CDB89712 || ARCH_EBSA110 || \
13618c8fdbc9SSascha Hauer		   ARCH_EBSA285 || ARCH_INTEGRATOR || \
13621da177e4SLinus Torvalds		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
13631da177e4SLinus Torvalds		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
136473a59c1cSSAN People		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
136525329671SJürgen Schindele		   ARCH_AT91 || ARCH_DAVINCI || \
1366ff3042fbSColin Tuckley		   ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
13671da177e4SLinus Torvalds	help
13681da177e4SLinus Torvalds	  If you say Y here, the LEDs on your machine will be used
13691da177e4SLinus Torvalds	  to provide useful information about your current system status.
13701da177e4SLinus Torvalds
13711da177e4SLinus Torvalds	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
13721da177e4SLinus Torvalds	  be able to select which LEDs are active using the options below. If
13731da177e4SLinus Torvalds	  you are compiling a kernel for the EBSA-110 or the LART however, the
13741da177e4SLinus Torvalds	  red LED will simply flash regularly to indicate that the system is
13751da177e4SLinus Torvalds	  still functional. It is safe to say Y here if you have a CATS
13761da177e4SLinus Torvalds	  system, but the driver will do nothing.
13771da177e4SLinus Torvalds
13781da177e4SLinus Torvaldsconfig LEDS_TIMER
13791da177e4SLinus Torvalds	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
1380eebdf7d7SDavid Brownell			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1381eebdf7d7SDavid Brownell			    || MACH_OMAP_PERSEUS2
13821da177e4SLinus Torvalds	depends on LEDS
13830567a0c0SKevin Hilman	depends on !GENERIC_CLOCKEVENTS
13841da177e4SLinus Torvalds	default y if ARCH_EBSA110
13851da177e4SLinus Torvalds	help
13861da177e4SLinus Torvalds	  If you say Y here, one of the system LEDs (the green one on the
13871da177e4SLinus Torvalds	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
13881da177e4SLinus Torvalds	  will flash regularly to indicate that the system is still
13891da177e4SLinus Torvalds	  operational. This is mainly useful to kernel hackers who are
13901da177e4SLinus Torvalds	  debugging unstable kernels.
13911da177e4SLinus Torvalds
13921da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
13931da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
13941da177e4SLinus Torvalds	  will overrule the CPU usage LED.
13951da177e4SLinus Torvalds
13961da177e4SLinus Torvaldsconfig LEDS_CPU
13971da177e4SLinus Torvalds	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
1398eebdf7d7SDavid Brownell			!ARCH_OMAP) \
1399eebdf7d7SDavid Brownell			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1400eebdf7d7SDavid Brownell			|| MACH_OMAP_PERSEUS2
14011da177e4SLinus Torvalds	depends on LEDS
14021da177e4SLinus Torvalds	help
14031da177e4SLinus Torvalds	  If you say Y here, the red LED will be used to give a good real
14041da177e4SLinus Torvalds	  time indication of CPU usage, by lighting whenever the idle task
14051da177e4SLinus Torvalds	  is not currently executing.
14061da177e4SLinus Torvalds
14071da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
14081da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
14091da177e4SLinus Torvalds	  will overrule the CPU usage LED.
14101da177e4SLinus Torvalds
14111da177e4SLinus Torvaldsconfig ALIGNMENT_TRAP
14121da177e4SLinus Torvalds	bool
1413f12d0d7cSHyok S. Choi	depends on CPU_CP15_MMU
14141da177e4SLinus Torvalds	default y if !ARCH_EBSA110
1415e119bfffSRussell King	select HAVE_PROC_CPU if PROC_FS
14161da177e4SLinus Torvalds	help
14171da177e4SLinus Torvalds	  ARM processors cannot fetch/store information which is not
14181da177e4SLinus Torvalds	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
14191da177e4SLinus Torvalds	  address divisible by 4. On 32-bit ARM processors, these non-aligned
14201da177e4SLinus Torvalds	  fetch/store instructions will be emulated in software if you say
14211da177e4SLinus Torvalds	  here, which has a severe performance impact. This is necessary for
14221da177e4SLinus Torvalds	  correct operation of some network protocols. With an IP-only
14231da177e4SLinus Torvalds	  configuration it is safe to say N, otherwise say Y.
14241da177e4SLinus Torvalds
142539ec58f3SLennert Buytenhekconfig UACCESS_WITH_MEMCPY
142639ec58f3SLennert Buytenhek	bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
142739ec58f3SLennert Buytenhek	depends on MMU && EXPERIMENTAL
142839ec58f3SLennert Buytenhek	default y if CPU_FEROCEON
142939ec58f3SLennert Buytenhek	help
143039ec58f3SLennert Buytenhek	  Implement faster copy_to_user and clear_user methods for CPU
143139ec58f3SLennert Buytenhek	  cores where a 8-word STM instruction give significantly higher
143239ec58f3SLennert Buytenhek	  memory write throughput than a sequence of individual 32bit stores.
143339ec58f3SLennert Buytenhek
143439ec58f3SLennert Buytenhek	  A possible side effect is a slight increase in scheduling latency
143539ec58f3SLennert Buytenhek	  between threads sharing the same address space if they invoke
143639ec58f3SLennert Buytenhek	  such copy operations with large buffers.
143739ec58f3SLennert Buytenhek
143839ec58f3SLennert Buytenhek	  However, if the CPU data cache is using a write-allocate mode,
143939ec58f3SLennert Buytenhek	  this option is unlikely to provide any performance gain.
144039ec58f3SLennert Buytenhek
1441c743f380SNicolas Pitreconfig CC_STACKPROTECTOR
1442c743f380SNicolas Pitre	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1443c743f380SNicolas Pitre	help
1444c743f380SNicolas Pitre	  This option turns on the -fstack-protector GCC feature. This
1445c743f380SNicolas Pitre	  feature puts, at the beginning of functions, a canary value on
1446c743f380SNicolas Pitre	  the stack just before the return address, and validates
1447c743f380SNicolas Pitre	  the value just before actually returning.  Stack based buffer
1448c743f380SNicolas Pitre	  overflows (that need to overwrite this return address) now also
1449c743f380SNicolas Pitre	  overwrite the canary, which gets detected and the attack is then
1450c743f380SNicolas Pitre	  neutralized via a kernel panic.
1451c743f380SNicolas Pitre	  This feature requires gcc version 4.2 or above.
1452c743f380SNicolas Pitre
145373a65b3fSUwe Kleine-Königconfig DEPRECATED_PARAM_STRUCT
145473a65b3fSUwe Kleine-König	bool "Provide old way to pass kernel parameters"
145573a65b3fSUwe Kleine-König	help
145673a65b3fSUwe Kleine-König	  This was deprecated in 2001 and announced to live on for 5 years.
145773a65b3fSUwe Kleine-König	  Some old boot loaders still use this way.
145873a65b3fSUwe Kleine-König
14591da177e4SLinus Torvaldsendmenu
14601da177e4SLinus Torvalds
14611da177e4SLinus Torvaldsmenu "Boot options"
14621da177e4SLinus Torvalds
14631da177e4SLinus Torvalds# Compressed boot loader in ROM.  Yes, we really want to ask about
14641da177e4SLinus Torvalds# TEXT and BSS so we preserve their values in the config files.
14651da177e4SLinus Torvaldsconfig ZBOOT_ROM_TEXT
14661da177e4SLinus Torvalds	hex "Compressed ROM boot loader base address"
14671da177e4SLinus Torvalds	default "0"
14681da177e4SLinus Torvalds	help
14691da177e4SLinus Torvalds	  The physical address at which the ROM-able zImage is to be
14701da177e4SLinus Torvalds	  placed in the target.  Platforms which normally make use of
14711da177e4SLinus Torvalds	  ROM-able zImage formats normally set this to a suitable
14721da177e4SLinus Torvalds	  value in their defconfig file.
14731da177e4SLinus Torvalds
14741da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
14751da177e4SLinus Torvalds
14761da177e4SLinus Torvaldsconfig ZBOOT_ROM_BSS
14771da177e4SLinus Torvalds	hex "Compressed ROM boot loader BSS address"
14781da177e4SLinus Torvalds	default "0"
14791da177e4SLinus Torvalds	help
1480f8c440b2SDan Fandrich	  The base address of an area of read/write memory in the target
1481f8c440b2SDan Fandrich	  for the ROM-able zImage which must be available while the
1482f8c440b2SDan Fandrich	  decompressor is running. It must be large enough to hold the
1483f8c440b2SDan Fandrich	  entire decompressed kernel plus an additional 128 KiB.
1484f8c440b2SDan Fandrich	  Platforms which normally make use of ROM-able zImage formats
1485f8c440b2SDan Fandrich	  normally set this to a suitable value in their defconfig file.
14861da177e4SLinus Torvalds
14871da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
14881da177e4SLinus Torvalds
14891da177e4SLinus Torvaldsconfig ZBOOT_ROM
14901da177e4SLinus Torvalds	bool "Compressed boot loader in ROM/flash"
14911da177e4SLinus Torvalds	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
14921da177e4SLinus Torvalds	help
14931da177e4SLinus Torvalds	  Say Y here if you intend to execute your compressed kernel image
14941da177e4SLinus Torvalds	  (zImage) directly from ROM or flash.  If unsure, say N.
14951da177e4SLinus Torvalds
14961da177e4SLinus Torvaldsconfig CMDLINE
14971da177e4SLinus Torvalds	string "Default kernel command string"
14981da177e4SLinus Torvalds	default ""
14991da177e4SLinus Torvalds	help
15001da177e4SLinus Torvalds	  On some architectures (EBSA110 and CATS), there is currently no way
15011da177e4SLinus Torvalds	  for the boot loader to pass arguments to the kernel. For these
15021da177e4SLinus Torvalds	  architectures, you should supply some command-line options at build
15031da177e4SLinus Torvalds	  time by entering them here. As a minimum, you should specify the
15041da177e4SLinus Torvalds	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
15051da177e4SLinus Torvalds
150692d2040dSAlexander Hollerconfig CMDLINE_FORCE
150792d2040dSAlexander Holler	bool "Always use the default kernel command string"
150892d2040dSAlexander Holler	depends on CMDLINE != ""
150992d2040dSAlexander Holler	help
151092d2040dSAlexander Holler	  Always use the default kernel command string, even if the boot
151192d2040dSAlexander Holler	  loader passes other arguments to the kernel.
151292d2040dSAlexander Holler	  This is useful if you cannot or don't want to change the
151392d2040dSAlexander Holler	  command-line options your boot loader passes to the kernel.
151492d2040dSAlexander Holler
151592d2040dSAlexander Holler	  If unsure, say N.
151692d2040dSAlexander Holler
15171da177e4SLinus Torvaldsconfig XIP_KERNEL
15181da177e4SLinus Torvalds	bool "Kernel Execute-In-Place from ROM"
15191da177e4SLinus Torvalds	depends on !ZBOOT_ROM
15201da177e4SLinus Torvalds	help
15211da177e4SLinus Torvalds	  Execute-In-Place allows the kernel to run from non-volatile storage
15221da177e4SLinus Torvalds	  directly addressable by the CPU, such as NOR flash. This saves RAM
15231da177e4SLinus Torvalds	  space since the text section of the kernel is not loaded from flash
15241da177e4SLinus Torvalds	  to RAM.  Read-write sections, such as the data section and stack,
15251da177e4SLinus Torvalds	  are still copied to RAM.  The XIP kernel is not compressed since
15261da177e4SLinus Torvalds	  it has to run directly from flash, so it will take more space to
15271da177e4SLinus Torvalds	  store it.  The flash address used to link the kernel object files,
15281da177e4SLinus Torvalds	  and for storing it, is configuration dependent. Therefore, if you
15291da177e4SLinus Torvalds	  say Y here, you must know the proper physical address where to
15301da177e4SLinus Torvalds	  store the kernel image depending on your own flash memory usage.
15311da177e4SLinus Torvalds
15321da177e4SLinus Torvalds	  Also note that the make target becomes "make xipImage" rather than
15331da177e4SLinus Torvalds	  "make zImage" or "make Image".  The final kernel binary to put in
15341da177e4SLinus Torvalds	  ROM memory will be arch/arm/boot/xipImage.
15351da177e4SLinus Torvalds
15361da177e4SLinus Torvalds	  If unsure, say N.
15371da177e4SLinus Torvalds
15381da177e4SLinus Torvaldsconfig XIP_PHYS_ADDR
15391da177e4SLinus Torvalds	hex "XIP Kernel Physical Location"
15401da177e4SLinus Torvalds	depends on XIP_KERNEL
15411da177e4SLinus Torvalds	default "0x00080000"
15421da177e4SLinus Torvalds	help
15431da177e4SLinus Torvalds	  This is the physical address in your flash memory the kernel will
15441da177e4SLinus Torvalds	  be linked for and stored to.  This address is dependent on your
15451da177e4SLinus Torvalds	  own flash usage.
15461da177e4SLinus Torvalds
1547c587e4a6SRichard Purdieconfig KEXEC
1548c587e4a6SRichard Purdie	bool "Kexec system call (EXPERIMENTAL)"
1549c587e4a6SRichard Purdie	depends on EXPERIMENTAL
1550c587e4a6SRichard Purdie	help
1551c587e4a6SRichard Purdie	  kexec is a system call that implements the ability to shutdown your
1552c587e4a6SRichard Purdie	  current kernel, and to start another kernel.  It is like a reboot
155301dd2fbfSMatt LaPlante	  but it is independent of the system firmware.   And like a reboot
1554c587e4a6SRichard Purdie	  you can start any kernel with it, not just Linux.
1555c587e4a6SRichard Purdie
1556c587e4a6SRichard Purdie	  It is an ongoing process to be certain the hardware in a machine
1557c587e4a6SRichard Purdie	  is properly shutdown, so do not be surprised if this code does not
1558c587e4a6SRichard Purdie	  initially work for you.  It may help to enable device hotplugging
1559c587e4a6SRichard Purdie	  support.
1560c587e4a6SRichard Purdie
15614cd9d6f7SRichard Purdieconfig ATAGS_PROC
15624cd9d6f7SRichard Purdie	bool "Export atags in procfs"
1563b98d7291SUli Luckas	depends on KEXEC
1564b98d7291SUli Luckas	default y
15654cd9d6f7SRichard Purdie	help
15664cd9d6f7SRichard Purdie	  Should the atags used to boot the kernel be exported in an "atags"
15674cd9d6f7SRichard Purdie	  file in procfs. Useful with kexec.
15684cd9d6f7SRichard Purdie
1569e69edc79SEric Miaoconfig AUTO_ZRELADDR
1570e69edc79SEric Miao	bool "Auto calculation of the decompressed kernel image address"
1571e69edc79SEric Miao	depends on !ZBOOT_ROM && !ARCH_U300
1572e69edc79SEric Miao	help
1573e69edc79SEric Miao	  ZRELADDR is the physical address where the decompressed kernel
1574e69edc79SEric Miao	  image will be placed. If AUTO_ZRELADDR is selected, the address
1575e69edc79SEric Miao	  will be determined at run-time by masking the current IP with
1576e69edc79SEric Miao	  0xf8000000. This assumes the zImage being placed in the first 128MB
1577e69edc79SEric Miao	  from start of memory.
1578e69edc79SEric Miao
15791da177e4SLinus Torvaldsendmenu
15801da177e4SLinus Torvalds
1581ac9d7efcSRussell Kingmenu "CPU Power Management"
15821da177e4SLinus Torvalds
158389c52ed4SBen Dooksif ARCH_HAS_CPUFREQ
15841da177e4SLinus Torvalds
15851da177e4SLinus Torvaldssource "drivers/cpufreq/Kconfig"
15861da177e4SLinus Torvalds
15871da177e4SLinus Torvaldsconfig CPU_FREQ_SA1100
15881da177e4SLinus Torvalds	bool
15891da177e4SLinus Torvalds
15901da177e4SLinus Torvaldsconfig CPU_FREQ_SA1110
15911da177e4SLinus Torvalds	bool
15921da177e4SLinus Torvalds
15931da177e4SLinus Torvaldsconfig CPU_FREQ_INTEGRATOR
15941da177e4SLinus Torvalds	tristate "CPUfreq driver for ARM Integrator CPUs"
15951da177e4SLinus Torvalds	depends on ARCH_INTEGRATOR && CPU_FREQ
15961da177e4SLinus Torvalds	default y
15971da177e4SLinus Torvalds	help
15981da177e4SLinus Torvalds	  This enables the CPUfreq driver for ARM Integrator CPUs.
15991da177e4SLinus Torvalds
16001da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq>.
16011da177e4SLinus Torvalds
16021da177e4SLinus Torvalds	  If in doubt, say Y.
16031da177e4SLinus Torvalds
16049e2697ffSRussell Kingconfig CPU_FREQ_PXA
16059e2697ffSRussell King	bool
16069e2697ffSRussell King	depends on CPU_FREQ && ARCH_PXA && PXA25x
16079e2697ffSRussell King	default y
16089e2697ffSRussell King	select CPU_FREQ_DEFAULT_GOV_USERSPACE
16099e2697ffSRussell King
1610b3748dddSMark Brownconfig CPU_FREQ_S3C64XX
1611b3748dddSMark Brown	bool "CPUfreq support for Samsung S3C64XX CPUs"
1612b3748dddSMark Brown	depends on CPU_FREQ && CPU_S3C6410
1613b3748dddSMark Brown
16149d56c02aSBen Dooksconfig CPU_FREQ_S3C
16159d56c02aSBen Dooks	bool
16169d56c02aSBen Dooks	help
16179d56c02aSBen Dooks	  Internal configuration node for common cpufreq on Samsung SoC
16189d56c02aSBen Dooks
16199d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX
16209d56c02aSBen Dooks	bool "CPUfreq driver for Samsung S3C24XX series CPUs"
16219d56c02aSBen Dooks	depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
16229d56c02aSBen Dooks	select CPU_FREQ_S3C
16239d56c02aSBen Dooks	help
16249d56c02aSBen Dooks	  This enables the CPUfreq driver for the Samsung S3C24XX family
16259d56c02aSBen Dooks	  of CPUs.
16269d56c02aSBen Dooks
16279d56c02aSBen Dooks	  For details, take a look at <file:Documentation/cpu-freq>.
16289d56c02aSBen Dooks
16299d56c02aSBen Dooks	  If in doubt, say N.
16309d56c02aSBen Dooks
16319d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX_PLL
16329d56c02aSBen Dooks	bool "Support CPUfreq changing of PLL frequency"
16339d56c02aSBen Dooks	depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
16349d56c02aSBen Dooks	help
16359d56c02aSBen Dooks	  Compile in support for changing the PLL frequency from the
16369d56c02aSBen Dooks	  S3C24XX series CPUfreq driver. The PLL takes time to settle
16379d56c02aSBen Dooks	  after a frequency change, so by default it is not enabled.
16389d56c02aSBen Dooks
16399d56c02aSBen Dooks	  This also means that the PLL tables for the selected CPU(s) will
16409d56c02aSBen Dooks	  be built which may increase the size of the kernel image.
16419d56c02aSBen Dooks
16429d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX_DEBUG
16439d56c02aSBen Dooks	bool "Debug CPUfreq Samsung driver core"
16449d56c02aSBen Dooks	depends on CPU_FREQ_S3C24XX
16459d56c02aSBen Dooks	help
16469d56c02aSBen Dooks	  Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
16479d56c02aSBen Dooks
16489d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX_IODEBUG
16499d56c02aSBen Dooks	bool "Debug CPUfreq Samsung driver IO timing"
16509d56c02aSBen Dooks	depends on CPU_FREQ_S3C24XX
16519d56c02aSBen Dooks	help
16529d56c02aSBen Dooks	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
16539d56c02aSBen Dooks
1654e6d197a6SBen Dooksconfig CPU_FREQ_S3C24XX_DEBUGFS
1655e6d197a6SBen Dooks	bool "Export debugfs for CPUFreq"
1656e6d197a6SBen Dooks	depends on CPU_FREQ_S3C24XX && DEBUG_FS
1657e6d197a6SBen Dooks	help
1658e6d197a6SBen Dooks	  Export status information via debugfs.
1659e6d197a6SBen Dooks
16601da177e4SLinus Torvaldsendif
16611da177e4SLinus Torvalds
1662ac9d7efcSRussell Kingsource "drivers/cpuidle/Kconfig"
1663ac9d7efcSRussell King
1664ac9d7efcSRussell Kingendmenu
1665ac9d7efcSRussell King
16661da177e4SLinus Torvaldsmenu "Floating point emulation"
16671da177e4SLinus Torvalds
16681da177e4SLinus Torvaldscomment "At least one emulation must be selected"
16691da177e4SLinus Torvalds
16701da177e4SLinus Torvaldsconfig FPE_NWFPE
16711da177e4SLinus Torvalds	bool "NWFPE math emulation"
16728993a44cSNicolas Pitre	depends on !AEABI || OABI_COMPAT
16731da177e4SLinus Torvalds	---help---
16741da177e4SLinus Torvalds	  Say Y to include the NWFPE floating point emulator in the kernel.
16751da177e4SLinus Torvalds	  This is necessary to run most binaries. Linux does not currently
16761da177e4SLinus Torvalds	  support floating point hardware so you need to say Y here even if
16771da177e4SLinus Torvalds	  your machine has an FPA or floating point co-processor podule.
16781da177e4SLinus Torvalds
16791da177e4SLinus Torvalds	  You may say N here if you are going to load the Acorn FPEmulator
16801da177e4SLinus Torvalds	  early in the bootup.
16811da177e4SLinus Torvalds
16821da177e4SLinus Torvaldsconfig FPE_NWFPE_XP
16831da177e4SLinus Torvalds	bool "Support extended precision"
1684bedf142bSLennert Buytenhek	depends on FPE_NWFPE
16851da177e4SLinus Torvalds	help
16861da177e4SLinus Torvalds	  Say Y to include 80-bit support in the kernel floating-point
16871da177e4SLinus Torvalds	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
16881da177e4SLinus Torvalds	  Note that gcc does not generate 80-bit operations by default,
16891da177e4SLinus Torvalds	  so in most cases this option only enlarges the size of the
16901da177e4SLinus Torvalds	  floating point emulator without any good reason.
16911da177e4SLinus Torvalds
16921da177e4SLinus Torvalds	  You almost surely want to say N here.
16931da177e4SLinus Torvalds
16941da177e4SLinus Torvaldsconfig FPE_FASTFPE
16951da177e4SLinus Torvalds	bool "FastFPE math emulation (EXPERIMENTAL)"
16968993a44cSNicolas Pitre	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
16971da177e4SLinus Torvalds	---help---
16981da177e4SLinus Torvalds	  Say Y here to include the FAST floating point emulator in the kernel.
16991da177e4SLinus Torvalds	  This is an experimental much faster emulator which now also has full
17001da177e4SLinus Torvalds	  precision for the mantissa.  It does not support any exceptions.
17011da177e4SLinus Torvalds	  It is very simple, and approximately 3-6 times faster than NWFPE.
17021da177e4SLinus Torvalds
17031da177e4SLinus Torvalds	  It should be sufficient for most programs.  It may be not suitable
17041da177e4SLinus Torvalds	  for scientific calculations, but you have to check this for yourself.
17051da177e4SLinus Torvalds	  If you do not feel you need a faster FP emulation you should better
17061da177e4SLinus Torvalds	  choose NWFPE.
17071da177e4SLinus Torvalds
17081da177e4SLinus Torvaldsconfig VFP
17091da177e4SLinus Torvalds	bool "VFP-format floating point maths"
1710c00d4ffdSRussell King	depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
17111da177e4SLinus Torvalds	help
17121da177e4SLinus Torvalds	  Say Y to include VFP support code in the kernel. This is needed
17131da177e4SLinus Torvalds	  if your hardware includes a VFP unit.
17141da177e4SLinus Torvalds
17151da177e4SLinus Torvalds	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
17161da177e4SLinus Torvalds	  release notes and additional status information.
17171da177e4SLinus Torvalds
17181da177e4SLinus Torvalds	  Say N if your target does not have VFP hardware.
17191da177e4SLinus Torvalds
172025ebee02SCatalin Marinasconfig VFPv3
172125ebee02SCatalin Marinas	bool
172225ebee02SCatalin Marinas	depends on VFP
172325ebee02SCatalin Marinas	default y if CPU_V7
172425ebee02SCatalin Marinas
1725b5872db4SCatalin Marinasconfig NEON
1726b5872db4SCatalin Marinas	bool "Advanced SIMD (NEON) Extension support"
1727b5872db4SCatalin Marinas	depends on VFPv3 && CPU_V7
1728b5872db4SCatalin Marinas	help
1729b5872db4SCatalin Marinas	  Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1730b5872db4SCatalin Marinas	  Extension.
1731b5872db4SCatalin Marinas
17321da177e4SLinus Torvaldsendmenu
17331da177e4SLinus Torvalds
17341da177e4SLinus Torvaldsmenu "Userspace binary formats"
17351da177e4SLinus Torvalds
17361da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
17371da177e4SLinus Torvalds
17381da177e4SLinus Torvaldsconfig ARTHUR
17391da177e4SLinus Torvalds	tristate "RISC OS personality"
1740704bdda0SNicolas Pitre	depends on !AEABI
17411da177e4SLinus Torvalds	help
17421da177e4SLinus Torvalds	  Say Y here to include the kernel code necessary if you want to run
17431da177e4SLinus Torvalds	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
17441da177e4SLinus Torvalds	  experimental; if this sounds frightening, say N and sleep in peace.
17451da177e4SLinus Torvalds	  You can also say M here to compile this support as a module (which
17461da177e4SLinus Torvalds	  will be called arthur).
17471da177e4SLinus Torvalds
17481da177e4SLinus Torvaldsendmenu
17491da177e4SLinus Torvalds
17501da177e4SLinus Torvaldsmenu "Power management options"
17511da177e4SLinus Torvalds
1752eceab4acSRussell Kingsource "kernel/power/Kconfig"
17531da177e4SLinus Torvalds
1754f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE
1755f4cb5700SJohannes Berg	def_bool y
1756f4cb5700SJohannes Berg
17571da177e4SLinus Torvaldsendmenu
17581da177e4SLinus Torvalds
1759d5950b43SSam Ravnborgsource "net/Kconfig"
1760d5950b43SSam Ravnborg
1761ac25150fSUwe Kleine-Königsource "drivers/Kconfig"
17621da177e4SLinus Torvalds
17631da177e4SLinus Torvaldssource "fs/Kconfig"
17641da177e4SLinus Torvalds
17651da177e4SLinus Torvaldssource "arch/arm/Kconfig.debug"
17661da177e4SLinus Torvalds
17671da177e4SLinus Torvaldssource "security/Kconfig"
17681da177e4SLinus Torvalds
17691da177e4SLinus Torvaldssource "crypto/Kconfig"
17701da177e4SLinus Torvalds
17711da177e4SLinus Torvaldssource "lib/Kconfig"
1772