xref: /linux/arch/arm/Kconfig (revision 80be7a7f642719bf99fc49692fc77d6333f51a73)
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)
22*80be7a7fSRabin Vincent	select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
23*80be7a7fSRabin Vincent	select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
241fe53268SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
25e7db7b42SAlbin Tonnerre	select HAVE_KERNEL_GZIP
26e7db7b42SAlbin Tonnerre	select HAVE_KERNEL_LZO
276e8699f7SAlbin Tonnerre	select HAVE_KERNEL_LZMA
287ada189fSJamie Iles	select HAVE_PERF_EVENTS
297ada189fSJamie Iles	select PERF_USE_VMALLOC
30e513f8bfSWill Deacon	select HAVE_REGS_AND_STACK_ACCESS_API
311da177e4SLinus Torvalds	help
321da177e4SLinus Torvalds	  The ARM series is a line of low-power-consumption RISC chip designs
33f6c8965aSMartin Michlmayr	  licensed by ARM Ltd and targeted at embedded applications and
341da177e4SLinus Torvalds	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
351da177e4SLinus Torvalds	  manufactured, but legacy ARM-based PC hardware remains popular in
361da177e4SLinus Torvalds	  Europe.  There is an ARM Linux project with a web page at
371da177e4SLinus Torvalds	  <http://www.arm.linux.org.uk/>.
381da177e4SLinus Torvalds
391a189b97SRussell Kingconfig HAVE_PWM
401a189b97SRussell King	bool
411a189b97SRussell King
4275e7153aSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
4375e7153aSRalf Baechle	bool
4475e7153aSRalf Baechle
450a938b97SDavid Brownellconfig GENERIC_GPIO
460a938b97SDavid Brownell	bool
470a938b97SDavid Brownell
485cfc8ee0SJohn Stultzconfig ARCH_USES_GETTIMEOFFSET
495cfc8ee0SJohn Stultz	bool
505cfc8ee0SJohn Stultz	default n
51746140c7SKevin Hilman
520567a0c0SKevin Hilmanconfig GENERIC_CLOCKEVENTS
530567a0c0SKevin Hilman	bool
540567a0c0SKevin Hilman
55a8655e83SCatalin Marinasconfig GENERIC_CLOCKEVENTS_BROADCAST
56a8655e83SCatalin Marinas	bool
57a8655e83SCatalin Marinas	depends on GENERIC_CLOCKEVENTS
585388a6b2SRussell King	default y if SMP
59a8655e83SCatalin Marinas
60bc581770SLinus Walleijconfig HAVE_TCM
61bc581770SLinus Walleij	bool
62bc581770SLinus Walleij	select GENERIC_ALLOCATOR
63bc581770SLinus Walleij
64e119bfffSRussell Kingconfig HAVE_PROC_CPU
65e119bfffSRussell King	bool
66e119bfffSRussell King
675ea81769SAl Viroconfig NO_IOPORT
685ea81769SAl Viro	bool
695ea81769SAl Viro
701da177e4SLinus Torvaldsconfig EISA
711da177e4SLinus Torvalds	bool
721da177e4SLinus Torvalds	---help---
731da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
741da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
751da177e4SLinus Torvalds
761da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
771da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
781da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
791da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
801da177e4SLinus Torvalds
811da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
821da177e4SLinus Torvalds
831da177e4SLinus Torvalds	  Otherwise, say N.
841da177e4SLinus Torvalds
851da177e4SLinus Torvaldsconfig SBUS
861da177e4SLinus Torvalds	bool
871da177e4SLinus Torvalds
881da177e4SLinus Torvaldsconfig MCA
891da177e4SLinus Torvalds	bool
901da177e4SLinus Torvalds	help
911da177e4SLinus Torvalds	  MicroChannel Architecture is found in some IBM PS/2 machines and
921da177e4SLinus Torvalds	  laptops.  It is a bus system similar to PCI or ISA. See
931da177e4SLinus Torvalds	  <file:Documentation/mca.txt> (and especially the web page given
941da177e4SLinus Torvalds	  there) before attempting to build an MCA bus kernel.
951da177e4SLinus Torvalds
964a2581a0SThomas Gleixnerconfig GENERIC_HARDIRQS
974a2581a0SThomas Gleixner	bool
984a2581a0SThomas Gleixner	default y
994a2581a0SThomas Gleixner
100f16fb1ecSRussell Kingconfig STACKTRACE_SUPPORT
101f16fb1ecSRussell King	bool
102f16fb1ecSRussell King	default y
103f16fb1ecSRussell King
104f76e9154SNicolas Pitreconfig HAVE_LATENCYTOP_SUPPORT
105f76e9154SNicolas Pitre	bool
106f76e9154SNicolas Pitre	depends on !SMP
107f76e9154SNicolas Pitre	default y
108f76e9154SNicolas Pitre
109f16fb1ecSRussell Kingconfig LOCKDEP_SUPPORT
110f16fb1ecSRussell King	bool
111f16fb1ecSRussell King	default y
112f16fb1ecSRussell King
1137ad1bcb2SRussell Kingconfig TRACE_IRQFLAGS_SUPPORT
1147ad1bcb2SRussell King	bool
1157ad1bcb2SRussell King	default y
1167ad1bcb2SRussell King
1174a2581a0SThomas Gleixnerconfig HARDIRQS_SW_RESEND
1184a2581a0SThomas Gleixner	bool
1194a2581a0SThomas Gleixner	default y
1204a2581a0SThomas Gleixner
1214a2581a0SThomas Gleixnerconfig GENERIC_IRQ_PROBE
1224a2581a0SThomas Gleixner	bool
1234a2581a0SThomas Gleixner	default y
1244a2581a0SThomas Gleixner
12595c354feSNick Pigginconfig GENERIC_LOCKBREAK
12695c354feSNick Piggin	bool
12795c354feSNick Piggin	default y
12895c354feSNick Piggin	depends on SMP && PREEMPT
12995c354feSNick Piggin
1301da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
1311da177e4SLinus Torvalds	bool
1321da177e4SLinus Torvalds	default y
1331da177e4SLinus Torvalds
1341da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
1351da177e4SLinus Torvalds	bool
1361da177e4SLinus Torvalds
137f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
138f0d1b0b3SDavid Howells	bool
139f0d1b0b3SDavid Howells
140f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
141f0d1b0b3SDavid Howells	bool
142f0d1b0b3SDavid Howells
14389c52ed4SBen Dooksconfig ARCH_HAS_CPUFREQ
14489c52ed4SBen Dooks	bool
14589c52ed4SBen Dooks	help
14689c52ed4SBen Dooks	  Internal node to signify that the ARCH has CPUFREQ support
14789c52ed4SBen Dooks	  and that the relevant menu configurations are displayed for
14889c52ed4SBen Dooks	  it.
14989c52ed4SBen Dooks
150b89c3b16SAkinobu Mitaconfig GENERIC_HWEIGHT
151b89c3b16SAkinobu Mita	bool
152b89c3b16SAkinobu Mita	default y
153b89c3b16SAkinobu Mita
1541da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
1551da177e4SLinus Torvalds	bool
1561da177e4SLinus Torvalds	default y
1571da177e4SLinus Torvalds
158a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC
159a08b6b79Sviro@ZenIV.linux.org.uk	bool
160a08b6b79Sviro@ZenIV.linux.org.uk
1615ac6da66SChristoph Lameterconfig ZONE_DMA
1625ac6da66SChristoph Lameter	bool
1635ac6da66SChristoph Lameter
164ccd7ab7fSFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
165ccd7ab7fSFUJITA Tomonori       def_bool y
166ccd7ab7fSFUJITA Tomonori
1671da177e4SLinus Torvaldsconfig GENERIC_ISA_DMA
1681da177e4SLinus Torvalds	bool
1691da177e4SLinus Torvalds
1701da177e4SLinus Torvaldsconfig FIQ
1711da177e4SLinus Torvalds	bool
1721da177e4SLinus Torvalds
173034d2f5aSAl Viroconfig ARCH_MTD_XIP
174034d2f5aSAl Viro	bool
175034d2f5aSAl Viro
17660a752efSPaulius Zaleckasconfig GENERIC_HARDIRQS_NO__DO_IRQ
17760a752efSPaulius Zaleckas	def_bool y
17860a752efSPaulius Zaleckas
179d6d502faSKukjin Kimconfig ARM_L1_CACHE_SHIFT_6
180d6d502faSKukjin Kim	bool
181d6d502faSKukjin Kim	help
182d6d502faSKukjin Kim	  Setting ARM L1 cache line size to 64 Bytes.
183d6d502faSKukjin Kim
184c760fc19SHyok S. Choiconfig VECTORS_BASE
185c760fc19SHyok S. Choi	hex
1866afd6faeSHyok S. Choi	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
187c760fc19SHyok S. Choi	default DRAM_BASE if REMAP_VECTORS_TO_RAM
188c760fc19SHyok S. Choi	default 0x00000000
189c760fc19SHyok S. Choi	help
190c760fc19SHyok S. Choi	  The base address of exception vectors.
191c760fc19SHyok S. Choi
1921da177e4SLinus Torvaldssource "init/Kconfig"
1931da177e4SLinus Torvalds
194dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
195dc52ddc0SMatt Helsley
1961da177e4SLinus Torvaldsmenu "System Type"
1971da177e4SLinus Torvalds
1983c427975SHyok S. Choiconfig MMU
1993c427975SHyok S. Choi	bool "MMU-based Paged Memory Management Support"
2003c427975SHyok S. Choi	default y
2013c427975SHyok S. Choi	help
2023c427975SHyok S. Choi	  Select if you want MMU-based virtualised addressing space
2033c427975SHyok S. Choi	  support by paged memory management. If unsure, say 'Y'.
2043c427975SHyok S. Choi
205ccf50e23SRussell King#
206ccf50e23SRussell King# The "ARM system type" choice list is ordered alphabetically by option
207ccf50e23SRussell King# text.  Please add new entries in the option alphabetic order.
208ccf50e23SRussell King#
2091da177e4SLinus Torvaldschoice
2101da177e4SLinus Torvalds	prompt "ARM system type"
2116a0e2430SCatalin Marinas	default ARCH_VERSATILE
2121da177e4SLinus Torvalds
2134af6fee1SDeepak Saxenaconfig ARCH_AAEC2000
2144af6fee1SDeepak Saxena	bool "Agilent AAEC-2000 based"
215c750815eSRussell King	select CPU_ARM920T
2164af6fee1SDeepak Saxena	select ARM_AMBA
2179483a578SDavid Brownell	select HAVE_CLK
2185cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
2194af6fee1SDeepak Saxena	help
2204af6fee1SDeepak Saxena	  This enables support for systems based on the Agilent AAEC-2000
2214af6fee1SDeepak Saxena
2224af6fee1SDeepak Saxenaconfig ARCH_INTEGRATOR
2234af6fee1SDeepak Saxena	bool "ARM Ltd. Integrator family"
2244af6fee1SDeepak Saxena	select ARM_AMBA
22589c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
226d72fbdf0SRussell King	select COMMON_CLKDEV
227c5a0adb5SRussell King	select ICST
22813edd86dSRussell King	select GENERIC_CLOCKEVENTS
229f4b8b319SRussell King	select PLAT_VERSATILE
2304af6fee1SDeepak Saxena	help
2314af6fee1SDeepak Saxena	  Support for ARM's Integrator platform.
2324af6fee1SDeepak Saxena
2334af6fee1SDeepak Saxenaconfig ARCH_REALVIEW
2344af6fee1SDeepak Saxena	bool "ARM Ltd. RealView family"
2354af6fee1SDeepak Saxena	select ARM_AMBA
236cf30fb4aSRussell King	select COMMON_CLKDEV
237c5a0adb5SRussell King	select ICST
238ae30ceacSCatalin Marinas	select GENERIC_CLOCKEVENTS
239eb7fffa3SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
240f4b8b319SRussell King	select PLAT_VERSATILE
241e3887714SRussell King	select ARM_TIMER_SP804
242b56ba8aaSColin Tuckley	select GPIO_PL061 if GPIOLIB
2434af6fee1SDeepak Saxena	help
2444af6fee1SDeepak Saxena	  This enables support for ARM Ltd RealView boards.
2454af6fee1SDeepak Saxena
2464af6fee1SDeepak Saxenaconfig ARCH_VERSATILE
2474af6fee1SDeepak Saxena	bool "ARM Ltd. Versatile family"
2484af6fee1SDeepak Saxena	select ARM_AMBA
2494af6fee1SDeepak Saxena	select ARM_VIC
25071a06da0SRussell King	select COMMON_CLKDEV
251c5a0adb5SRussell King	select ICST
25289df1272SKevin Hilman	select GENERIC_CLOCKEVENTS
253bbeddc43SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
254f4b8b319SRussell King	select PLAT_VERSATILE
255e3887714SRussell King	select ARM_TIMER_SP804
2564af6fee1SDeepak Saxena	help
2574af6fee1SDeepak Saxena	  This enables support for ARM Ltd Versatile board.
2584af6fee1SDeepak Saxena
259ceade897SRussell Kingconfig ARCH_VEXPRESS
260ceade897SRussell King	bool "ARM Ltd. Versatile Express family"
261ceade897SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
262ceade897SRussell King	select ARM_AMBA
263ceade897SRussell King	select ARM_TIMER_SP804
264ceade897SRussell King	select COMMON_CLKDEV
265ceade897SRussell King	select GENERIC_CLOCKEVENTS
266ceade897SRussell King	select HAVE_CLK
267ceade897SRussell King	select ICST
268ceade897SRussell King	select PLAT_VERSATILE
269ceade897SRussell King	help
270ceade897SRussell King	  This enables support for the ARM Ltd Versatile Express boards.
271ceade897SRussell King
2728fc5ffa0SAndrew Victorconfig ARCH_AT91
2738fc5ffa0SAndrew Victor	bool "Atmel AT91"
274f373e8c0SRyan Mallon	select ARCH_REQUIRE_GPIOLIB
27593686ae8SDavid Brownell	select HAVE_CLK
2765cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
2774af6fee1SDeepak Saxena	help
2782b3b3516SAndrew Victor	  This enables support for systems based on the Atmel AT91RM9200,
2792b3b3516SAndrew Victor	  AT91SAM9 and AT91CAP9 processors.
2804af6fee1SDeepak Saxena
281ccf50e23SRussell Kingconfig ARCH_BCMRING
282ccf50e23SRussell King	bool "Broadcom BCMRING"
283ccf50e23SRussell King	depends on MMU
284ccf50e23SRussell King	select CPU_V6
285ccf50e23SRussell King	select ARM_AMBA
286ccf50e23SRussell King	select COMMON_CLKDEV
287ccf50e23SRussell King	select GENERIC_CLOCKEVENTS
288ccf50e23SRussell King	select ARCH_WANT_OPTIONAL_GPIOLIB
289ccf50e23SRussell King	help
290ccf50e23SRussell King	  Support for Broadcom's BCMRing platform.
291ccf50e23SRussell King
2921da177e4SLinus Torvaldsconfig ARCH_CLPS711X
2934af6fee1SDeepak Saxena	bool "Cirrus Logic CLPS711x/EP721x-based"
294c750815eSRussell King	select CPU_ARM720T
2955cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
296f999b8bdSMartin Michlmayr	help
297f999b8bdSMartin Michlmayr	  Support for Cirrus Logic 711x/721x based boards.
2981da177e4SLinus Torvalds
299d94f944eSAnton Vorontsovconfig ARCH_CNS3XXX
300d94f944eSAnton Vorontsov	bool "Cavium Networks CNS3XXX family"
301d94f944eSAnton Vorontsov	select CPU_V6
302d94f944eSAnton Vorontsov	select GENERIC_CLOCKEVENTS
303d94f944eSAnton Vorontsov	select ARM_GIC
3045f32f7a0SAnton Vorontsov	select PCI_DOMAINS if PCI
305d94f944eSAnton Vorontsov	help
306d94f944eSAnton Vorontsov	  Support for Cavium Networks CNS3XXX platform.
307d94f944eSAnton Vorontsov
308788c9700SRussell Kingconfig ARCH_GEMINI
309788c9700SRussell King	bool "Cortina Systems Gemini"
310788c9700SRussell King	select CPU_FA526
311788c9700SRussell King	select ARCH_REQUIRE_GPIOLIB
3125cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
313788c9700SRussell King	help
314788c9700SRussell King	  Support for the Cortina Systems Gemini family SoCs
315788c9700SRussell King
3161da177e4SLinus Torvaldsconfig ARCH_EBSA110
3171da177e4SLinus Torvalds	bool "EBSA-110"
318c750815eSRussell King	select CPU_SA110
319f7e68bbfSRussell King	select ISA
320c5eb2a2bSRussell King	select NO_IOPORT
3215cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
3221da177e4SLinus Torvalds	help
3231da177e4SLinus Torvalds	  This is an evaluation board for the StrongARM processor available
324f6c8965aSMartin Michlmayr	  from Digital. It has limited hardware on-board, including an
3251da177e4SLinus Torvalds	  Ethernet interface, two PCMCIA sockets, two serial ports and a
3261da177e4SLinus Torvalds	  parallel port.
3271da177e4SLinus Torvalds
328e7736d47SLennert Buytenhekconfig ARCH_EP93XX
329e7736d47SLennert Buytenhek	bool "EP93xx-based"
330c750815eSRussell King	select CPU_ARM920T
331e7736d47SLennert Buytenhek	select ARM_AMBA
332e7736d47SLennert Buytenhek	select ARM_VIC
333ae696fd5SRussell King	select COMMON_CLKDEV
3347444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
335eb33575cSMel Gorman	select ARCH_HAS_HOLES_MEMORYMODEL
3365cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
337e7736d47SLennert Buytenhek	help
338e7736d47SLennert Buytenhek	  This enables support for the Cirrus EP93xx series of CPUs.
339e7736d47SLennert Buytenhek
3401da177e4SLinus Torvaldsconfig ARCH_FOOTBRIDGE
3411da177e4SLinus Torvalds	bool "FootBridge"
342c750815eSRussell King	select CPU_SA110
3431da177e4SLinus Torvalds	select FOOTBRIDGE
3445cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
345f999b8bdSMartin Michlmayr	help
346f999b8bdSMartin Michlmayr	  Support for systems based on the DC21285 companion chip
347f999b8bdSMartin Michlmayr	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
3481da177e4SLinus Torvalds
349788c9700SRussell Kingconfig ARCH_MXC
350788c9700SRussell King	bool "Freescale MXC/iMX-based"
351788c9700SRussell King	select GENERIC_CLOCKEVENTS
352788c9700SRussell King	select ARCH_REQUIRE_GPIOLIB
35303e09cd8SUwe Kleine-König	select COMMON_CLKDEV
354788c9700SRussell King	help
355788c9700SRussell King	  Support for Freescale MXC/iMX-based family of processors
356788c9700SRussell King
3577bd0f2f5Sdmitry pervushinconfig ARCH_STMP3XXX
3587bd0f2f5Sdmitry pervushin	bool "Freescale STMP3xxx"
3597bd0f2f5Sdmitry pervushin	select CPU_ARM926T
3607bd0f2f5Sdmitry pervushin	select COMMON_CLKDEV
3617bd0f2f5Sdmitry pervushin	select ARCH_REQUIRE_GPIOLIB
3627bd0f2f5Sdmitry pervushin	select GENERIC_CLOCKEVENTS
3637bd0f2f5Sdmitry pervushin	select USB_ARCH_HAS_EHCI
3647bd0f2f5Sdmitry pervushin	help
3657bd0f2f5Sdmitry pervushin	  Support for systems based on the Freescale 3xxx CPUs.
3667bd0f2f5Sdmitry pervushin
3674af6fee1SDeepak Saxenaconfig ARCH_NETX
3684af6fee1SDeepak Saxena	bool "Hilscher NetX based"
369c750815eSRussell King	select CPU_ARM926T
3704af6fee1SDeepak Saxena	select ARM_VIC
3712fcfe6b8SUwe Kleine-König	select GENERIC_CLOCKEVENTS
372f999b8bdSMartin Michlmayr	help
3734af6fee1SDeepak Saxena	  This enables support for systems based on the Hilscher NetX Soc
3744af6fee1SDeepak Saxena
3754af6fee1SDeepak Saxenaconfig ARCH_H720X
3764af6fee1SDeepak Saxena	bool "Hynix HMS720x-based"
377c750815eSRussell King	select CPU_ARM720T
3784af6fee1SDeepak Saxena	select ISA_DMA_API
3795cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
3804af6fee1SDeepak Saxena	help
3814af6fee1SDeepak Saxena	  This enables support for systems based on the Hynix HMS720x
3824af6fee1SDeepak Saxena
3833b938be6SRussell Kingconfig ARCH_IOP13XX
3843b938be6SRussell King	bool "IOP13xx-based"
3853b938be6SRussell King	depends on MMU
386c750815eSRussell King	select CPU_XSC3
3873b938be6SRussell King	select PLAT_IOP
3883b938be6SRussell King	select PCI
3893b938be6SRussell King	select ARCH_SUPPORTS_MSI
3908d5796d2SLennert Buytenhek	select VMSPLIT_1G
3913b938be6SRussell King	help
3923b938be6SRussell King	  Support for Intel's IOP13XX (XScale) family of processors.
3933b938be6SRussell King
3943f7e5815SLennert Buytenhekconfig ARCH_IOP32X
3953f7e5815SLennert Buytenhek	bool "IOP32x-based"
396a4f7e763SRussell King	depends on MMU
397c750815eSRussell King	select CPU_XSCALE
3987ae1f7ecSLennert Buytenhek	select PLAT_IOP
399f7e68bbfSRussell King	select PCI
400bb2b180cSRussell King	select ARCH_REQUIRE_GPIOLIB
401f999b8bdSMartin Michlmayr	help
4023f7e5815SLennert Buytenhek	  Support for Intel's 80219 and IOP32X (XScale) family of
4033f7e5815SLennert Buytenhek	  processors.
4043f7e5815SLennert Buytenhek
4053f7e5815SLennert Buytenhekconfig ARCH_IOP33X
4063f7e5815SLennert Buytenhek	bool "IOP33x-based"
4073f7e5815SLennert Buytenhek	depends on MMU
408c750815eSRussell King	select CPU_XSCALE
4097ae1f7ecSLennert Buytenhek	select PLAT_IOP
4103f7e5815SLennert Buytenhek	select PCI
411bb2b180cSRussell King	select ARCH_REQUIRE_GPIOLIB
4123f7e5815SLennert Buytenhek	help
4133f7e5815SLennert Buytenhek	  Support for Intel's IOP33X (XScale) family of processors.
4141da177e4SLinus Torvalds
4153b938be6SRussell Kingconfig ARCH_IXP23XX
4163b938be6SRussell King 	bool "IXP23XX-based"
417588ef769SDan Williams	depends on MMU
418c750815eSRussell King	select CPU_XSC3
419285f5fa7SDan Williams 	select PCI
4205cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
421285f5fa7SDan Williams	help
4223b938be6SRussell King	  Support for Intel's IXP23xx (XScale) family of processors.
4231da177e4SLinus Torvalds
4241da177e4SLinus Torvaldsconfig ARCH_IXP2000
4251da177e4SLinus Torvalds	bool "IXP2400/2800-based"
426a4f7e763SRussell King	depends on MMU
427c750815eSRussell King	select CPU_XSCALE
428f7e68bbfSRussell King	select PCI
4295cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
430f999b8bdSMartin Michlmayr	help
431f999b8bdSMartin Michlmayr	  Support for Intel's IXP2400/2800 (XScale) family of processors.
4321da177e4SLinus Torvalds
4333b938be6SRussell Kingconfig ARCH_IXP4XX
4343b938be6SRussell King	bool "IXP4xx-based"
435a4f7e763SRussell King	depends on MMU
436c750815eSRussell King	select CPU_XSCALE
4378858e9afSMilan Svoboda	select GENERIC_GPIO
4383b938be6SRussell King	select GENERIC_CLOCKEVENTS
439485bdde7SRussell King	select DMABOUNCE if PCI
440c4713074SLennert Buytenhek	help
4413b938be6SRussell King	  Support for Intel's IXP4XX (XScale) family of processors.
442c4713074SLennert Buytenhek
443edabd38eSSaeed Bisharaconfig ARCH_DOVE
444edabd38eSSaeed Bishara	bool "Marvell Dove"
445edabd38eSSaeed Bishara	select PCI
446edabd38eSSaeed Bishara	select ARCH_REQUIRE_GPIOLIB
447edabd38eSSaeed Bishara	select GENERIC_CLOCKEVENTS
448edabd38eSSaeed Bishara	select PLAT_ORION
449edabd38eSSaeed Bishara	help
450edabd38eSSaeed Bishara	  Support for the Marvell Dove SoC 88AP510
451edabd38eSSaeed Bishara
452651c74c7SSaeed Bisharaconfig ARCH_KIRKWOOD
453651c74c7SSaeed Bishara	bool "Marvell Kirkwood"
454c750815eSRussell King	select CPU_FEROCEON
455651c74c7SSaeed Bishara	select PCI
456a8865655SErik Benada	select ARCH_REQUIRE_GPIOLIB
457651c74c7SSaeed Bishara	select GENERIC_CLOCKEVENTS
458651c74c7SSaeed Bishara	select PLAT_ORION
459651c74c7SSaeed Bishara	help
460651c74c7SSaeed Bishara	  Support for the following Marvell Kirkwood series SoCs:
461651c74c7SSaeed Bishara	  88F6180, 88F6192 and 88F6281.
462651c74c7SSaeed Bishara
463788c9700SRussell Kingconfig ARCH_LOKI
464788c9700SRussell King	bool "Marvell Loki (88RC8480)"
465788c9700SRussell King	select CPU_FEROCEON
466788c9700SRussell King	select GENERIC_CLOCKEVENTS
467788c9700SRussell King	select PLAT_ORION
468788c9700SRussell King	help
469788c9700SRussell King	  Support for the Marvell Loki (88RC8480) SoC.
470788c9700SRussell King
47140805949SKevin Wellsconfig ARCH_LPC32XX
47240805949SKevin Wells	bool "NXP LPC32XX"
47340805949SKevin Wells	select CPU_ARM926T
47440805949SKevin Wells	select ARCH_REQUIRE_GPIOLIB
47540805949SKevin Wells	select HAVE_IDE
47640805949SKevin Wells	select ARM_AMBA
47740805949SKevin Wells	select USB_ARCH_HAS_OHCI
47840805949SKevin Wells	select COMMON_CLKDEV
47940805949SKevin Wells	select GENERIC_TIME
48040805949SKevin Wells	select GENERIC_CLOCKEVENTS
48140805949SKevin Wells	help
48240805949SKevin Wells	  Support for the NXP LPC32XX family of processors
48340805949SKevin Wells
484788c9700SRussell Kingconfig ARCH_MV78XX0
485788c9700SRussell King	bool "Marvell MV78xx0"
486788c9700SRussell King	select CPU_FEROCEON
487788c9700SRussell King	select PCI
488a8865655SErik Benada	select ARCH_REQUIRE_GPIOLIB
489788c9700SRussell King	select GENERIC_CLOCKEVENTS
490788c9700SRussell King	select PLAT_ORION
491788c9700SRussell King	help
492788c9700SRussell King	  Support for the following Marvell MV78xx0 series SoCs:
493788c9700SRussell King	  MV781x0, MV782x0.
494788c9700SRussell King
495788c9700SRussell Kingconfig ARCH_ORION5X
496788c9700SRussell King	bool "Marvell Orion"
497788c9700SRussell King	depends on MMU
498788c9700SRussell King	select CPU_FEROCEON
499788c9700SRussell King	select PCI
500a8865655SErik Benada	select ARCH_REQUIRE_GPIOLIB
501788c9700SRussell King	select GENERIC_CLOCKEVENTS
502788c9700SRussell King	select PLAT_ORION
503788c9700SRussell King	help
504788c9700SRussell King	  Support for the following Marvell Orion 5x series SoCs:
505788c9700SRussell King	  Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
506788c9700SRussell King	  Orion-2 (5281), Orion-1-90 (6183).
507788c9700SRussell King
508788c9700SRussell Kingconfig ARCH_MMP
5092f7e8faeSHaojian Zhuang	bool "Marvell PXA168/910/MMP2"
510788c9700SRussell King	depends on MMU
511788c9700SRussell King	select ARCH_REQUIRE_GPIOLIB
512788c9700SRussell King	select COMMON_CLKDEV
513788c9700SRussell King	select GENERIC_CLOCKEVENTS
514788c9700SRussell King	select TICK_ONESHOT
515788c9700SRussell King	select PLAT_PXA
516788c9700SRussell King	help
5172f7e8faeSHaojian Zhuang	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
518788c9700SRussell King
519c53c9cf6SAndrew Victorconfig ARCH_KS8695
520c53c9cf6SAndrew Victor	bool "Micrel/Kendin KS8695"
521c750815eSRussell King	select CPU_ARM922T
52272880ad8SDaniel Silverstone	select ARCH_REQUIRE_GPIOLIB
5235cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
524c53c9cf6SAndrew Victor	help
525c53c9cf6SAndrew Victor	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
526c53c9cf6SAndrew Victor	  System-on-Chip devices.
527c53c9cf6SAndrew Victor
5289918cda5SUwe Kleine-Königconfig ARCH_NS9XXX
5299918cda5SUwe Kleine-König	bool "NetSilicon NS9xxx"
530c750815eSRussell King	select CPU_ARM926T
531689f2a01SUwe Kleine-König	select GENERIC_GPIO
532c0bb87f7SUwe Kleine-König	select GENERIC_CLOCKEVENTS
5339483a578SDavid Brownell	select HAVE_CLK
5349918cda5SUwe Kleine-König	help
5359918cda5SUwe Kleine-König	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
5369918cda5SUwe Kleine-König	  System.
5379918cda5SUwe Kleine-König
5389918cda5SUwe Kleine-König	  <http://www.digi.com/products/microprocessors/index.jsp>
5399918cda5SUwe Kleine-König
540788c9700SRussell Kingconfig ARCH_W90X900
541788c9700SRussell King	bool "Nuvoton W90X900 CPU"
542788c9700SRussell King	select CPU_ARM926T
543c52d3d68Swanzongshun	select ARCH_REQUIRE_GPIOLIB
5440e4a34bbSwanzongshun	select COMMON_CLKDEV
54558b5369eSwanzongshun	select GENERIC_CLOCKEVENTS
546777f9bebSLennert Buytenhek	help
547a8bc4eadSwanzongshun	  Support for Nuvoton (Winbond logic dept.) ARM9 processor,
548a8bc4eadSwanzongshun	  At present, the w90x900 has been renamed nuc900, regarding
549a8bc4eadSwanzongshun	  the ARM series product line, you can login the following
550a8bc4eadSwanzongshun	  link address to know more.
551a8bc4eadSwanzongshun
552a8bc4eadSwanzongshun	  <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
553a8bc4eadSwanzongshun		ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
554585cf175STzachi Perelstein
555a62e9030Swanzongshunconfig ARCH_NUC93X
556a62e9030Swanzongshun	bool "Nuvoton NUC93X CPU"
557a62e9030Swanzongshun	select CPU_ARM926T
558a62e9030Swanzongshun	select COMMON_CLKDEV
559a62e9030Swanzongshun	help
560a62e9030Swanzongshun	  Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
561a62e9030Swanzongshun	  low-power and high performance MPEG-4/JPEG multimedia controller chip.
562a62e9030Swanzongshun
563c5f80065SErik Gillingconfig ARCH_TEGRA
564c5f80065SErik Gilling	bool "NVIDIA Tegra"
565c5f80065SErik Gilling	select GENERIC_TIME
566c5f80065SErik Gilling	select GENERIC_CLOCKEVENTS
567c5f80065SErik Gilling	select GENERIC_GPIO
568c5f80065SErik Gilling	select HAVE_CLK
569d8611961SColin Cross	select COMMON_CLKDEV
570c5f80065SErik Gilling	select ARCH_HAS_BARRIERS if CACHE_L2X0
571c5f80065SErik Gilling	help
572c5f80065SErik Gilling	  This enables support for NVIDIA Tegra based systems (Tegra APX,
573c5f80065SErik Gilling	  Tegra 6xx and Tegra 2 series).
574c5f80065SErik Gilling
5754af6fee1SDeepak Saxenaconfig ARCH_PNX4008
5764af6fee1SDeepak Saxena	bool "Philips Nexperia PNX4008 Mobile"
577c750815eSRussell King	select CPU_ARM926T
5786985a5adSRussell King	select COMMON_CLKDEV
5795cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
5804af6fee1SDeepak Saxena	help
5814af6fee1SDeepak Saxena	  This enables support for Philips PNX4008 mobile platform.
5824af6fee1SDeepak Saxena
5831da177e4SLinus Torvaldsconfig ARCH_PXA
5842c8086a5Seric miao	bool "PXA2xx/PXA3xx-based"
585a4f7e763SRussell King	depends on MMU
586034d2f5aSAl Viro	select ARCH_MTD_XIP
58789c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
5888c3abc7dSRussell King	select COMMON_CLKDEV
5897444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
590981d0f39SEric Miao	select GENERIC_CLOCKEVENTS
591a88264c2SRussell King	select TICK_ONESHOT
592bd5ce433SEric Miao	select PLAT_PXA
593f999b8bdSMartin Michlmayr	help
5942c8086a5Seric miao	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
5951da177e4SLinus Torvalds
596788c9700SRussell Kingconfig ARCH_MSM
597788c9700SRussell King	bool "Qualcomm MSM"
5984b536b8dSSteve Muckle	select HAVE_CLK
59949cbe786SEric Miao	select GENERIC_CLOCKEVENTS
600923a081cSPavel Machek	select ARCH_REQUIRE_GPIOLIB
60149cbe786SEric Miao	help
6024b53eb4fSDaniel Walker	  Support for Qualcomm MSM/QSD based systems.  This runs on the
6034b53eb4fSDaniel Walker	  apps processor of the MSM/QSD and depends on a shared memory
6044b53eb4fSDaniel Walker	  interface to the modem processor which runs the baseband
6054b53eb4fSDaniel Walker	  stack and controls some vital subsystems
6064b53eb4fSDaniel Walker	  (clock and power control, etc).
60749cbe786SEric Miao
608c793c1b0SMagnus Dammconfig ARCH_SHMOBILE
609c793c1b0SMagnus Damm	bool "Renesas SH-Mobile"
610c793c1b0SMagnus Damm	help
611c793c1b0SMagnus Damm	  Support for Renesas's SH-Mobile ARM platforms
612c793c1b0SMagnus Damm
6131da177e4SLinus Torvaldsconfig ARCH_RPC
6141da177e4SLinus Torvalds	bool "RiscPC"
6151da177e4SLinus Torvalds	select ARCH_ACORN
6161da177e4SLinus Torvalds	select FIQ
6171da177e4SLinus Torvalds	select TIMER_ACORN
618a08b6b79Sviro@ZenIV.linux.org.uk	select ARCH_MAY_HAVE_PC_FDC
619341eb781SBen Dooks	select HAVE_PATA_PLATFORM
620065909b9SRussell King	select ISA_DMA_API
6215ea81769SAl Viro	select NO_IOPORT
62207f841b7SRussell King	select ARCH_SPARSEMEM_ENABLE
6235cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
6241da177e4SLinus Torvalds	help
6251da177e4SLinus Torvalds	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
6261da177e4SLinus Torvalds	  CD-ROM interface, serial and parallel port, and the floppy drive.
6271da177e4SLinus Torvalds
6281da177e4SLinus Torvaldsconfig ARCH_SA1100
6291da177e4SLinus Torvalds	bool "SA1100-based"
630c750815eSRussell King	select CPU_SA1100
631f7e68bbfSRussell King	select ISA
63205944d74SRussell King	select ARCH_SPARSEMEM_ENABLE
633034d2f5aSAl Viro	select ARCH_MTD_XIP
63489c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
6351937f5b9SRussell King	select CPU_FREQ
6363e238be2SRussell King	select GENERIC_CLOCKEVENTS
6379483a578SDavid Brownell	select HAVE_CLK
6383e238be2SRussell King	select TICK_ONESHOT
6397444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
640f999b8bdSMartin Michlmayr	help
641f999b8bdSMartin Michlmayr	  Support for StrongARM 11x0 based boards.
6421da177e4SLinus Torvalds
6431da177e4SLinus Torvaldsconfig ARCH_S3C2410
64463b1f51bSBen Dooks	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450"
6450a938b97SDavid Brownell	select GENERIC_GPIO
6469d56c02aSBen Dooks	select ARCH_HAS_CPUFREQ
6479483a578SDavid Brownell	select HAVE_CLK
6485cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
6494b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
6501da177e4SLinus Torvalds	help
6511da177e4SLinus Torvalds	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
6521da177e4SLinus Torvalds	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
653f6c8965aSMartin Michlmayr	  the Samsung SMDK2410 development board (and derivatives).
6541da177e4SLinus Torvalds
65563b1f51bSBen Dooks	  Note, the S3C2416 and the S3C2450 are so close that they even share
65663b1f51bSBen Dooks	  the same SoC ID code. This means that there is no seperate machine
65763b1f51bSBen Dooks	  directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
65863b1f51bSBen Dooks
659a08ab637SBen Dooksconfig ARCH_S3C64XX
660a08ab637SBen Dooks	bool "Samsung S3C64XX"
66189f1fa08SBen Dooks	select PLAT_SAMSUNG
66289f0ce72SBen Dooks	select CPU_V6
66389f0ce72SBen Dooks	select ARM_VIC
664a08ab637SBen Dooks	select HAVE_CLK
66589f0ce72SBen Dooks	select NO_IOPORT
6665cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
66789c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
66889f0ce72SBen Dooks	select ARCH_REQUIRE_GPIOLIB
66989f0ce72SBen Dooks	select SAMSUNG_CLKSRC
67089f0ce72SBen Dooks	select SAMSUNG_IRQ_VIC_TIMER
67189f0ce72SBen Dooks	select SAMSUNG_IRQ_UART
67289f0ce72SBen Dooks	select S3C_GPIO_TRACK
67389f0ce72SBen Dooks	select S3C_GPIO_PULL_UPDOWN
67489f0ce72SBen Dooks	select S3C_GPIO_CFG_S3C24XX
67589f0ce72SBen Dooks	select S3C_GPIO_CFG_S3C64XX
67689f0ce72SBen Dooks	select S3C_DEV_NAND
67789f0ce72SBen Dooks	select USB_ARCH_HAS_OHCI
67889f0ce72SBen Dooks	select SAMSUNG_GPIOLIB_4BIT
6794b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
680d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
681a08ab637SBen Dooks	help
682a08ab637SBen Dooks	  Samsung S3C64XX series based systems
683a08ab637SBen Dooks
684c4ffccddSKukjin Kimconfig ARCH_S5P6440
685c4ffccddSKukjin Kim	bool "Samsung S5P6440"
686c4ffccddSKukjin Kim	select CPU_V6
687c4ffccddSKukjin Kim	select GENERIC_GPIO
688c4ffccddSKukjin Kim	select HAVE_CLK
689d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
690925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
6914b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
69203eb2749SAtul Dahiya	select HAVE_S3C_RTC
693c4ffccddSKukjin Kim	help
694c4ffccddSKukjin Kim	  Samsung S5P6440 CPU based systems
695c4ffccddSKukjin Kim
696550db7f1SKukjin Kimconfig ARCH_S5P6442
697550db7f1SKukjin Kim	bool "Samsung S5P6442"
698550db7f1SKukjin Kim	select CPU_V6
699550db7f1SKukjin Kim	select GENERIC_GPIO
700550db7f1SKukjin Kim	select HAVE_CLK
701925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
702d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
703550db7f1SKukjin Kim	help
704550db7f1SKukjin Kim	  Samsung S5P6442 CPU based systems
705550db7f1SKukjin Kim
706acc84707SMarek Szyprowskiconfig ARCH_S5PC100
707acc84707SMarek Szyprowski	bool "Samsung S5PC100"
7085a7652f2SByungho Min	select GENERIC_GPIO
7095a7652f2SByungho Min	select HAVE_CLK
7105a7652f2SByungho Min	select CPU_V7
711d6d502faSKukjin Kim	select ARM_L1_CACHE_SHIFT_6
712925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
7134b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
71403eb2749SAtul Dahiya	select HAVE_S3C_RTC
715d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
7165a7652f2SByungho Min	help
717acc84707SMarek Szyprowski	  Samsung S5PC100 series based systems
7185a7652f2SByungho Min
719170f4e42SKukjin Kimconfig ARCH_S5PV210
720170f4e42SKukjin Kim	bool "Samsung S5PV210/S5PC110"
721170f4e42SKukjin Kim	select CPU_V7
722170f4e42SKukjin Kim	select GENERIC_GPIO
723170f4e42SKukjin Kim	select HAVE_CLK
724170f4e42SKukjin Kim	select ARM_L1_CACHE_SHIFT_6
725925c68cdSBen Dooks	select ARCH_USES_GETTIMEOFFSET
7264b623926SNaveen Krishna Ch	select HAVE_S3C2410_I2C
72703eb2749SAtul Dahiya	select HAVE_S3C_RTC
728d8653d9fSBanajit Goswami	select HAVE_S3C2410_WATCHDOG
729170f4e42SKukjin Kim	help
730170f4e42SKukjin Kim	  Samsung S5PV210/S5PC110 series based systems
731170f4e42SKukjin Kim
732cc0e72b8SChanghwan Younconfig ARCH_S5PV310
733cc0e72b8SChanghwan Youn	bool "Samsung S5PV310/S5PC210"
734cc0e72b8SChanghwan Youn	select CPU_V7
735cc0e72b8SChanghwan Youn	select GENERIC_GPIO
736cc0e72b8SChanghwan Youn	select HAVE_CLK
737cc0e72b8SChanghwan Youn	select GENERIC_CLOCKEVENTS
738cc0e72b8SChanghwan Youn	help
739cc0e72b8SChanghwan Youn	  Samsung S5PV310 series based systems
740cc0e72b8SChanghwan Youn
7411da177e4SLinus Torvaldsconfig ARCH_SHARK
7421da177e4SLinus Torvalds	bool "Shark"
743c750815eSRussell King	select CPU_SA110
744f7e68bbfSRussell King	select ISA
745f7e68bbfSRussell King	select ISA_DMA
7463bca103aSNicolas Pitre	select ZONE_DMA
747f7e68bbfSRussell King	select PCI
7485cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
749f999b8bdSMartin Michlmayr	help
750f999b8bdSMartin Michlmayr	  Support for the StrongARM based Digital DNARD machine, also known
751f999b8bdSMartin Michlmayr	  as "Shark" (<http://www.shark-linux.de/shark.html>).
7521da177e4SLinus Torvalds
7531da177e4SLinus Torvaldsconfig ARCH_LH7A40X
7541da177e4SLinus Torvalds	bool "Sharp LH7A40X"
755c750815eSRussell King	select CPU_ARM922T
7564ba3f7c5SRussell King	select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
7575cfc8ee0SJohn Stultz	select ARCH_USES_GETTIMEOFFSET
7581da177e4SLinus Torvalds	help
7591da177e4SLinus Torvalds	  Say Y here for systems based on one of the Sharp LH7A40X
7601da177e4SLinus Torvalds	  System on a Chip processors.  These CPUs include an ARM922T
7611da177e4SLinus Torvalds	  core with a wide array of integrated devices for
7621da177e4SLinus Torvalds	  hand-held and low-power applications.
7631da177e4SLinus Torvalds
764d98aac75SLinus Walleijconfig ARCH_U300
765d98aac75SLinus Walleij	bool "ST-Ericsson U300 Series"
766d98aac75SLinus Walleij	depends on MMU
767d98aac75SLinus Walleij	select CPU_ARM926T
768bc581770SLinus Walleij	select HAVE_TCM
769d98aac75SLinus Walleij	select ARM_AMBA
770d98aac75SLinus Walleij	select ARM_VIC
771d98aac75SLinus Walleij	select GENERIC_CLOCKEVENTS
772d98aac75SLinus Walleij	select COMMON_CLKDEV
773d98aac75SLinus Walleij	select GENERIC_GPIO
774d98aac75SLinus Walleij	help
775d98aac75SLinus Walleij	  Support for ST-Ericsson U300 series mobile platforms.
776d98aac75SLinus Walleij
777ccf50e23SRussell Kingconfig ARCH_U8500
778ccf50e23SRussell King	bool "ST-Ericsson U8500 Series"
779ccf50e23SRussell King	select CPU_V7
780ccf50e23SRussell King	select ARM_AMBA
781ccf50e23SRussell King	select GENERIC_CLOCKEVENTS
782ccf50e23SRussell King	select COMMON_CLKDEV
78394bdc0e2SRabin Vincent	select ARCH_REQUIRE_GPIOLIB
784ccf50e23SRussell King	help
785ccf50e23SRussell King	  Support for ST-Ericsson's Ux500 architecture
786ccf50e23SRussell King
787ccf50e23SRussell Kingconfig ARCH_NOMADIK
788ccf50e23SRussell King	bool "STMicroelectronics Nomadik"
789ccf50e23SRussell King	select ARM_AMBA
790ccf50e23SRussell King	select ARM_VIC
791ccf50e23SRussell King	select CPU_ARM926T
792ccf50e23SRussell King	select COMMON_CLKDEV
793ccf50e23SRussell King	select GENERIC_CLOCKEVENTS
794ccf50e23SRussell King	select ARCH_REQUIRE_GPIOLIB
795ccf50e23SRussell King	help
796ccf50e23SRussell King	  Support for the Nomadik platform by ST-Ericsson
797ccf50e23SRussell King
7987c6337e2SKevin Hilmanconfig ARCH_DAVINCI
7997c6337e2SKevin Hilman	bool "TI DaVinci"
8007c6337e2SKevin Hilman	select GENERIC_CLOCKEVENTS
801dce1115bSDavid Brownell	select ARCH_REQUIRE_GPIOLIB
8023bca103aSNicolas Pitre	select ZONE_DMA
8039232fcc9SKevin Hilman	select HAVE_IDE
804c5b736d0SKevin Hilman	select COMMON_CLKDEV
80520e9969bSDavid Brownell	select GENERIC_ALLOCATOR
806ae88e05aSSekhar Nori	select ARCH_HAS_HOLES_MEMORYMODEL
8077c6337e2SKevin Hilman	help
8087c6337e2SKevin Hilman	  Support for TI's DaVinci platform.
8097c6337e2SKevin Hilman
8103b938be6SRussell Kingconfig ARCH_OMAP
8113b938be6SRussell King	bool "TI OMAP"
8129483a578SDavid Brownell	select HAVE_CLK
8137444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
81489c52ed4SBen Dooks	select ARCH_HAS_CPUFREQ
81506cad098SKevin Hilman	select GENERIC_CLOCKEVENTS
8169af915daSSriram	select ARCH_HAS_HOLES_MEMORYMODEL
8173b938be6SRussell King	help
8183b938be6SRussell King	  Support for TI's OMAP platform (OMAP1 and OMAP2).
8193b938be6SRussell King
820cee37e50Sviresh kumarconfig PLAT_SPEAR
821cee37e50Sviresh kumar	bool "ST SPEAr"
822cee37e50Sviresh kumar	select ARM_AMBA
823cee37e50Sviresh kumar	select ARCH_REQUIRE_GPIOLIB
824cee37e50Sviresh kumar	select COMMON_CLKDEV
825cee37e50Sviresh kumar	select GENERIC_CLOCKEVENTS
826cee37e50Sviresh kumar	select HAVE_CLK
827cee37e50Sviresh kumar	help
828cee37e50Sviresh kumar	  Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
829cee37e50Sviresh kumar
8301da177e4SLinus Torvaldsendchoice
8311da177e4SLinus Torvalds
832ccf50e23SRussell King#
833ccf50e23SRussell King# This is sorted alphabetically by mach-* pathname.  However, plat-*
834ccf50e23SRussell King# Kconfigs may be included either alphabetically (according to the
835ccf50e23SRussell King# plat- suffix) or along side the corresponding mach-* source.
836ccf50e23SRussell King#
83795b8f20fSRussell Kingsource "arch/arm/mach-aaec2000/Kconfig"
83895b8f20fSRussell King
83995b8f20fSRussell Kingsource "arch/arm/mach-at91/Kconfig"
84095b8f20fSRussell King
84195b8f20fSRussell Kingsource "arch/arm/mach-bcmring/Kconfig"
84295b8f20fSRussell King
8431da177e4SLinus Torvaldssource "arch/arm/mach-clps711x/Kconfig"
8441da177e4SLinus Torvalds
845d94f944eSAnton Vorontsovsource "arch/arm/mach-cns3xxx/Kconfig"
846d94f944eSAnton Vorontsov
84795b8f20fSRussell Kingsource "arch/arm/mach-davinci/Kconfig"
84895b8f20fSRussell King
84995b8f20fSRussell Kingsource "arch/arm/mach-dove/Kconfig"
85095b8f20fSRussell King
851e7736d47SLennert Buytenheksource "arch/arm/mach-ep93xx/Kconfig"
852e7736d47SLennert Buytenhek
8531da177e4SLinus Torvaldssource "arch/arm/mach-footbridge/Kconfig"
8541da177e4SLinus Torvalds
85559d3a193SPaulius Zaleckassource "arch/arm/mach-gemini/Kconfig"
85659d3a193SPaulius Zaleckas
85795b8f20fSRussell Kingsource "arch/arm/mach-h720x/Kconfig"
85895b8f20fSRussell King
8591da177e4SLinus Torvaldssource "arch/arm/mach-integrator/Kconfig"
8601da177e4SLinus Torvalds
8613f7e5815SLennert Buytenheksource "arch/arm/mach-iop32x/Kconfig"
8623f7e5815SLennert Buytenhek
8633f7e5815SLennert Buytenheksource "arch/arm/mach-iop33x/Kconfig"
8641da177e4SLinus Torvalds
865285f5fa7SDan Williamssource "arch/arm/mach-iop13xx/Kconfig"
866285f5fa7SDan Williams
8671da177e4SLinus Torvaldssource "arch/arm/mach-ixp4xx/Kconfig"
8681da177e4SLinus Torvalds
8691da177e4SLinus Torvaldssource "arch/arm/mach-ixp2000/Kconfig"
8701da177e4SLinus Torvalds
871c4713074SLennert Buytenheksource "arch/arm/mach-ixp23xx/Kconfig"
872c4713074SLennert Buytenhek
87395b8f20fSRussell Kingsource "arch/arm/mach-kirkwood/Kconfig"
87495b8f20fSRussell King
87595b8f20fSRussell Kingsource "arch/arm/mach-ks8695/Kconfig"
87695b8f20fSRussell King
87795b8f20fSRussell Kingsource "arch/arm/mach-lh7a40x/Kconfig"
87895b8f20fSRussell King
879777f9bebSLennert Buytenheksource "arch/arm/mach-loki/Kconfig"
880777f9bebSLennert Buytenhek
88140805949SKevin Wellssource "arch/arm/mach-lpc32xx/Kconfig"
88240805949SKevin Wells
88395b8f20fSRussell Kingsource "arch/arm/mach-msm/Kconfig"
88495b8f20fSRussell King
885794d15b2SStanislav Samsonovsource "arch/arm/mach-mv78xx0/Kconfig"
886794d15b2SStanislav Samsonov
88795b8f20fSRussell Kingsource "arch/arm/plat-mxc/Kconfig"
8881da177e4SLinus Torvalds
88995b8f20fSRussell Kingsource "arch/arm/mach-netx/Kconfig"
89049cbe786SEric Miao
89195b8f20fSRussell Kingsource "arch/arm/mach-nomadik/Kconfig"
89295b8f20fSRussell Kingsource "arch/arm/plat-nomadik/Kconfig"
89395b8f20fSRussell King
89495b8f20fSRussell Kingsource "arch/arm/mach-ns9xxx/Kconfig"
8951da177e4SLinus Torvalds
896d91a8910SRussell Kingsource "arch/arm/mach-nuc93x/Kconfig"
897d91a8910SRussell King
898d48af15eSTony Lindgrensource "arch/arm/plat-omap/Kconfig"
899d48af15eSTony Lindgren
900d48af15eSTony Lindgrensource "arch/arm/mach-omap1/Kconfig"
9011da177e4SLinus Torvalds
9021dbae815STony Lindgrensource "arch/arm/mach-omap2/Kconfig"
9031dbae815STony Lindgren
9049dd0b194SLennert Buytenheksource "arch/arm/mach-orion5x/Kconfig"
905585cf175STzachi Perelstein
90695b8f20fSRussell Kingsource "arch/arm/mach-pxa/Kconfig"
90795b8f20fSRussell Kingsource "arch/arm/plat-pxa/Kconfig"
9081da177e4SLinus Torvalds
90995b8f20fSRussell Kingsource "arch/arm/mach-mmp/Kconfig"
91095b8f20fSRussell King
91195b8f20fSRussell Kingsource "arch/arm/mach-realview/Kconfig"
91295b8f20fSRussell King
91395b8f20fSRussell Kingsource "arch/arm/mach-sa1100/Kconfig"
914edabd38eSSaeed Bishara
915cf383678SBen Dookssource "arch/arm/plat-samsung/Kconfig"
916a21765a7SBen Dookssource "arch/arm/plat-s3c24xx/Kconfig"
917c4ffccddSKukjin Kimsource "arch/arm/plat-s5p/Kconfig"
918a21765a7SBen Dooks
919cee37e50Sviresh kumarsource "arch/arm/plat-spear/Kconfig"
920a21765a7SBen Dooks
921a21765a7SBen Dooksif ARCH_S3C2410
922a21765a7SBen Dookssource "arch/arm/mach-s3c2400/Kconfig"
9231da177e4SLinus Torvaldssource "arch/arm/mach-s3c2410/Kconfig"
924a21765a7SBen Dookssource "arch/arm/mach-s3c2412/Kconfig"
925f1290a49SYauhen Kharuzhysource "arch/arm/mach-s3c2416/Kconfig"
926a21765a7SBen Dookssource "arch/arm/mach-s3c2440/Kconfig"
927e4d06e39SBen Dookssource "arch/arm/mach-s3c2443/Kconfig"
928a21765a7SBen Dooksendif
9291da177e4SLinus Torvalds
930a08ab637SBen Dooksif ARCH_S3C64XX
931431107eaSBen Dookssource "arch/arm/mach-s3c64xx/Kconfig"
932a08ab637SBen Dooksendif
933a08ab637SBen Dooks
934c4ffccddSKukjin Kimsource "arch/arm/mach-s5p6440/Kconfig"
935c4ffccddSKukjin Kim
936550db7f1SKukjin Kimsource "arch/arm/mach-s5p6442/Kconfig"
9377bd0f2f5Sdmitry pervushin
9385a7652f2SByungho Minsource "arch/arm/mach-s5pc100/Kconfig"
9395a7652f2SByungho Min
940170f4e42SKukjin Kimsource "arch/arm/mach-s5pv210/Kconfig"
941170f4e42SKukjin Kim
942cc0e72b8SChanghwan Younsource "arch/arm/mach-s5pv310/Kconfig"
943cc0e72b8SChanghwan Youn
944882d01f9SRussell Kingsource "arch/arm/mach-shmobile/Kconfig"
9451da177e4SLinus Torvalds
946882d01f9SRussell Kingsource "arch/arm/plat-stmp3xxx/Kconfig"
9479e73c84cSBrian Swetland
948c5f80065SErik Gillingsource "arch/arm/mach-tegra/Kconfig"
949c5f80065SErik Gilling
95095b8f20fSRussell Kingsource "arch/arm/mach-u300/Kconfig"
95152c543f9SQuinn Jensen
95295b8f20fSRussell Kingsource "arch/arm/mach-ux500/Kconfig"
9531da177e4SLinus Torvalds
9541da177e4SLinus Torvaldssource "arch/arm/mach-versatile/Kconfig"
9551da177e4SLinus Torvalds
956ceade897SRussell Kingsource "arch/arm/mach-vexpress/Kconfig"
957ceade897SRussell King
9587ec80ddfSwanzongshunsource "arch/arm/mach-w90x900/Kconfig"
9597ec80ddfSwanzongshun
9601da177e4SLinus Torvalds# Definitions to make life easier
9611da177e4SLinus Torvaldsconfig ARCH_ACORN
9621da177e4SLinus Torvalds	bool
9631da177e4SLinus Torvalds
9647ae1f7ecSLennert Buytenhekconfig PLAT_IOP
9657ae1f7ecSLennert Buytenhek	bool
966469d3044SMikael Pettersson	select GENERIC_CLOCKEVENTS
9677ae1f7ecSLennert Buytenhek
96869b02f6aSLennert Buytenhekconfig PLAT_ORION
96969b02f6aSLennert Buytenhek	bool
97069b02f6aSLennert Buytenhek
971bd5ce433SEric Miaoconfig PLAT_PXA
972bd5ce433SEric Miao	bool
973bd5ce433SEric Miao
974f4b8b319SRussell Kingconfig PLAT_VERSATILE
975f4b8b319SRussell King	bool
976f4b8b319SRussell King
977e3887714SRussell Kingconfig ARM_TIMER_SP804
978e3887714SRussell King	bool
979e3887714SRussell King
9801da177e4SLinus Torvaldssource arch/arm/mm/Kconfig
9811da177e4SLinus Torvalds
982afe4b25eSLennert Buytenhekconfig IWMMXT
983afe4b25eSLennert Buytenhek	bool "Enable iWMMXt support"
98440305a58SEric Miao	depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
98540305a58SEric Miao	default y if PXA27x || PXA3xx || ARCH_MMP
986afe4b25eSLennert Buytenhek	help
987afe4b25eSLennert Buytenhek	  Enable support for iWMMXt context switching at run time if
988afe4b25eSLennert Buytenhek	  running on a CPU that supports it.
989afe4b25eSLennert Buytenhek
9901da177e4SLinus Torvalds#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
9911da177e4SLinus Torvaldsconfig XSCALE_PMU
9921da177e4SLinus Torvalds	bool
9931da177e4SLinus Torvalds	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
9941da177e4SLinus Torvalds	default y
9951da177e4SLinus Torvalds
9960f4f0672SJamie Ilesconfig CPU_HAS_PMU
9978954bb0dSWill Deacon	depends on (CPU_V6 || CPU_V7 || XSCALE_PMU) && \
9988954bb0dSWill Deacon		   (!ARCH_OMAP3 || OMAP3_EMU)
9990f4f0672SJamie Iles	default y
10000f4f0672SJamie Iles	bool
10010f4f0672SJamie Iles
10023b93e7b0SHyok S. Choiif !MMU
10033b93e7b0SHyok S. Choisource "arch/arm/Kconfig-nommu"
10043b93e7b0SHyok S. Choiendif
10053b93e7b0SHyok S. Choi
10069cba3cccSCatalin Marinasconfig ARM_ERRATA_411920
10079cba3cccSCatalin Marinas	bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
10089cba3cccSCatalin Marinas	depends on CPU_V6 && !SMP
10099cba3cccSCatalin Marinas	help
10109cba3cccSCatalin Marinas	  Invalidation of the Instruction Cache operation can
10119cba3cccSCatalin Marinas	  fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
10129cba3cccSCatalin Marinas	  It does not affect the MPCore. This option enables the ARM Ltd.
10139cba3cccSCatalin Marinas	  recommended workaround.
10149cba3cccSCatalin Marinas
10157ce236fcSCatalin Marinasconfig ARM_ERRATA_430973
10167ce236fcSCatalin Marinas	bool "ARM errata: Stale prediction on replaced interworking branch"
10177ce236fcSCatalin Marinas	depends on CPU_V7
10187ce236fcSCatalin Marinas	help
10197ce236fcSCatalin Marinas	  This option enables the workaround for the 430973 Cortex-A8
10207ce236fcSCatalin Marinas	  (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
10217ce236fcSCatalin Marinas	  interworking branch is replaced with another code sequence at the
10227ce236fcSCatalin Marinas	  same virtual address, whether due to self-modifying code or virtual
10237ce236fcSCatalin Marinas	  to physical address re-mapping, Cortex-A8 does not recover from the
10247ce236fcSCatalin Marinas	  stale interworking branch prediction. This results in Cortex-A8
10257ce236fcSCatalin Marinas	  executing the new code sequence in the incorrect ARM or Thumb state.
10267ce236fcSCatalin Marinas	  The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
10277ce236fcSCatalin Marinas	  and also flushes the branch target cache at every context switch.
10287ce236fcSCatalin Marinas	  Note that setting specific bits in the ACTLR register may not be
10297ce236fcSCatalin Marinas	  available in non-secure mode.
10307ce236fcSCatalin Marinas
1031855c551fSCatalin Marinasconfig ARM_ERRATA_458693
1032855c551fSCatalin Marinas	bool "ARM errata: Processor deadlock when a false hazard is created"
1033855c551fSCatalin Marinas	depends on CPU_V7
1034855c551fSCatalin Marinas	help
1035855c551fSCatalin Marinas	  This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1036855c551fSCatalin Marinas	  erratum. For very specific sequences of memory operations, it is
1037855c551fSCatalin Marinas	  possible for a hazard condition intended for a cache line to instead
1038855c551fSCatalin Marinas	  be incorrectly associated with a different cache line. This false
1039855c551fSCatalin Marinas	  hazard might then cause a processor deadlock. The workaround enables
1040855c551fSCatalin Marinas	  the L1 caching of the NEON accesses and disables the PLD instruction
1041855c551fSCatalin Marinas	  in the ACTLR register. Note that setting specific bits in the ACTLR
1042855c551fSCatalin Marinas	  register may not be available in non-secure mode.
1043855c551fSCatalin Marinas
10440516e464SCatalin Marinasconfig ARM_ERRATA_460075
10450516e464SCatalin Marinas	bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
10460516e464SCatalin Marinas	depends on CPU_V7
10470516e464SCatalin Marinas	help
10480516e464SCatalin Marinas	  This option enables the workaround for the 460075 Cortex-A8 (r2p0)
10490516e464SCatalin Marinas	  erratum. Any asynchronous access to the L2 cache may encounter a
10500516e464SCatalin Marinas	  situation in which recent store transactions to the L2 cache are lost
10510516e464SCatalin Marinas	  and overwritten with stale memory contents from external memory. The
10520516e464SCatalin Marinas	  workaround disables the write-allocate mode for the L2 cache via the
10530516e464SCatalin Marinas	  ACTLR register. Note that setting specific bits in the ACTLR register
10540516e464SCatalin Marinas	  may not be available in non-secure mode.
10550516e464SCatalin Marinas
10569e65582aSSantosh Shilimkarconfig PL310_ERRATA_588369
10579e65582aSSantosh Shilimkar	bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
10589e65582aSSantosh Shilimkar	depends on CACHE_L2X0 && ARCH_OMAP4
10599e65582aSSantosh Shilimkar	help
10609e65582aSSantosh Shilimkar	   The PL310 L2 cache controller implements three types of Clean &
10619e65582aSSantosh Shilimkar	   Invalidate maintenance operations: by Physical Address
10629e65582aSSantosh Shilimkar	   (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
10639e65582aSSantosh Shilimkar	   They are architecturally defined to behave as the execution of a
10649e65582aSSantosh Shilimkar	   clean operation followed immediately by an invalidate operation,
10659e65582aSSantosh Shilimkar	   both performing to the same memory location. This functionality
10669e65582aSSantosh Shilimkar	   is not correctly implemented in PL310 as clean lines are not
10679e65582aSSantosh Shilimkar	   invalidated as a result of these operations. Note that this errata
10689e65582aSSantosh Shilimkar	   uses Texas Instrument's secure monitor api.
1069cdf357f1SWill Deacon
1070cdf357f1SWill Deaconconfig ARM_ERRATA_720789
1071cdf357f1SWill Deacon	bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1072cdf357f1SWill Deacon	depends on CPU_V7 && SMP
1073cdf357f1SWill Deacon	help
1074cdf357f1SWill Deacon	  This option enables the workaround for the 720789 Cortex-A9 (prior to
1075cdf357f1SWill Deacon	  r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1076cdf357f1SWill Deacon	  broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1077cdf357f1SWill Deacon	  As a consequence of this erratum, some TLB entries which should be
1078cdf357f1SWill Deacon	  invalidated are not, resulting in an incoherency in the system page
1079cdf357f1SWill Deacon	  tables. The workaround changes the TLB flushing routines to invalidate
1080cdf357f1SWill Deacon	  entries regardless of the ASID.
10811da177e4SLinus Torvaldsendmenu
10821da177e4SLinus Torvalds
10831da177e4SLinus Torvaldssource "arch/arm/common/Kconfig"
10841da177e4SLinus Torvalds
10851da177e4SLinus Torvaldsmenu "Bus support"
10861da177e4SLinus Torvalds
10871da177e4SLinus Torvaldsconfig ARM_AMBA
10881da177e4SLinus Torvalds	bool
10891da177e4SLinus Torvalds
10901da177e4SLinus Torvaldsconfig ISA
10911da177e4SLinus Torvalds	bool
10921da177e4SLinus Torvalds	help
10931da177e4SLinus Torvalds	  Find out whether you have ISA slots on your motherboard.  ISA is the
10941da177e4SLinus Torvalds	  name of a bus system, i.e. the way the CPU talks to the other stuff
10951da177e4SLinus Torvalds	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
10961da177e4SLinus Torvalds	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
10971da177e4SLinus Torvalds	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
10981da177e4SLinus Torvalds
1099065909b9SRussell King# Select ISA DMA controller support
11001da177e4SLinus Torvaldsconfig ISA_DMA
11011da177e4SLinus Torvalds	bool
1102065909b9SRussell King	select ISA_DMA_API
11031da177e4SLinus Torvalds
1104065909b9SRussell King# Select ISA DMA interface
11055cae841bSAl Viroconfig ISA_DMA_API
11065cae841bSAl Viro	bool
11075cae841bSAl Viro
11081da177e4SLinus Torvaldsconfig PCI
11095f32f7a0SAnton Vorontsov	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
11101da177e4SLinus Torvalds	help
11111da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
11121da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
11131da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
11141da177e4SLinus Torvalds	  VESA. If you have PCI, say Y, otherwise N.
11151da177e4SLinus Torvalds
111652882173SAnton Vorontsovconfig PCI_DOMAINS
111752882173SAnton Vorontsov	bool
111852882173SAnton Vorontsov	depends on PCI
111952882173SAnton Vorontsov
112036e23590SMatthew Wilcoxconfig PCI_SYSCALL
112136e23590SMatthew Wilcox	def_bool PCI
112236e23590SMatthew Wilcox
11231da177e4SLinus Torvalds# Select the host bridge type
11241da177e4SLinus Torvaldsconfig PCI_HOST_VIA82C505
11251da177e4SLinus Torvalds	bool
11261da177e4SLinus Torvalds	depends on PCI && ARCH_SHARK
11271da177e4SLinus Torvalds	default y
11281da177e4SLinus Torvalds
1129a0113a99SMike Rapoportconfig PCI_HOST_ITE8152
1130a0113a99SMike Rapoport	bool
1131a0113a99SMike Rapoport	depends on PCI && MACH_ARMCORE
1132a0113a99SMike Rapoport	default y
1133a0113a99SMike Rapoport	select DMABOUNCE
1134a0113a99SMike Rapoport
11351da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
11361da177e4SLinus Torvalds
11371da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
11381da177e4SLinus Torvalds
11391da177e4SLinus Torvaldsendmenu
11401da177e4SLinus Torvalds
11411da177e4SLinus Torvaldsmenu "Kernel Features"
11421da177e4SLinus Torvalds
11430567a0c0SKevin Hilmansource "kernel/time/Kconfig"
11440567a0c0SKevin Hilman
11451da177e4SLinus Torvaldsconfig SMP
11461da177e4SLinus Torvalds	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
114742578c82SRussell King	depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
114859ac59f6SRussell King		 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
11490b019a41SRussell King		 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1150bc28248eSRussell King	depends on GENERIC_CLOCKEVENTS
1151f6dd9fa5SJens Axboe	select USE_GENERIC_SMP_HELPERS
11520b019a41SRussell King	select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\
11530b019a41SRussell King		 ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
11541da177e4SLinus Torvalds	help
11551da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
11561da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
11571da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
11581da177e4SLinus Torvalds
11591da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
11601da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
11611da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all, single
11621da177e4SLinus Torvalds	  processor machines. On a single processor machine, the kernel will
11631da177e4SLinus Torvalds	  run faster if you say N here.
11641da177e4SLinus Torvalds
116503502faaSAdrian Bunk	  See also <file:Documentation/i386/IO-APIC.txt>,
11661da177e4SLinus Torvalds	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
11671da177e4SLinus Torvalds	  <http://www.linuxdoc.org/docs.html#howto>.
11681da177e4SLinus Torvalds
11691da177e4SLinus Torvalds	  If you don't know what to do here, say N.
11701da177e4SLinus Torvalds
1171a8cbcd92SRussell Kingconfig HAVE_ARM_SCU
1172a8cbcd92SRussell King	bool
1173a8cbcd92SRussell King	depends on SMP
1174a8cbcd92SRussell King	help
1175a8cbcd92SRussell King	  This option enables support for the ARM system coherency unit
1176a8cbcd92SRussell King
1177f32f4ce2SRussell Kingconfig HAVE_ARM_TWD
1178f32f4ce2SRussell King	bool
1179f32f4ce2SRussell King	depends on SMP
1180f32f4ce2SRussell King	help
1181f32f4ce2SRussell King	  This options enables support for the ARM timer and watchdog unit
1182f32f4ce2SRussell King
11838d5796d2SLennert Buytenhekchoice
11848d5796d2SLennert Buytenhek	prompt "Memory split"
11858d5796d2SLennert Buytenhek	default VMSPLIT_3G
11868d5796d2SLennert Buytenhek	help
11878d5796d2SLennert Buytenhek	  Select the desired split between kernel and user memory.
11888d5796d2SLennert Buytenhek
11898d5796d2SLennert Buytenhek	  If you are not absolutely sure what you are doing, leave this
11908d5796d2SLennert Buytenhek	  option alone!
11918d5796d2SLennert Buytenhek
11928d5796d2SLennert Buytenhek	config VMSPLIT_3G
11938d5796d2SLennert Buytenhek		bool "3G/1G user/kernel split"
11948d5796d2SLennert Buytenhek	config VMSPLIT_2G
11958d5796d2SLennert Buytenhek		bool "2G/2G user/kernel split"
11968d5796d2SLennert Buytenhek	config VMSPLIT_1G
11978d5796d2SLennert Buytenhek		bool "1G/3G user/kernel split"
11988d5796d2SLennert Buytenhekendchoice
11998d5796d2SLennert Buytenhek
12008d5796d2SLennert Buytenhekconfig PAGE_OFFSET
12018d5796d2SLennert Buytenhek	hex
12028d5796d2SLennert Buytenhek	default 0x40000000 if VMSPLIT_1G
12038d5796d2SLennert Buytenhek	default 0x80000000 if VMSPLIT_2G
12048d5796d2SLennert Buytenhek	default 0xC0000000
12058d5796d2SLennert Buytenhek
12061da177e4SLinus Torvaldsconfig NR_CPUS
12071da177e4SLinus Torvalds	int "Maximum number of CPUs (2-32)"
12081da177e4SLinus Torvalds	range 2 32
12091da177e4SLinus Torvalds	depends on SMP
12101da177e4SLinus Torvalds	default "4"
12111da177e4SLinus Torvalds
1212a054a811SRussell Kingconfig HOTPLUG_CPU
1213a054a811SRussell King	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1214a054a811SRussell King	depends on SMP && HOTPLUG && EXPERIMENTAL
1215a054a811SRussell King	help
1216a054a811SRussell King	  Say Y here to experiment with turning CPUs off and on.  CPUs
1217a054a811SRussell King	  can be controlled through /sys/devices/system/cpu.
1218a054a811SRussell King
121937ee16aeSRussell Kingconfig LOCAL_TIMERS
122037ee16aeSRussell King	bool "Use local timer interrupts"
122142578c82SRussell King	depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
1222bde28b84SWill Deacon		REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
12230b019a41SRussell King		ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
122437ee16aeSRussell King	default y
12250b019a41SRussell King	select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \
12260b019a41SRussell King		ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS
122737ee16aeSRussell King	help
122837ee16aeSRussell King	  Enable support for local timers on SMP platforms, rather then the
122937ee16aeSRussell King	  legacy IPI broadcast method.  Local timers allows the system
123037ee16aeSRussell King	  accounting to be spread across the timer interval, preventing a
123137ee16aeSRussell King	  "thundering herd" at every timer tick.
123237ee16aeSRussell King
1233d45a398fSUwe Kleine-Königsource kernel/Kconfig.preempt
12341da177e4SLinus Torvalds
1235f8065813SRussell Kingconfig HZ
1236f8065813SRussell King	int
12372192482eSRussell King	default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \
12382192482eSRussell King		ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
1239bfe65704SRussell King	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
12405248c657SDavid Brownell	default AT91_TIMER_HZ if ARCH_AT91
12415da3e714SMagnus Damm	default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
1242f8065813SRussell King	default 100
1243f8065813SRussell King
124416c79651SCatalin Marinasconfig THUMB2_KERNEL
124516c79651SCatalin Marinas	bool "Compile the kernel in Thumb-2 mode"
124616c79651SCatalin Marinas	depends on CPU_V7 && EXPERIMENTAL
124716c79651SCatalin Marinas	select AEABI
124816c79651SCatalin Marinas	select ARM_ASM_UNIFIED
124916c79651SCatalin Marinas	help
125016c79651SCatalin Marinas	  By enabling this option, the kernel will be compiled in
125116c79651SCatalin Marinas	  Thumb-2 mode. A compiler/assembler that understand the unified
125216c79651SCatalin Marinas	  ARM-Thumb syntax is needed.
125316c79651SCatalin Marinas
125416c79651SCatalin Marinas	  If unsure, say N.
125516c79651SCatalin Marinas
12560becb088SCatalin Marinasconfig ARM_ASM_UNIFIED
12570becb088SCatalin Marinas	bool
12580becb088SCatalin Marinas
1259704bdda0SNicolas Pitreconfig AEABI
1260704bdda0SNicolas Pitre	bool "Use the ARM EABI to compile the kernel"
1261704bdda0SNicolas Pitre	help
1262704bdda0SNicolas Pitre	  This option allows for the kernel to be compiled using the latest
1263704bdda0SNicolas Pitre	  ARM ABI (aka EABI).  This is only useful if you are using a user
1264704bdda0SNicolas Pitre	  space environment that is also compiled with EABI.
1265704bdda0SNicolas Pitre
1266704bdda0SNicolas Pitre	  Since there are major incompatibilities between the legacy ABI and
1267704bdda0SNicolas Pitre	  EABI, especially with regard to structure member alignment, this
1268704bdda0SNicolas Pitre	  option also changes the kernel syscall calling convention to
1269704bdda0SNicolas Pitre	  disambiguate both ABIs and allow for backward compatibility support
1270704bdda0SNicolas Pitre	  (selected with CONFIG_OABI_COMPAT).
1271704bdda0SNicolas Pitre
1272704bdda0SNicolas Pitre	  To use this you need GCC version 4.0.0 or later.
1273704bdda0SNicolas Pitre
12746c90c872SNicolas Pitreconfig OABI_COMPAT
1275a73a3ff1SRussell King	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
127661c484d4SNicolas Pitre	depends on AEABI && EXPERIMENTAL
12776c90c872SNicolas Pitre	default y
12786c90c872SNicolas Pitre	help
12796c90c872SNicolas Pitre	  This option preserves the old syscall interface along with the
12806c90c872SNicolas Pitre	  new (ARM EABI) one. It also provides a compatibility layer to
12816c90c872SNicolas Pitre	  intercept syscalls that have structure arguments which layout
12826c90c872SNicolas Pitre	  in memory differs between the legacy ABI and the new ARM EABI
12836c90c872SNicolas Pitre	  (only for non "thumb" binaries). This option adds a tiny
12846c90c872SNicolas Pitre	  overhead to all syscalls and produces a slightly larger kernel.
12856c90c872SNicolas Pitre	  If you know you'll be using only pure EABI user space then you
12866c90c872SNicolas Pitre	  can say N here. If this option is not selected and you attempt
12876c90c872SNicolas Pitre	  to execute a legacy ABI binary then the result will be
12886c90c872SNicolas Pitre	  UNPREDICTABLE (in fact it can be predicted that it won't work
12896c90c872SNicolas Pitre	  at all). If in doubt say Y.
12906c90c872SNicolas Pitre
1291eb33575cSMel Gormanconfig ARCH_HAS_HOLES_MEMORYMODEL
1292e80d6a24SMel Gorman	bool
1293e80d6a24SMel Gorman
129405944d74SRussell Kingconfig ARCH_SPARSEMEM_ENABLE
129505944d74SRussell King	bool
129605944d74SRussell King
129707a2f737SRussell Kingconfig ARCH_SPARSEMEM_DEFAULT
129807a2f737SRussell King	def_bool ARCH_SPARSEMEM_ENABLE
129907a2f737SRussell King
130005944d74SRussell Kingconfig ARCH_SELECT_MEMORY_MODEL
1301be370302SRussell King	def_bool ARCH_SPARSEMEM_ENABLE
1302c80d79d7SYasunori Goto
1303053a96caSNicolas Pitreconfig HIGHMEM
1304053a96caSNicolas Pitre	bool "High Memory Support (EXPERIMENTAL)"
1305053a96caSNicolas Pitre	depends on MMU && EXPERIMENTAL
1306053a96caSNicolas Pitre	help
1307053a96caSNicolas Pitre	  The address space of ARM processors is only 4 Gigabytes large
1308053a96caSNicolas Pitre	  and it has to accommodate user address space, kernel address
1309053a96caSNicolas Pitre	  space as well as some memory mapped IO. That means that, if you
1310053a96caSNicolas Pitre	  have a large amount of physical memory and/or IO, not all of the
1311053a96caSNicolas Pitre	  memory can be "permanently mapped" by the kernel. The physical
1312053a96caSNicolas Pitre	  memory that is not permanently mapped is called "high memory".
1313053a96caSNicolas Pitre
1314053a96caSNicolas Pitre	  Depending on the selected kernel/user memory split, minimum
1315053a96caSNicolas Pitre	  vmalloc space and actual amount of RAM, you may not need this
1316053a96caSNicolas Pitre	  option which should result in a slightly faster kernel.
1317053a96caSNicolas Pitre
1318053a96caSNicolas Pitre	  If unsure, say n.
1319053a96caSNicolas Pitre
132065cec8e3SRussell Kingconfig HIGHPTE
132165cec8e3SRussell King	bool "Allocate 2nd-level pagetables from highmem"
132265cec8e3SRussell King	depends on HIGHMEM
132365cec8e3SRussell King	depends on !OUTER_CACHE
132465cec8e3SRussell King
13251b8873a0SJamie Ilesconfig HW_PERF_EVENTS
13261b8873a0SJamie Iles	bool "Enable hardware performance counter support for perf events"
1327fe166148SWill Deacon	depends on PERF_EVENTS && CPU_HAS_PMU
13281b8873a0SJamie Iles	default y
13291b8873a0SJamie Iles	help
13301b8873a0SJamie Iles	  Enable hardware performance counter support for perf events. If
13311b8873a0SJamie Iles	  disabled, perf events will use software events only.
13321b8873a0SJamie Iles
1333354e6f72Seric miaoconfig SPARSE_IRQ
1334c1ba6ba3Seric miao	def_bool n
1335354e6f72Seric miao	help
1336354e6f72Seric miao	  This enables support for sparse irqs. This is useful in general
1337354e6f72Seric miao	  as most CPUs have a fairly sparse array of IRQ vectors, which
1338354e6f72Seric miao	  the irq_desc then maps directly on to. Systems with a high
1339354e6f72Seric miao	  number of off-chip IRQs will want to treat this as
1340354e6f72Seric miao	  experimental until they have been independently verified.
1341354e6f72Seric miao
13423f22ab27SDave Hansensource "mm/Kconfig"
13433f22ab27SDave Hansen
1344c1b2d970SMagnus Dammconfig FORCE_MAX_ZONEORDER
1345c1b2d970SMagnus Damm	int "Maximum zone order" if ARCH_SHMOBILE
1346c1b2d970SMagnus Damm	range 11 64 if ARCH_SHMOBILE
1347c1b2d970SMagnus Damm	default "9" if SA1111
1348c1b2d970SMagnus Damm	default "11"
1349c1b2d970SMagnus Damm	help
1350c1b2d970SMagnus Damm	  The kernel memory allocator divides physically contiguous memory
1351c1b2d970SMagnus Damm	  blocks into "zones", where each zone is a power of two number of
1352c1b2d970SMagnus Damm	  pages.  This option selects the largest power of two that the kernel
1353c1b2d970SMagnus Damm	  keeps in the memory allocator.  If you need to allocate very large
1354c1b2d970SMagnus Damm	  blocks of physically contiguous memory, then you may need to
1355c1b2d970SMagnus Damm	  increase this value.
1356c1b2d970SMagnus Damm
1357c1b2d970SMagnus Damm	  This config option is actually maximum order plus one. For example,
1358c1b2d970SMagnus Damm	  a value of 11 means that the largest free memory block is 2^10 pages.
1359c1b2d970SMagnus Damm
13601da177e4SLinus Torvaldsconfig LEDS
13611da177e4SLinus Torvalds	bool "Timer and CPU usage LEDs"
1362e055d5bfSAdrian Bunk	depends on ARCH_CDB89712 || ARCH_EBSA110 || \
13638c8fdbc9SSascha Hauer		   ARCH_EBSA285 || ARCH_INTEGRATOR || \
13641da177e4SLinus Torvalds		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
13651da177e4SLinus Torvalds		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
136673a59c1cSSAN People		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
136725329671SJürgen Schindele		   ARCH_AT91 || ARCH_DAVINCI || \
1368ff3042fbSColin Tuckley		   ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
13691da177e4SLinus Torvalds	help
13701da177e4SLinus Torvalds	  If you say Y here, the LEDs on your machine will be used
13711da177e4SLinus Torvalds	  to provide useful information about your current system status.
13721da177e4SLinus Torvalds
13731da177e4SLinus Torvalds	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
13741da177e4SLinus Torvalds	  be able to select which LEDs are active using the options below. If
13751da177e4SLinus Torvalds	  you are compiling a kernel for the EBSA-110 or the LART however, the
13761da177e4SLinus Torvalds	  red LED will simply flash regularly to indicate that the system is
13771da177e4SLinus Torvalds	  still functional. It is safe to say Y here if you have a CATS
13781da177e4SLinus Torvalds	  system, but the driver will do nothing.
13791da177e4SLinus Torvalds
13801da177e4SLinus Torvaldsconfig LEDS_TIMER
13811da177e4SLinus Torvalds	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
1382eebdf7d7SDavid Brownell			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1383eebdf7d7SDavid Brownell			    || MACH_OMAP_PERSEUS2
13841da177e4SLinus Torvalds	depends on LEDS
13850567a0c0SKevin Hilman	depends on !GENERIC_CLOCKEVENTS
13861da177e4SLinus Torvalds	default y if ARCH_EBSA110
13871da177e4SLinus Torvalds	help
13881da177e4SLinus Torvalds	  If you say Y here, one of the system LEDs (the green one on the
13891da177e4SLinus Torvalds	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
13901da177e4SLinus Torvalds	  will flash regularly to indicate that the system is still
13911da177e4SLinus Torvalds	  operational. This is mainly useful to kernel hackers who are
13921da177e4SLinus Torvalds	  debugging unstable kernels.
13931da177e4SLinus Torvalds
13941da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
13951da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
13961da177e4SLinus Torvalds	  will overrule the CPU usage LED.
13971da177e4SLinus Torvalds
13981da177e4SLinus Torvaldsconfig LEDS_CPU
13991da177e4SLinus Torvalds	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
1400eebdf7d7SDavid Brownell			!ARCH_OMAP) \
1401eebdf7d7SDavid Brownell			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1402eebdf7d7SDavid Brownell			|| MACH_OMAP_PERSEUS2
14031da177e4SLinus Torvalds	depends on LEDS
14041da177e4SLinus Torvalds	help
14051da177e4SLinus Torvalds	  If you say Y here, the red LED will be used to give a good real
14061da177e4SLinus Torvalds	  time indication of CPU usage, by lighting whenever the idle task
14071da177e4SLinus Torvalds	  is not currently executing.
14081da177e4SLinus Torvalds
14091da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
14101da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
14111da177e4SLinus Torvalds	  will overrule the CPU usage LED.
14121da177e4SLinus Torvalds
14131da177e4SLinus Torvaldsconfig ALIGNMENT_TRAP
14141da177e4SLinus Torvalds	bool
1415f12d0d7cSHyok S. Choi	depends on CPU_CP15_MMU
14161da177e4SLinus Torvalds	default y if !ARCH_EBSA110
1417e119bfffSRussell King	select HAVE_PROC_CPU if PROC_FS
14181da177e4SLinus Torvalds	help
14191da177e4SLinus Torvalds	  ARM processors cannot fetch/store information which is not
14201da177e4SLinus Torvalds	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
14211da177e4SLinus Torvalds	  address divisible by 4. On 32-bit ARM processors, these non-aligned
14221da177e4SLinus Torvalds	  fetch/store instructions will be emulated in software if you say
14231da177e4SLinus Torvalds	  here, which has a severe performance impact. This is necessary for
14241da177e4SLinus Torvalds	  correct operation of some network protocols. With an IP-only
14251da177e4SLinus Torvalds	  configuration it is safe to say N, otherwise say Y.
14261da177e4SLinus Torvalds
142739ec58f3SLennert Buytenhekconfig UACCESS_WITH_MEMCPY
142839ec58f3SLennert Buytenhek	bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
142939ec58f3SLennert Buytenhek	depends on MMU && EXPERIMENTAL
143039ec58f3SLennert Buytenhek	default y if CPU_FEROCEON
143139ec58f3SLennert Buytenhek	help
143239ec58f3SLennert Buytenhek	  Implement faster copy_to_user and clear_user methods for CPU
143339ec58f3SLennert Buytenhek	  cores where a 8-word STM instruction give significantly higher
143439ec58f3SLennert Buytenhek	  memory write throughput than a sequence of individual 32bit stores.
143539ec58f3SLennert Buytenhek
143639ec58f3SLennert Buytenhek	  A possible side effect is a slight increase in scheduling latency
143739ec58f3SLennert Buytenhek	  between threads sharing the same address space if they invoke
143839ec58f3SLennert Buytenhek	  such copy operations with large buffers.
143939ec58f3SLennert Buytenhek
144039ec58f3SLennert Buytenhek	  However, if the CPU data cache is using a write-allocate mode,
144139ec58f3SLennert Buytenhek	  this option is unlikely to provide any performance gain.
144239ec58f3SLennert Buytenhek
1443c743f380SNicolas Pitreconfig CC_STACKPROTECTOR
1444c743f380SNicolas Pitre	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1445c743f380SNicolas Pitre	help
1446c743f380SNicolas Pitre	  This option turns on the -fstack-protector GCC feature. This
1447c743f380SNicolas Pitre	  feature puts, at the beginning of functions, a canary value on
1448c743f380SNicolas Pitre	  the stack just before the return address, and validates
1449c743f380SNicolas Pitre	  the value just before actually returning.  Stack based buffer
1450c743f380SNicolas Pitre	  overflows (that need to overwrite this return address) now also
1451c743f380SNicolas Pitre	  overwrite the canary, which gets detected and the attack is then
1452c743f380SNicolas Pitre	  neutralized via a kernel panic.
1453c743f380SNicolas Pitre	  This feature requires gcc version 4.2 or above.
1454c743f380SNicolas Pitre
145573a65b3fSUwe Kleine-Königconfig DEPRECATED_PARAM_STRUCT
145673a65b3fSUwe Kleine-König	bool "Provide old way to pass kernel parameters"
145773a65b3fSUwe Kleine-König	help
145873a65b3fSUwe Kleine-König	  This was deprecated in 2001 and announced to live on for 5 years.
145973a65b3fSUwe Kleine-König	  Some old boot loaders still use this way.
146073a65b3fSUwe Kleine-König
14611da177e4SLinus Torvaldsendmenu
14621da177e4SLinus Torvalds
14631da177e4SLinus Torvaldsmenu "Boot options"
14641da177e4SLinus Torvalds
14651da177e4SLinus Torvalds# Compressed boot loader in ROM.  Yes, we really want to ask about
14661da177e4SLinus Torvalds# TEXT and BSS so we preserve their values in the config files.
14671da177e4SLinus Torvaldsconfig ZBOOT_ROM_TEXT
14681da177e4SLinus Torvalds	hex "Compressed ROM boot loader base address"
14691da177e4SLinus Torvalds	default "0"
14701da177e4SLinus Torvalds	help
14711da177e4SLinus Torvalds	  The physical address at which the ROM-able zImage is to be
14721da177e4SLinus Torvalds	  placed in the target.  Platforms which normally make use of
14731da177e4SLinus Torvalds	  ROM-able zImage formats normally set this to a suitable
14741da177e4SLinus Torvalds	  value in their defconfig file.
14751da177e4SLinus Torvalds
14761da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
14771da177e4SLinus Torvalds
14781da177e4SLinus Torvaldsconfig ZBOOT_ROM_BSS
14791da177e4SLinus Torvalds	hex "Compressed ROM boot loader BSS address"
14801da177e4SLinus Torvalds	default "0"
14811da177e4SLinus Torvalds	help
1482f8c440b2SDan Fandrich	  The base address of an area of read/write memory in the target
1483f8c440b2SDan Fandrich	  for the ROM-able zImage which must be available while the
1484f8c440b2SDan Fandrich	  decompressor is running. It must be large enough to hold the
1485f8c440b2SDan Fandrich	  entire decompressed kernel plus an additional 128 KiB.
1486f8c440b2SDan Fandrich	  Platforms which normally make use of ROM-able zImage formats
1487f8c440b2SDan Fandrich	  normally set this to a suitable value in their defconfig file.
14881da177e4SLinus Torvalds
14891da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
14901da177e4SLinus Torvalds
14911da177e4SLinus Torvaldsconfig ZBOOT_ROM
14921da177e4SLinus Torvalds	bool "Compressed boot loader in ROM/flash"
14931da177e4SLinus Torvalds	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
14941da177e4SLinus Torvalds	help
14951da177e4SLinus Torvalds	  Say Y here if you intend to execute your compressed kernel image
14961da177e4SLinus Torvalds	  (zImage) directly from ROM or flash.  If unsure, say N.
14971da177e4SLinus Torvalds
14981da177e4SLinus Torvaldsconfig CMDLINE
14991da177e4SLinus Torvalds	string "Default kernel command string"
15001da177e4SLinus Torvalds	default ""
15011da177e4SLinus Torvalds	help
15021da177e4SLinus Torvalds	  On some architectures (EBSA110 and CATS), there is currently no way
15031da177e4SLinus Torvalds	  for the boot loader to pass arguments to the kernel. For these
15041da177e4SLinus Torvalds	  architectures, you should supply some command-line options at build
15051da177e4SLinus Torvalds	  time by entering them here. As a minimum, you should specify the
15061da177e4SLinus Torvalds	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
15071da177e4SLinus Torvalds
150892d2040dSAlexander Hollerconfig CMDLINE_FORCE
150992d2040dSAlexander Holler	bool "Always use the default kernel command string"
151092d2040dSAlexander Holler	depends on CMDLINE != ""
151192d2040dSAlexander Holler	help
151292d2040dSAlexander Holler	  Always use the default kernel command string, even if the boot
151392d2040dSAlexander Holler	  loader passes other arguments to the kernel.
151492d2040dSAlexander Holler	  This is useful if you cannot or don't want to change the
151592d2040dSAlexander Holler	  command-line options your boot loader passes to the kernel.
151692d2040dSAlexander Holler
151792d2040dSAlexander Holler	  If unsure, say N.
151892d2040dSAlexander Holler
15191da177e4SLinus Torvaldsconfig XIP_KERNEL
15201da177e4SLinus Torvalds	bool "Kernel Execute-In-Place from ROM"
15211da177e4SLinus Torvalds	depends on !ZBOOT_ROM
15221da177e4SLinus Torvalds	help
15231da177e4SLinus Torvalds	  Execute-In-Place allows the kernel to run from non-volatile storage
15241da177e4SLinus Torvalds	  directly addressable by the CPU, such as NOR flash. This saves RAM
15251da177e4SLinus Torvalds	  space since the text section of the kernel is not loaded from flash
15261da177e4SLinus Torvalds	  to RAM.  Read-write sections, such as the data section and stack,
15271da177e4SLinus Torvalds	  are still copied to RAM.  The XIP kernel is not compressed since
15281da177e4SLinus Torvalds	  it has to run directly from flash, so it will take more space to
15291da177e4SLinus Torvalds	  store it.  The flash address used to link the kernel object files,
15301da177e4SLinus Torvalds	  and for storing it, is configuration dependent. Therefore, if you
15311da177e4SLinus Torvalds	  say Y here, you must know the proper physical address where to
15321da177e4SLinus Torvalds	  store the kernel image depending on your own flash memory usage.
15331da177e4SLinus Torvalds
15341da177e4SLinus Torvalds	  Also note that the make target becomes "make xipImage" rather than
15351da177e4SLinus Torvalds	  "make zImage" or "make Image".  The final kernel binary to put in
15361da177e4SLinus Torvalds	  ROM memory will be arch/arm/boot/xipImage.
15371da177e4SLinus Torvalds
15381da177e4SLinus Torvalds	  If unsure, say N.
15391da177e4SLinus Torvalds
15401da177e4SLinus Torvaldsconfig XIP_PHYS_ADDR
15411da177e4SLinus Torvalds	hex "XIP Kernel Physical Location"
15421da177e4SLinus Torvalds	depends on XIP_KERNEL
15431da177e4SLinus Torvalds	default "0x00080000"
15441da177e4SLinus Torvalds	help
15451da177e4SLinus Torvalds	  This is the physical address in your flash memory the kernel will
15461da177e4SLinus Torvalds	  be linked for and stored to.  This address is dependent on your
15471da177e4SLinus Torvalds	  own flash usage.
15481da177e4SLinus Torvalds
1549c587e4a6SRichard Purdieconfig KEXEC
1550c587e4a6SRichard Purdie	bool "Kexec system call (EXPERIMENTAL)"
1551c587e4a6SRichard Purdie	depends on EXPERIMENTAL
1552c587e4a6SRichard Purdie	help
1553c587e4a6SRichard Purdie	  kexec is a system call that implements the ability to shutdown your
1554c587e4a6SRichard Purdie	  current kernel, and to start another kernel.  It is like a reboot
155501dd2fbfSMatt LaPlante	  but it is independent of the system firmware.   And like a reboot
1556c587e4a6SRichard Purdie	  you can start any kernel with it, not just Linux.
1557c587e4a6SRichard Purdie
1558c587e4a6SRichard Purdie	  It is an ongoing process to be certain the hardware in a machine
1559c587e4a6SRichard Purdie	  is properly shutdown, so do not be surprised if this code does not
1560c587e4a6SRichard Purdie	  initially work for you.  It may help to enable device hotplugging
1561c587e4a6SRichard Purdie	  support.
1562c587e4a6SRichard Purdie
15634cd9d6f7SRichard Purdieconfig ATAGS_PROC
15644cd9d6f7SRichard Purdie	bool "Export atags in procfs"
1565b98d7291SUli Luckas	depends on KEXEC
1566b98d7291SUli Luckas	default y
15674cd9d6f7SRichard Purdie	help
15684cd9d6f7SRichard Purdie	  Should the atags used to boot the kernel be exported in an "atags"
15694cd9d6f7SRichard Purdie	  file in procfs. Useful with kexec.
15704cd9d6f7SRichard Purdie
1571e69edc79SEric Miaoconfig AUTO_ZRELADDR
1572e69edc79SEric Miao	bool "Auto calculation of the decompressed kernel image address"
1573e69edc79SEric Miao	depends on !ZBOOT_ROM && !ARCH_U300
1574e69edc79SEric Miao	help
1575e69edc79SEric Miao	  ZRELADDR is the physical address where the decompressed kernel
1576e69edc79SEric Miao	  image will be placed. If AUTO_ZRELADDR is selected, the address
1577e69edc79SEric Miao	  will be determined at run-time by masking the current IP with
1578e69edc79SEric Miao	  0xf8000000. This assumes the zImage being placed in the first 128MB
1579e69edc79SEric Miao	  from start of memory.
1580e69edc79SEric Miao
1581e69edc79SEric Miaoconfig ZRELADDR
1582e69edc79SEric Miao	hex "Physical address of the decompressed kernel image"
1583e69edc79SEric Miao	depends on !AUTO_ZRELADDR
1584e69edc79SEric Miao	default 0x00008000 if ARCH_BCMRING ||\
1585e69edc79SEric Miao		ARCH_CNS3XXX ||\
1586e69edc79SEric Miao		ARCH_DOVE ||\
1587e69edc79SEric Miao		ARCH_EBSA110 ||\
1588e69edc79SEric Miao		ARCH_FOOTBRIDGE ||\
1589e69edc79SEric Miao		ARCH_INTEGRATOR ||\
1590e69edc79SEric Miao		ARCH_IOP13XX ||\
1591e69edc79SEric Miao		ARCH_IOP33X ||\
1592e69edc79SEric Miao		ARCH_IXP2000 ||\
1593e69edc79SEric Miao		ARCH_IXP23XX ||\
1594e69edc79SEric Miao		ARCH_IXP4XX ||\
1595e69edc79SEric Miao		ARCH_KIRKWOOD ||\
1596e69edc79SEric Miao		ARCH_KS8695 ||\
1597e69edc79SEric Miao		ARCH_LOKI ||\
1598e69edc79SEric Miao		ARCH_MMP ||\
1599e69edc79SEric Miao		ARCH_MV78XX0 ||\
1600e69edc79SEric Miao		ARCH_NOMADIK ||\
1601e69edc79SEric Miao		ARCH_NUC93X ||\
1602e69edc79SEric Miao		ARCH_NS9XXX ||\
1603e69edc79SEric Miao		ARCH_ORION5X ||\
1604e69edc79SEric Miao		ARCH_SPEAR3XX ||\
1605e69edc79SEric Miao		ARCH_SPEAR6XX ||\
1606e69edc79SEric Miao		ARCH_U8500 ||\
1607e69edc79SEric Miao		ARCH_VERSATILE ||\
1608e69edc79SEric Miao		ARCH_W90X900
1609e69edc79SEric Miao	default 0x08008000 if ARCH_MX1 ||\
1610e69edc79SEric Miao		ARCH_SHARK
1611e69edc79SEric Miao	default 0x10008000 if ARCH_MSM ||\
1612e69edc79SEric Miao		ARCH_OMAP1 ||\
1613e69edc79SEric Miao		ARCH_RPC
1614e69edc79SEric Miao	default 0x20008000 if ARCH_S5P6440 ||\
1615e69edc79SEric Miao		ARCH_S5P6442 ||\
1616e69edc79SEric Miao		ARCH_S5PC100 ||\
1617e69edc79SEric Miao		ARCH_S5PV210
1618e69edc79SEric Miao	default 0x30008000 if ARCH_S3C2410 ||\
1619e69edc79SEric Miao		ARCH_S3C2400 ||\
1620e69edc79SEric Miao		ARCH_S3C2412 ||\
1621e69edc79SEric Miao		ARCH_S3C2416 ||\
1622e69edc79SEric Miao		ARCH_S3C2440 ||\
1623e69edc79SEric Miao		ARCH_S3C2443
1624e69edc79SEric Miao	default 0x40008000 if ARCH_STMP378X ||\
1625e69edc79SEric Miao		ARCH_STMP37XX ||\
1626e69edc79SEric Miao		ARCH_SH7372 ||\
1627e69edc79SEric Miao		ARCH_SH7377
1628e69edc79SEric Miao	default 0x50008000 if ARCH_S3C64XX ||\
1629e69edc79SEric Miao		ARCH_SH7367
1630e69edc79SEric Miao	default 0x60008000 if ARCH_VEXPRESS
1631e69edc79SEric Miao	default 0x80008000 if ARCH_MX25 ||\
1632e69edc79SEric Miao		ARCH_MX3 ||\
1633e69edc79SEric Miao		ARCH_NETX ||\
1634e69edc79SEric Miao		ARCH_OMAP2PLUS ||\
1635e69edc79SEric Miao		ARCH_PNX4008
1636e69edc79SEric Miao	default 0x90008000 if ARCH_MX5 ||\
1637e69edc79SEric Miao		ARCH_MX91231
1638e69edc79SEric Miao	default 0xa0008000 if ARCH_IOP32X ||\
1639e69edc79SEric Miao		ARCH_PXA ||\
1640e69edc79SEric Miao		MACH_MX27
1641e69edc79SEric Miao	default 0xc0008000 if ARCH_LH7A40X ||\
1642e69edc79SEric Miao		MACH_MX21
1643e69edc79SEric Miao	default 0xf0008000 if ARCH_AAEC2000 ||\
1644e69edc79SEric Miao		ARCH_L7200
1645e69edc79SEric Miao	default 0xc0028000 if ARCH_CLPS711X
1646e69edc79SEric Miao	default 0x70008000 if ARCH_AT91 && (ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
1647e69edc79SEric Miao	default 0x20008000 if ARCH_AT91 && !(ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
1648e69edc79SEric Miao	default 0xc0008000 if ARCH_DAVINCI && ARCH_DAVINCI_DA8XX
1649e69edc79SEric Miao	default 0x80008000 if ARCH_DAVINCI && !ARCH_DAVINCI_DA8XX
1650e69edc79SEric Miao	default 0x00008000 if ARCH_EP93XX && EP93XX_SDCE3_SYNC_PHYS_OFFSET
1651e69edc79SEric Miao	default 0xc0008000 if ARCH_EP93XX && EP93XX_SDCE0_PHYS_OFFSET
1652e69edc79SEric Miao	default 0xd0008000 if ARCH_EP93XX && EP93XX_SDCE1_PHYS_OFFSET
1653e69edc79SEric Miao	default 0xe0008000 if ARCH_EP93XX && EP93XX_SDCE2_PHYS_OFFSET
1654e69edc79SEric Miao	default 0xf0008000 if ARCH_EP93XX && EP93XX_SDCE3_ASYNC_PHYS_OFFSET
1655e69edc79SEric Miao	default 0x00008000 if ARCH_GEMINI && GEMINI_MEM_SWAP
1656e69edc79SEric Miao	default 0x10008000 if ARCH_GEMINI && !GEMINI_MEM_SWAP
1657e69edc79SEric Miao	default 0x70008000 if ARCH_REALVIEW && REALVIEW_HIGH_PHYS_OFFSET
1658e69edc79SEric Miao	default 0x00008000 if ARCH_REALVIEW && !REALVIEW_HIGH_PHYS_OFFSET
1659e69edc79SEric Miao	default 0xc0208000 if ARCH_SA1100 && SA1111
1660e69edc79SEric Miao	default 0xc0008000 if ARCH_SA1100 && !SA1111
1661e69edc79SEric Miao	default 0x30108000 if ARCH_S3C2410 && PM_H1940
1662e69edc79SEric Miao	default 0x28E08000 if ARCH_U300 && MACH_U300_SINGLE_RAM
1663e69edc79SEric Miao	default 0x48008000 if ARCH_U300 && !MACH_U300_SINGLE_RAM
1664e69edc79SEric Miao	help
1665e69edc79SEric Miao	  ZRELADDR is the physical address where the decompressed kernel
1666e69edc79SEric Miao	  image will be placed. ZRELADDR has to be specified when the
1667e69edc79SEric Miao	  assumption of AUTO_ZRELADDR is not valid, or when ZBOOT_ROM is
1668e69edc79SEric Miao	  selected.
1669e69edc79SEric Miao
16701da177e4SLinus Torvaldsendmenu
16711da177e4SLinus Torvalds
1672ac9d7efcSRussell Kingmenu "CPU Power Management"
16731da177e4SLinus Torvalds
167489c52ed4SBen Dooksif ARCH_HAS_CPUFREQ
16751da177e4SLinus Torvalds
16761da177e4SLinus Torvaldssource "drivers/cpufreq/Kconfig"
16771da177e4SLinus Torvalds
16781da177e4SLinus Torvaldsconfig CPU_FREQ_SA1100
16791da177e4SLinus Torvalds	bool
16801da177e4SLinus Torvalds
16811da177e4SLinus Torvaldsconfig CPU_FREQ_SA1110
16821da177e4SLinus Torvalds	bool
16831da177e4SLinus Torvalds
16841da177e4SLinus Torvaldsconfig CPU_FREQ_INTEGRATOR
16851da177e4SLinus Torvalds	tristate "CPUfreq driver for ARM Integrator CPUs"
16861da177e4SLinus Torvalds	depends on ARCH_INTEGRATOR && CPU_FREQ
16871da177e4SLinus Torvalds	default y
16881da177e4SLinus Torvalds	help
16891da177e4SLinus Torvalds	  This enables the CPUfreq driver for ARM Integrator CPUs.
16901da177e4SLinus Torvalds
16911da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq>.
16921da177e4SLinus Torvalds
16931da177e4SLinus Torvalds	  If in doubt, say Y.
16941da177e4SLinus Torvalds
16959e2697ffSRussell Kingconfig CPU_FREQ_PXA
16969e2697ffSRussell King	bool
16979e2697ffSRussell King	depends on CPU_FREQ && ARCH_PXA && PXA25x
16989e2697ffSRussell King	default y
16999e2697ffSRussell King	select CPU_FREQ_DEFAULT_GOV_USERSPACE
17009e2697ffSRussell King
1701b3748dddSMark Brownconfig CPU_FREQ_S3C64XX
1702b3748dddSMark Brown	bool "CPUfreq support for Samsung S3C64XX CPUs"
1703b3748dddSMark Brown	depends on CPU_FREQ && CPU_S3C6410
1704b3748dddSMark Brown
17059d56c02aSBen Dooksconfig CPU_FREQ_S3C
17069d56c02aSBen Dooks	bool
17079d56c02aSBen Dooks	help
17089d56c02aSBen Dooks	  Internal configuration node for common cpufreq on Samsung SoC
17099d56c02aSBen Dooks
17109d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX
17119d56c02aSBen Dooks	bool "CPUfreq driver for Samsung S3C24XX series CPUs"
17129d56c02aSBen Dooks	depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
17139d56c02aSBen Dooks	select CPU_FREQ_S3C
17149d56c02aSBen Dooks	help
17159d56c02aSBen Dooks	  This enables the CPUfreq driver for the Samsung S3C24XX family
17169d56c02aSBen Dooks	  of CPUs.
17179d56c02aSBen Dooks
17189d56c02aSBen Dooks	  For details, take a look at <file:Documentation/cpu-freq>.
17199d56c02aSBen Dooks
17209d56c02aSBen Dooks	  If in doubt, say N.
17219d56c02aSBen Dooks
17229d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX_PLL
17239d56c02aSBen Dooks	bool "Support CPUfreq changing of PLL frequency"
17249d56c02aSBen Dooks	depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
17259d56c02aSBen Dooks	help
17269d56c02aSBen Dooks	  Compile in support for changing the PLL frequency from the
17279d56c02aSBen Dooks	  S3C24XX series CPUfreq driver. The PLL takes time to settle
17289d56c02aSBen Dooks	  after a frequency change, so by default it is not enabled.
17299d56c02aSBen Dooks
17309d56c02aSBen Dooks	  This also means that the PLL tables for the selected CPU(s) will
17319d56c02aSBen Dooks	  be built which may increase the size of the kernel image.
17329d56c02aSBen Dooks
17339d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX_DEBUG
17349d56c02aSBen Dooks	bool "Debug CPUfreq Samsung driver core"
17359d56c02aSBen Dooks	depends on CPU_FREQ_S3C24XX
17369d56c02aSBen Dooks	help
17379d56c02aSBen Dooks	  Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
17389d56c02aSBen Dooks
17399d56c02aSBen Dooksconfig CPU_FREQ_S3C24XX_IODEBUG
17409d56c02aSBen Dooks	bool "Debug CPUfreq Samsung driver IO timing"
17419d56c02aSBen Dooks	depends on CPU_FREQ_S3C24XX
17429d56c02aSBen Dooks	help
17439d56c02aSBen Dooks	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
17449d56c02aSBen Dooks
1745e6d197a6SBen Dooksconfig CPU_FREQ_S3C24XX_DEBUGFS
1746e6d197a6SBen Dooks	bool "Export debugfs for CPUFreq"
1747e6d197a6SBen Dooks	depends on CPU_FREQ_S3C24XX && DEBUG_FS
1748e6d197a6SBen Dooks	help
1749e6d197a6SBen Dooks	  Export status information via debugfs.
1750e6d197a6SBen Dooks
17511da177e4SLinus Torvaldsendif
17521da177e4SLinus Torvalds
1753ac9d7efcSRussell Kingsource "drivers/cpuidle/Kconfig"
1754ac9d7efcSRussell King
1755ac9d7efcSRussell Kingendmenu
1756ac9d7efcSRussell King
17571da177e4SLinus Torvaldsmenu "Floating point emulation"
17581da177e4SLinus Torvalds
17591da177e4SLinus Torvaldscomment "At least one emulation must be selected"
17601da177e4SLinus Torvalds
17611da177e4SLinus Torvaldsconfig FPE_NWFPE
17621da177e4SLinus Torvalds	bool "NWFPE math emulation"
17638993a44cSNicolas Pitre	depends on !AEABI || OABI_COMPAT
17641da177e4SLinus Torvalds	---help---
17651da177e4SLinus Torvalds	  Say Y to include the NWFPE floating point emulator in the kernel.
17661da177e4SLinus Torvalds	  This is necessary to run most binaries. Linux does not currently
17671da177e4SLinus Torvalds	  support floating point hardware so you need to say Y here even if
17681da177e4SLinus Torvalds	  your machine has an FPA or floating point co-processor podule.
17691da177e4SLinus Torvalds
17701da177e4SLinus Torvalds	  You may say N here if you are going to load the Acorn FPEmulator
17711da177e4SLinus Torvalds	  early in the bootup.
17721da177e4SLinus Torvalds
17731da177e4SLinus Torvaldsconfig FPE_NWFPE_XP
17741da177e4SLinus Torvalds	bool "Support extended precision"
1775bedf142bSLennert Buytenhek	depends on FPE_NWFPE
17761da177e4SLinus Torvalds	help
17771da177e4SLinus Torvalds	  Say Y to include 80-bit support in the kernel floating-point
17781da177e4SLinus Torvalds	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
17791da177e4SLinus Torvalds	  Note that gcc does not generate 80-bit operations by default,
17801da177e4SLinus Torvalds	  so in most cases this option only enlarges the size of the
17811da177e4SLinus Torvalds	  floating point emulator without any good reason.
17821da177e4SLinus Torvalds
17831da177e4SLinus Torvalds	  You almost surely want to say N here.
17841da177e4SLinus Torvalds
17851da177e4SLinus Torvaldsconfig FPE_FASTFPE
17861da177e4SLinus Torvalds	bool "FastFPE math emulation (EXPERIMENTAL)"
17878993a44cSNicolas Pitre	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
17881da177e4SLinus Torvalds	---help---
17891da177e4SLinus Torvalds	  Say Y here to include the FAST floating point emulator in the kernel.
17901da177e4SLinus Torvalds	  This is an experimental much faster emulator which now also has full
17911da177e4SLinus Torvalds	  precision for the mantissa.  It does not support any exceptions.
17921da177e4SLinus Torvalds	  It is very simple, and approximately 3-6 times faster than NWFPE.
17931da177e4SLinus Torvalds
17941da177e4SLinus Torvalds	  It should be sufficient for most programs.  It may be not suitable
17951da177e4SLinus Torvalds	  for scientific calculations, but you have to check this for yourself.
17961da177e4SLinus Torvalds	  If you do not feel you need a faster FP emulation you should better
17971da177e4SLinus Torvalds	  choose NWFPE.
17981da177e4SLinus Torvalds
17991da177e4SLinus Torvaldsconfig VFP
18001da177e4SLinus Torvalds	bool "VFP-format floating point maths"
1801c00d4ffdSRussell King	depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
18021da177e4SLinus Torvalds	help
18031da177e4SLinus Torvalds	  Say Y to include VFP support code in the kernel. This is needed
18041da177e4SLinus Torvalds	  if your hardware includes a VFP unit.
18051da177e4SLinus Torvalds
18061da177e4SLinus Torvalds	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
18071da177e4SLinus Torvalds	  release notes and additional status information.
18081da177e4SLinus Torvalds
18091da177e4SLinus Torvalds	  Say N if your target does not have VFP hardware.
18101da177e4SLinus Torvalds
181125ebee02SCatalin Marinasconfig VFPv3
181225ebee02SCatalin Marinas	bool
181325ebee02SCatalin Marinas	depends on VFP
181425ebee02SCatalin Marinas	default y if CPU_V7
181525ebee02SCatalin Marinas
1816b5872db4SCatalin Marinasconfig NEON
1817b5872db4SCatalin Marinas	bool "Advanced SIMD (NEON) Extension support"
1818b5872db4SCatalin Marinas	depends on VFPv3 && CPU_V7
1819b5872db4SCatalin Marinas	help
1820b5872db4SCatalin Marinas	  Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1821b5872db4SCatalin Marinas	  Extension.
1822b5872db4SCatalin Marinas
18231da177e4SLinus Torvaldsendmenu
18241da177e4SLinus Torvalds
18251da177e4SLinus Torvaldsmenu "Userspace binary formats"
18261da177e4SLinus Torvalds
18271da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
18281da177e4SLinus Torvalds
18291da177e4SLinus Torvaldsconfig ARTHUR
18301da177e4SLinus Torvalds	tristate "RISC OS personality"
1831704bdda0SNicolas Pitre	depends on !AEABI
18321da177e4SLinus Torvalds	help
18331da177e4SLinus Torvalds	  Say Y here to include the kernel code necessary if you want to run
18341da177e4SLinus Torvalds	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
18351da177e4SLinus Torvalds	  experimental; if this sounds frightening, say N and sleep in peace.
18361da177e4SLinus Torvalds	  You can also say M here to compile this support as a module (which
18371da177e4SLinus Torvalds	  will be called arthur).
18381da177e4SLinus Torvalds
18391da177e4SLinus Torvaldsendmenu
18401da177e4SLinus Torvalds
18411da177e4SLinus Torvaldsmenu "Power management options"
18421da177e4SLinus Torvalds
1843eceab4acSRussell Kingsource "kernel/power/Kconfig"
18441da177e4SLinus Torvalds
1845f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE
1846f4cb5700SJohannes Berg	def_bool y
1847f4cb5700SJohannes Berg
18481da177e4SLinus Torvaldsendmenu
18491da177e4SLinus Torvalds
1850d5950b43SSam Ravnborgsource "net/Kconfig"
1851d5950b43SSam Ravnborg
1852ac25150fSUwe Kleine-Königsource "drivers/Kconfig"
18531da177e4SLinus Torvalds
18541da177e4SLinus Torvaldssource "fs/Kconfig"
18551da177e4SLinus Torvalds
18561da177e4SLinus Torvaldssource "arch/arm/Kconfig.debug"
18571da177e4SLinus Torvalds
18581da177e4SLinus Torvaldssource "security/Kconfig"
18591da177e4SLinus Torvalds
18601da177e4SLinus Torvaldssource "crypto/Kconfig"
18611da177e4SLinus Torvalds
18621da177e4SLinus Torvaldssource "lib/Kconfig"
1863