xref: /linux/arch/arm/Kconfig (revision d702d12167a2c05a346f49aac7a311d597762495)
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config ARM
9	bool
10	default y
11	select HAVE_AOUT
12	select HAVE_IDE
13	select RTC_LIB
14	select SYS_SUPPORTS_APM_EMULATION
15	select GENERIC_ATOMIC64 if (!CPU_32v6K)
16	select HAVE_OPROFILE
17	select HAVE_ARCH_KGDB
18	select HAVE_KPROBES if (!XIP_KERNEL)
19	select HAVE_KRETPROBES if (HAVE_KPROBES)
20	select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
21	select HAVE_GENERIC_DMA_COHERENT
22	select HAVE_KERNEL_GZIP
23	select HAVE_KERNEL_LZO
24	select HAVE_PERF_EVENTS
25	select PERF_USE_VMALLOC
26	help
27	  The ARM series is a line of low-power-consumption RISC chip designs
28	  licensed by ARM Ltd and targeted at embedded applications and
29	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
30	  manufactured, but legacy ARM-based PC hardware remains popular in
31	  Europe.  There is an ARM Linux project with a web page at
32	  <http://www.arm.linux.org.uk/>.
33
34config HAVE_PWM
35	bool
36
37config SYS_SUPPORTS_APM_EMULATION
38	bool
39
40config GENERIC_GPIO
41	bool
42
43config GENERIC_TIME
44	bool
45
46config GENERIC_CLOCKEVENTS
47	bool
48
49config GENERIC_CLOCKEVENTS_BROADCAST
50	bool
51	depends on GENERIC_CLOCKEVENTS
52	default y if SMP && !LOCAL_TIMERS
53
54config HAVE_TCM
55	bool
56	select GENERIC_ALLOCATOR
57
58config HAVE_PROC_CPU
59	bool
60
61config NO_IOPORT
62	bool
63
64config EISA
65	bool
66	---help---
67	  The Extended Industry Standard Architecture (EISA) bus was
68	  developed as an open alternative to the IBM MicroChannel bus.
69
70	  The EISA bus provided some of the features of the IBM MicroChannel
71	  bus while maintaining backward compatibility with cards made for
72	  the older ISA bus.  The EISA bus saw limited use between 1988 and
73	  1995 when it was made obsolete by the PCI bus.
74
75	  Say Y here if you are building a kernel for an EISA-based machine.
76
77	  Otherwise, say N.
78
79config SBUS
80	bool
81
82config MCA
83	bool
84	help
85	  MicroChannel Architecture is found in some IBM PS/2 machines and
86	  laptops.  It is a bus system similar to PCI or ISA. See
87	  <file:Documentation/mca.txt> (and especially the web page given
88	  there) before attempting to build an MCA bus kernel.
89
90config GENERIC_HARDIRQS
91	bool
92	default y
93
94config STACKTRACE_SUPPORT
95	bool
96	default y
97
98config HAVE_LATENCYTOP_SUPPORT
99	bool
100	depends on !SMP
101	default y
102
103config LOCKDEP_SUPPORT
104	bool
105	default y
106
107config TRACE_IRQFLAGS_SUPPORT
108	bool
109	default y
110
111config HARDIRQS_SW_RESEND
112	bool
113	default y
114
115config GENERIC_IRQ_PROBE
116	bool
117	default y
118
119config GENERIC_LOCKBREAK
120	bool
121	default y
122	depends on SMP && PREEMPT
123
124config RWSEM_GENERIC_SPINLOCK
125	bool
126	default y
127
128config RWSEM_XCHGADD_ALGORITHM
129	bool
130
131config ARCH_HAS_ILOG2_U32
132	bool
133
134config ARCH_HAS_ILOG2_U64
135	bool
136
137config ARCH_HAS_CPUFREQ
138	bool
139	help
140	  Internal node to signify that the ARCH has CPUFREQ support
141	  and that the relevant menu configurations are displayed for
142	  it.
143
144config GENERIC_HWEIGHT
145	bool
146	default y
147
148config GENERIC_CALIBRATE_DELAY
149	bool
150	default y
151
152config ARCH_MAY_HAVE_PC_FDC
153	bool
154
155config ZONE_DMA
156	bool
157
158config GENERIC_ISA_DMA
159	bool
160
161config FIQ
162	bool
163
164config ARCH_MTD_XIP
165	bool
166
167config GENERIC_HARDIRQS_NO__DO_IRQ
168	def_bool y
169
170config ARM_L1_CACHE_SHIFT_6
171	bool
172	help
173	  Setting ARM L1 cache line size to 64 Bytes.
174
175if OPROFILE
176
177config OPROFILE_ARMV6
178	def_bool y
179	depends on CPU_V6 && !SMP
180	select OPROFILE_ARM11_CORE
181
182config OPROFILE_MPCORE
183	def_bool y
184	depends on CPU_V6 && SMP
185	select OPROFILE_ARM11_CORE
186
187config OPROFILE_ARM11_CORE
188	bool
189
190config OPROFILE_ARMV7
191	def_bool y
192	depends on CPU_V7 && !SMP
193	bool
194
195endif
196
197config VECTORS_BASE
198	hex
199	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
200	default DRAM_BASE if REMAP_VECTORS_TO_RAM
201	default 0x00000000
202	help
203	  The base address of exception vectors.
204
205source "init/Kconfig"
206
207source "kernel/Kconfig.freezer"
208
209menu "System Type"
210
211config MMU
212	bool "MMU-based Paged Memory Management Support"
213	default y
214	help
215	  Select if you want MMU-based virtualised addressing space
216	  support by paged memory management. If unsure, say 'Y'.
217
218choice
219	prompt "ARM system type"
220	default ARCH_VERSATILE
221
222config ARCH_AAEC2000
223	bool "Agilent AAEC-2000 based"
224	select CPU_ARM920T
225	select ARM_AMBA
226	select HAVE_CLK
227	help
228	  This enables support for systems based on the Agilent AAEC-2000
229
230config ARCH_INTEGRATOR
231	bool "ARM Ltd. Integrator family"
232	select ARM_AMBA
233	select ARCH_HAS_CPUFREQ
234	select HAVE_CLK
235	select COMMON_CLKDEV
236	select ICST525
237	help
238	  Support for ARM's Integrator platform.
239
240config ARCH_REALVIEW
241	bool "ARM Ltd. RealView family"
242	select ARM_AMBA
243	select HAVE_CLK
244	select COMMON_CLKDEV
245	select ICST307
246	select GENERIC_TIME
247	select GENERIC_CLOCKEVENTS
248	select ARCH_WANT_OPTIONAL_GPIOLIB
249	help
250	  This enables support for ARM Ltd RealView boards.
251
252config ARCH_VERSATILE
253	bool "ARM Ltd. Versatile family"
254	select ARM_AMBA
255	select ARM_VIC
256	select HAVE_CLK
257	select COMMON_CLKDEV
258	select ICST307
259	select GENERIC_TIME
260	select GENERIC_CLOCKEVENTS
261	select ARCH_WANT_OPTIONAL_GPIOLIB
262	help
263	  This enables support for ARM Ltd Versatile board.
264
265config ARCH_AT91
266	bool "Atmel AT91"
267	select GENERIC_GPIO
268	select ARCH_REQUIRE_GPIOLIB
269	select HAVE_CLK
270	help
271	  This enables support for systems based on the Atmel AT91RM9200,
272	  AT91SAM9 and AT91CAP9 processors.
273
274config ARCH_CLPS711X
275	bool "Cirrus Logic CLPS711x/EP721x-based"
276	select CPU_ARM720T
277	help
278	  Support for Cirrus Logic 711x/721x based boards.
279
280config ARCH_GEMINI
281	bool "Cortina Systems Gemini"
282	select CPU_FA526
283	select GENERIC_GPIO
284	select ARCH_REQUIRE_GPIOLIB
285	help
286	  Support for the Cortina Systems Gemini family SoCs
287
288config ARCH_EBSA110
289	bool "EBSA-110"
290	select CPU_SA110
291	select ISA
292	select NO_IOPORT
293	help
294	  This is an evaluation board for the StrongARM processor available
295	  from Digital. It has limited hardware on-board, including an
296	  Ethernet interface, two PCMCIA sockets, two serial ports and a
297	  parallel port.
298
299config ARCH_EP93XX
300	bool "EP93xx-based"
301	select CPU_ARM920T
302	select ARM_AMBA
303	select ARM_VIC
304	select GENERIC_GPIO
305	select HAVE_CLK
306	select COMMON_CLKDEV
307	select ARCH_REQUIRE_GPIOLIB
308	select ARCH_HAS_HOLES_MEMORYMODEL
309	help
310	  This enables support for the Cirrus EP93xx series of CPUs.
311
312config ARCH_FOOTBRIDGE
313	bool "FootBridge"
314	select CPU_SA110
315	select FOOTBRIDGE
316	help
317	  Support for systems based on the DC21285 companion chip
318	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
319
320config ARCH_MXC
321	bool "Freescale MXC/iMX-based"
322	select GENERIC_TIME
323	select GENERIC_CLOCKEVENTS
324	select ARCH_MTD_XIP
325	select GENERIC_GPIO
326	select ARCH_REQUIRE_GPIOLIB
327	select HAVE_CLK
328	help
329	  Support for Freescale MXC/iMX-based family of processors
330
331config ARCH_STMP3XXX
332	bool "Freescale STMP3xxx"
333	select CPU_ARM926T
334	select HAVE_CLK
335	select COMMON_CLKDEV
336	select ARCH_REQUIRE_GPIOLIB
337	select GENERIC_TIME
338	select GENERIC_CLOCKEVENTS
339	select GENERIC_GPIO
340	select USB_ARCH_HAS_EHCI
341	help
342	  Support for systems based on the Freescale 3xxx CPUs.
343
344config ARCH_NETX
345	bool "Hilscher NetX based"
346	select CPU_ARM926T
347	select ARM_VIC
348	select GENERIC_CLOCKEVENTS
349	select GENERIC_TIME
350	help
351	  This enables support for systems based on the Hilscher NetX Soc
352
353config ARCH_H720X
354	bool "Hynix HMS720x-based"
355	select CPU_ARM720T
356	select ISA_DMA_API
357	help
358	  This enables support for systems based on the Hynix HMS720x
359
360config ARCH_NOMADIK
361	bool "STMicroelectronics Nomadik"
362	select ARM_AMBA
363	select ARM_VIC
364	select CPU_ARM926T
365	select HAVE_CLK
366	select COMMON_CLKDEV
367	select GENERIC_TIME
368	select GENERIC_CLOCKEVENTS
369	select GENERIC_GPIO
370	select ARCH_REQUIRE_GPIOLIB
371	help
372	  Support for the Nomadik platform by ST-Ericsson
373
374config ARCH_IOP13XX
375	bool "IOP13xx-based"
376	depends on MMU
377	select CPU_XSC3
378	select PLAT_IOP
379	select PCI
380	select ARCH_SUPPORTS_MSI
381	select VMSPLIT_1G
382	help
383	  Support for Intel's IOP13XX (XScale) family of processors.
384
385config ARCH_IOP32X
386	bool "IOP32x-based"
387	depends on MMU
388	select CPU_XSCALE
389	select PLAT_IOP
390	select PCI
391	select GENERIC_GPIO
392	select ARCH_REQUIRE_GPIOLIB
393	help
394	  Support for Intel's 80219 and IOP32X (XScale) family of
395	  processors.
396
397config ARCH_IOP33X
398	bool "IOP33x-based"
399	depends on MMU
400	select CPU_XSCALE
401	select PLAT_IOP
402	select PCI
403	select GENERIC_GPIO
404	select ARCH_REQUIRE_GPIOLIB
405	help
406	  Support for Intel's IOP33X (XScale) family of processors.
407
408config ARCH_IXP23XX
409 	bool "IXP23XX-based"
410	depends on MMU
411	select CPU_XSC3
412 	select PCI
413	help
414	  Support for Intel's IXP23xx (XScale) family of processors.
415
416config ARCH_IXP2000
417	bool "IXP2400/2800-based"
418	depends on MMU
419	select CPU_XSCALE
420	select PCI
421	help
422	  Support for Intel's IXP2400/2800 (XScale) family of processors.
423
424config ARCH_IXP4XX
425	bool "IXP4xx-based"
426	depends on MMU
427	select CPU_XSCALE
428	select GENERIC_GPIO
429	select GENERIC_TIME
430	select GENERIC_CLOCKEVENTS
431	select DMABOUNCE if PCI
432	help
433	  Support for Intel's IXP4XX (XScale) family of processors.
434
435config ARCH_L7200
436	bool "LinkUp-L7200"
437	select CPU_ARM720T
438	select FIQ
439	help
440	  Say Y here if you intend to run this kernel on a LinkUp Systems
441	  L7200 Software Development Board which uses an ARM720T processor.
442	  Information on this board can be obtained at:
443
444	  <http://www.linkupsys.com/>
445
446	  If you have any questions or comments about the Linux kernel port
447	  to this board, send e-mail to <sjhill@cotw.com>.
448
449config ARCH_DOVE
450	bool "Marvell Dove"
451	select PCI
452	select GENERIC_GPIO
453	select ARCH_REQUIRE_GPIOLIB
454	select GENERIC_TIME
455	select GENERIC_CLOCKEVENTS
456	select PLAT_ORION
457	help
458	  Support for the Marvell Dove SoC 88AP510
459
460config ARCH_KIRKWOOD
461	bool "Marvell Kirkwood"
462	select CPU_FEROCEON
463	select PCI
464	select GENERIC_GPIO
465	select ARCH_REQUIRE_GPIOLIB
466	select GENERIC_TIME
467	select GENERIC_CLOCKEVENTS
468	select PLAT_ORION
469	help
470	  Support for the following Marvell Kirkwood series SoCs:
471	  88F6180, 88F6192 and 88F6281.
472
473config ARCH_LOKI
474	bool "Marvell Loki (88RC8480)"
475	select CPU_FEROCEON
476	select GENERIC_TIME
477	select GENERIC_CLOCKEVENTS
478	select PLAT_ORION
479	help
480	  Support for the Marvell Loki (88RC8480) SoC.
481
482config ARCH_MV78XX0
483	bool "Marvell MV78xx0"
484	select CPU_FEROCEON
485	select PCI
486	select GENERIC_GPIO
487	select ARCH_REQUIRE_GPIOLIB
488	select GENERIC_TIME
489	select GENERIC_CLOCKEVENTS
490	select PLAT_ORION
491	help
492	  Support for the following Marvell MV78xx0 series SoCs:
493	  MV781x0, MV782x0.
494
495config ARCH_ORION5X
496	bool "Marvell Orion"
497	depends on MMU
498	select CPU_FEROCEON
499	select PCI
500	select GENERIC_GPIO
501	select ARCH_REQUIRE_GPIOLIB
502	select GENERIC_TIME
503	select GENERIC_CLOCKEVENTS
504	select PLAT_ORION
505	help
506	  Support for the following Marvell Orion 5x series SoCs:
507	  Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
508	  Orion-2 (5281), Orion-1-90 (6183).
509
510config ARCH_MMP
511	bool "Marvell PXA168/910"
512	depends on MMU
513	select GENERIC_GPIO
514	select ARCH_REQUIRE_GPIOLIB
515	select HAVE_CLK
516	select COMMON_CLKDEV
517	select GENERIC_TIME
518	select GENERIC_CLOCKEVENTS
519	select TICK_ONESHOT
520	select PLAT_PXA
521	help
522	  Support for Marvell's PXA168/910 processor line.
523
524config ARCH_KS8695
525	bool "Micrel/Kendin KS8695"
526	select CPU_ARM922T
527	select GENERIC_GPIO
528        select ARCH_REQUIRE_GPIOLIB
529	help
530	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
531	  System-on-Chip devices.
532
533config ARCH_NS9XXX
534	bool "NetSilicon NS9xxx"
535	select CPU_ARM926T
536	select GENERIC_GPIO
537	select GENERIC_TIME
538	select GENERIC_CLOCKEVENTS
539	select HAVE_CLK
540	help
541	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
542	  System.
543
544	  <http://www.digi.com/products/microprocessors/index.jsp>
545
546config ARCH_W90X900
547	bool "Nuvoton W90X900 CPU"
548	select CPU_ARM926T
549	select ARCH_REQUIRE_GPIOLIB
550	select GENERIC_GPIO
551	select HAVE_CLK
552	select COMMON_CLKDEV
553	select GENERIC_TIME
554	select GENERIC_CLOCKEVENTS
555	help
556	  Support for Nuvoton (Winbond logic dept.) ARM9 processor,
557	  At present, the w90x900 has been renamed nuc900, regarding
558	  the ARM series product line, you can login the following
559	  link address to know more.
560
561	  <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
562		ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
563
564config ARCH_NUC93X
565	bool "Nuvoton NUC93X CPU"
566	select CPU_ARM926T
567	select HAVE_CLK
568	select COMMON_CLKDEV
569	help
570	  Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
571	  low-power and high performance MPEG-4/JPEG multimedia controller chip.
572
573config ARCH_PNX4008
574	bool "Philips Nexperia PNX4008 Mobile"
575	select CPU_ARM926T
576	select HAVE_CLK
577	select COMMON_CLKDEV
578	help
579	  This enables support for Philips PNX4008 mobile platform.
580
581config ARCH_PXA
582	bool "PXA2xx/PXA3xx-based"
583	depends on MMU
584	select ARCH_MTD_XIP
585	select ARCH_HAS_CPUFREQ
586	select GENERIC_GPIO
587	select HAVE_CLK
588	select COMMON_CLKDEV
589	select ARCH_REQUIRE_GPIOLIB
590	select GENERIC_TIME
591	select GENERIC_CLOCKEVENTS
592	select TICK_ONESHOT
593	select PLAT_PXA
594	help
595	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
596
597config ARCH_MSM
598	bool "Qualcomm MSM"
599	select CPU_V6
600	select GENERIC_TIME
601	select GENERIC_CLOCKEVENTS
602	help
603	  Support for Qualcomm MSM7K based systems.  This runs on the ARM11
604	  apps processor of the MSM7K and depends on a shared memory
605	  interface to the ARM9 modem processor which runs the baseband stack
606	  and controls some vital subsystems (clock and power control, etc).
607
608config ARCH_RPC
609	bool "RiscPC"
610	select ARCH_ACORN
611	select FIQ
612	select TIMER_ACORN
613	select ARCH_MAY_HAVE_PC_FDC
614	select HAVE_PATA_PLATFORM
615	select ISA_DMA_API
616	select NO_IOPORT
617	select ARCH_SPARSEMEM_ENABLE
618	help
619	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
620	  CD-ROM interface, serial and parallel port, and the floppy drive.
621
622config ARCH_SA1100
623	bool "SA1100-based"
624	select CPU_SA1100
625	select ISA
626	select ARCH_SPARSEMEM_ENABLE
627	select ARCH_MTD_XIP
628	select ARCH_HAS_CPUFREQ
629	select CPU_FREQ
630	select GENERIC_GPIO
631	select GENERIC_TIME
632	select GENERIC_CLOCKEVENTS
633	select HAVE_CLK
634	select TICK_ONESHOT
635	select ARCH_REQUIRE_GPIOLIB
636	help
637	  Support for StrongARM 11x0 based boards.
638
639config ARCH_S3C2410
640	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
641	select GENERIC_GPIO
642	select ARCH_HAS_CPUFREQ
643	select HAVE_CLK
644	help
645	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
646	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
647	  the Samsung SMDK2410 development board (and derivatives).
648
649config ARCH_S3C64XX
650	bool "Samsung S3C64XX"
651	select GENERIC_GPIO
652	select HAVE_CLK
653	select ARCH_HAS_CPUFREQ
654	help
655	  Samsung S3C64XX series based systems
656
657config ARCH_S5PC1XX
658	bool "Samsung S5PC1XX"
659	select GENERIC_GPIO
660	select HAVE_CLK
661	select CPU_V7
662	select ARM_L1_CACHE_SHIFT_6
663	help
664	  Samsung S5PC1XX series based systems
665
666config ARCH_SHARK
667	bool "Shark"
668	select CPU_SA110
669	select ISA
670	select ISA_DMA
671	select ZONE_DMA
672	select PCI
673	help
674	  Support for the StrongARM based Digital DNARD machine, also known
675	  as "Shark" (<http://www.shark-linux.de/shark.html>).
676
677config ARCH_LH7A40X
678	bool "Sharp LH7A40X"
679	select CPU_ARM922T
680	select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
681	select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
682	help
683	  Say Y here for systems based on one of the Sharp LH7A40X
684	  System on a Chip processors.  These CPUs include an ARM922T
685	  core with a wide array of integrated devices for
686	  hand-held and low-power applications.
687
688config ARCH_U300
689	bool "ST-Ericsson U300 Series"
690	depends on MMU
691	select CPU_ARM926T
692	select HAVE_TCM
693	select ARM_AMBA
694	select ARM_VIC
695	select GENERIC_TIME
696	select GENERIC_CLOCKEVENTS
697	select HAVE_CLK
698	select COMMON_CLKDEV
699	select GENERIC_GPIO
700	help
701	  Support for ST-Ericsson U300 series mobile platforms.
702
703config ARCH_DAVINCI
704	bool "TI DaVinci"
705	select CPU_ARM926T
706	select GENERIC_TIME
707	select GENERIC_CLOCKEVENTS
708	select GENERIC_GPIO
709	select ARCH_REQUIRE_GPIOLIB
710	select HAVE_CLK
711	select ZONE_DMA
712	select HAVE_IDE
713	select COMMON_CLKDEV
714	select GENERIC_ALLOCATOR
715	select ARCH_HAS_HOLES_MEMORYMODEL
716	help
717	  Support for TI's DaVinci platform.
718
719config ARCH_OMAP
720	bool "TI OMAP"
721	select GENERIC_GPIO
722	select HAVE_CLK
723	select ARCH_REQUIRE_GPIOLIB
724	select ARCH_HAS_CPUFREQ
725	select GENERIC_TIME
726	select GENERIC_CLOCKEVENTS
727	select ARCH_HAS_HOLES_MEMORYMODEL
728	help
729	  Support for TI's OMAP platform (OMAP1 and OMAP2).
730
731config ARCH_BCMRING
732	bool "Broadcom BCMRING"
733	depends on MMU
734	select CPU_V6
735	select ARM_AMBA
736	select COMMON_CLKDEV
737	select GENERIC_TIME
738	select GENERIC_CLOCKEVENTS
739	select ARCH_WANT_OPTIONAL_GPIOLIB
740	help
741	  Support for Broadcom's BCMRing platform.
742
743config ARCH_U8500
744	bool "ST-Ericsson U8500 Series"
745	select CPU_V7
746	select ARM_AMBA
747	select GENERIC_TIME
748	select GENERIC_CLOCKEVENTS
749	select COMMON_CLKDEV
750	help
751	  Support for ST-Ericsson's Ux500 architecture
752
753endchoice
754
755source "arch/arm/mach-aaec2000/Kconfig"
756
757source "arch/arm/mach-at91/Kconfig"
758
759source "arch/arm/mach-bcmring/Kconfig"
760
761source "arch/arm/mach-clps711x/Kconfig"
762
763source "arch/arm/mach-davinci/Kconfig"
764
765source "arch/arm/mach-dove/Kconfig"
766
767source "arch/arm/mach-ep93xx/Kconfig"
768
769source "arch/arm/mach-footbridge/Kconfig"
770
771source "arch/arm/mach-gemini/Kconfig"
772
773source "arch/arm/mach-h720x/Kconfig"
774
775source "arch/arm/mach-integrator/Kconfig"
776
777source "arch/arm/mach-iop32x/Kconfig"
778
779source "arch/arm/mach-iop33x/Kconfig"
780
781source "arch/arm/mach-iop13xx/Kconfig"
782
783source "arch/arm/mach-ixp4xx/Kconfig"
784
785source "arch/arm/mach-ixp2000/Kconfig"
786
787source "arch/arm/mach-ixp23xx/Kconfig"
788
789source "arch/arm/mach-kirkwood/Kconfig"
790
791source "arch/arm/mach-ks8695/Kconfig"
792
793source "arch/arm/mach-lh7a40x/Kconfig"
794
795source "arch/arm/mach-loki/Kconfig"
796
797source "arch/arm/mach-msm/Kconfig"
798
799source "arch/arm/mach-mv78xx0/Kconfig"
800
801source "arch/arm/plat-mxc/Kconfig"
802
803source "arch/arm/mach-netx/Kconfig"
804
805source "arch/arm/mach-nomadik/Kconfig"
806source "arch/arm/plat-nomadik/Kconfig"
807
808source "arch/arm/mach-ns9xxx/Kconfig"
809
810source "arch/arm/mach-nuc93x/Kconfig"
811
812source "arch/arm/plat-omap/Kconfig"
813
814source "arch/arm/mach-omap1/Kconfig"
815
816source "arch/arm/mach-omap2/Kconfig"
817
818source "arch/arm/mach-orion5x/Kconfig"
819
820source "arch/arm/mach-pxa/Kconfig"
821source "arch/arm/plat-pxa/Kconfig"
822
823source "arch/arm/mach-mmp/Kconfig"
824
825source "arch/arm/mach-realview/Kconfig"
826
827source "arch/arm/mach-sa1100/Kconfig"
828
829source "arch/arm/plat-samsung/Kconfig"
830source "arch/arm/plat-s3c24xx/Kconfig"
831source "arch/arm/plat-s3c64xx/Kconfig"
832source "arch/arm/plat-s3c/Kconfig"
833source "arch/arm/plat-s5pc1xx/Kconfig"
834
835if ARCH_S3C2410
836source "arch/arm/mach-s3c2400/Kconfig"
837source "arch/arm/mach-s3c2410/Kconfig"
838source "arch/arm/mach-s3c2412/Kconfig"
839source "arch/arm/mach-s3c2440/Kconfig"
840source "arch/arm/mach-s3c2442/Kconfig"
841source "arch/arm/mach-s3c2443/Kconfig"
842endif
843
844if ARCH_S3C64XX
845source "arch/arm/mach-s3c6400/Kconfig"
846source "arch/arm/mach-s3c6410/Kconfig"
847endif
848
849source "arch/arm/plat-stmp3xxx/Kconfig"
850
851if ARCH_S5PC1XX
852source "arch/arm/mach-s5pc100/Kconfig"
853endif
854
855source "arch/arm/mach-u300/Kconfig"
856
857source "arch/arm/mach-ux500/Kconfig"
858
859source "arch/arm/mach-versatile/Kconfig"
860
861source "arch/arm/mach-w90x900/Kconfig"
862
863# Definitions to make life easier
864config ARCH_ACORN
865	bool
866
867config PLAT_IOP
868	bool
869	select GENERIC_CLOCKEVENTS
870	select GENERIC_TIME
871
872config PLAT_ORION
873	bool
874
875config PLAT_PXA
876	bool
877
878source arch/arm/mm/Kconfig
879
880config IWMMXT
881	bool "Enable iWMMXt support"
882	depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
883	default y if PXA27x || PXA3xx || ARCH_MMP
884	help
885	  Enable support for iWMMXt context switching at run time if
886	  running on a CPU that supports it.
887
888#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
889config XSCALE_PMU
890	bool
891	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
892	default y
893
894config CPU_HAS_PMU
895	depends on CPU_V6 || CPU_V7 || XSCALE_PMU
896	default y
897	bool
898
899if !MMU
900source "arch/arm/Kconfig-nommu"
901endif
902
903config ARM_ERRATA_411920
904	bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
905	depends on CPU_V6 && !SMP
906	help
907	  Invalidation of the Instruction Cache operation can
908	  fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
909	  It does not affect the MPCore. This option enables the ARM Ltd.
910	  recommended workaround.
911
912config ARM_ERRATA_430973
913	bool "ARM errata: Stale prediction on replaced interworking branch"
914	depends on CPU_V7
915	help
916	  This option enables the workaround for the 430973 Cortex-A8
917	  (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
918	  interworking branch is replaced with another code sequence at the
919	  same virtual address, whether due to self-modifying code or virtual
920	  to physical address re-mapping, Cortex-A8 does not recover from the
921	  stale interworking branch prediction. This results in Cortex-A8
922	  executing the new code sequence in the incorrect ARM or Thumb state.
923	  The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
924	  and also flushes the branch target cache at every context switch.
925	  Note that setting specific bits in the ACTLR register may not be
926	  available in non-secure mode.
927
928config ARM_ERRATA_458693
929	bool "ARM errata: Processor deadlock when a false hazard is created"
930	depends on CPU_V7
931	help
932	  This option enables the workaround for the 458693 Cortex-A8 (r2p0)
933	  erratum. For very specific sequences of memory operations, it is
934	  possible for a hazard condition intended for a cache line to instead
935	  be incorrectly associated with a different cache line. This false
936	  hazard might then cause a processor deadlock. The workaround enables
937	  the L1 caching of the NEON accesses and disables the PLD instruction
938	  in the ACTLR register. Note that setting specific bits in the ACTLR
939	  register may not be available in non-secure mode.
940
941config ARM_ERRATA_460075
942	bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
943	depends on CPU_V7
944	help
945	  This option enables the workaround for the 460075 Cortex-A8 (r2p0)
946	  erratum. Any asynchronous access to the L2 cache may encounter a
947	  situation in which recent store transactions to the L2 cache are lost
948	  and overwritten with stale memory contents from external memory. The
949	  workaround disables the write-allocate mode for the L2 cache via the
950	  ACTLR register. Note that setting specific bits in the ACTLR register
951	  may not be available in non-secure mode.
952
953config PL310_ERRATA_588369
954	bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
955	depends on CACHE_L2X0 && ARCH_OMAP4
956	help
957	   The PL310 L2 cache controller implements three types of Clean &
958	   Invalidate maintenance operations: by Physical Address
959	   (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
960	   They are architecturally defined to behave as the execution of a
961	   clean operation followed immediately by an invalidate operation,
962	   both performing to the same memory location. This functionality
963	   is not correctly implemented in PL310 as clean lines are not
964	   invalidated as a result of these operations. Note that this errata
965	   uses Texas Instrument's secure monitor api.
966endmenu
967
968source "arch/arm/common/Kconfig"
969
970config FORCE_MAX_ZONEORDER
971	int
972	depends on SA1111
973	default "9"
974
975menu "Bus support"
976
977config ARM_AMBA
978	bool
979
980config ISA
981	bool
982	help
983	  Find out whether you have ISA slots on your motherboard.  ISA is the
984	  name of a bus system, i.e. the way the CPU talks to the other stuff
985	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
986	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
987	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
988
989# Select ISA DMA controller support
990config ISA_DMA
991	bool
992	select ISA_DMA_API
993
994# Select ISA DMA interface
995config ISA_DMA_API
996	bool
997
998config PCI
999	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
1000	help
1001	  Find out whether you have a PCI motherboard. PCI is the name of a
1002	  bus system, i.e. the way the CPU talks to the other stuff inside
1003	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1004	  VESA. If you have PCI, say Y, otherwise N.
1005
1006config PCI_SYSCALL
1007	def_bool PCI
1008
1009# Select the host bridge type
1010config PCI_HOST_VIA82C505
1011	bool
1012	depends on PCI && ARCH_SHARK
1013	default y
1014
1015config PCI_HOST_ITE8152
1016	bool
1017	depends on PCI && MACH_ARMCORE
1018	default y
1019	select DMABOUNCE
1020
1021source "drivers/pci/Kconfig"
1022
1023source "drivers/pcmcia/Kconfig"
1024
1025endmenu
1026
1027menu "Kernel Features"
1028
1029source "kernel/time/Kconfig"
1030
1031config SMP
1032	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
1033	depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
1034		 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
1035	depends on GENERIC_CLOCKEVENTS
1036	select USE_GENERIC_SMP_HELPERS
1037	select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
1038	help
1039	  This enables support for systems with more than one CPU. If you have
1040	  a system with only one CPU, like most personal computers, say N. If
1041	  you have a system with more than one CPU, say Y.
1042
1043	  If you say N here, the kernel will run on single and multiprocessor
1044	  machines, but will use only one CPU of a multiprocessor machine. If
1045	  you say Y here, the kernel will run on many, but not all, single
1046	  processor machines. On a single processor machine, the kernel will
1047	  run faster if you say N here.
1048
1049	  See also <file:Documentation/i386/IO-APIC.txt>,
1050	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
1051	  <http://www.linuxdoc.org/docs.html#howto>.
1052
1053	  If you don't know what to do here, say N.
1054
1055config HAVE_ARM_SCU
1056	bool
1057	depends on SMP
1058	help
1059	  This option enables support for the ARM system coherency unit
1060
1061config HAVE_ARM_TWD
1062	bool
1063	depends on SMP
1064	help
1065	  This options enables support for the ARM timer and watchdog unit
1066
1067choice
1068	prompt "Memory split"
1069	default VMSPLIT_3G
1070	help
1071	  Select the desired split between kernel and user memory.
1072
1073	  If you are not absolutely sure what you are doing, leave this
1074	  option alone!
1075
1076	config VMSPLIT_3G
1077		bool "3G/1G user/kernel split"
1078	config VMSPLIT_2G
1079		bool "2G/2G user/kernel split"
1080	config VMSPLIT_1G
1081		bool "1G/3G user/kernel split"
1082endchoice
1083
1084config PAGE_OFFSET
1085	hex
1086	default 0x40000000 if VMSPLIT_1G
1087	default 0x80000000 if VMSPLIT_2G
1088	default 0xC0000000
1089
1090config NR_CPUS
1091	int "Maximum number of CPUs (2-32)"
1092	range 2 32
1093	depends on SMP
1094	default "4"
1095
1096config HOTPLUG_CPU
1097	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1098	depends on SMP && HOTPLUG && EXPERIMENTAL
1099	help
1100	  Say Y here to experiment with turning CPUs off and on.  CPUs
1101	  can be controlled through /sys/devices/system/cpu.
1102
1103config LOCAL_TIMERS
1104	bool "Use local timer interrupts"
1105	depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
1106		REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
1107	default y
1108	select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
1109	help
1110	  Enable support for local timers on SMP platforms, rather then the
1111	  legacy IPI broadcast method.  Local timers allows the system
1112	  accounting to be spread across the timer interval, preventing a
1113	  "thundering herd" at every timer tick.
1114
1115source kernel/Kconfig.preempt
1116
1117config HZ
1118	int
1119	default 128 if ARCH_L7200
1120	default 200 if ARCH_EBSA110 || ARCH_S3C2410
1121	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
1122	default AT91_TIMER_HZ if ARCH_AT91
1123	default 100
1124
1125config THUMB2_KERNEL
1126	bool "Compile the kernel in Thumb-2 mode"
1127	depends on CPU_V7 && EXPERIMENTAL
1128	select AEABI
1129	select ARM_ASM_UNIFIED
1130	help
1131	  By enabling this option, the kernel will be compiled in
1132	  Thumb-2 mode. A compiler/assembler that understand the unified
1133	  ARM-Thumb syntax is needed.
1134
1135	  If unsure, say N.
1136
1137config ARM_ASM_UNIFIED
1138	bool
1139
1140config AEABI
1141	bool "Use the ARM EABI to compile the kernel"
1142	help
1143	  This option allows for the kernel to be compiled using the latest
1144	  ARM ABI (aka EABI).  This is only useful if you are using a user
1145	  space environment that is also compiled with EABI.
1146
1147	  Since there are major incompatibilities between the legacy ABI and
1148	  EABI, especially with regard to structure member alignment, this
1149	  option also changes the kernel syscall calling convention to
1150	  disambiguate both ABIs and allow for backward compatibility support
1151	  (selected with CONFIG_OABI_COMPAT).
1152
1153	  To use this you need GCC version 4.0.0 or later.
1154
1155config OABI_COMPAT
1156	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
1157	depends on AEABI && EXPERIMENTAL
1158	default y
1159	help
1160	  This option preserves the old syscall interface along with the
1161	  new (ARM EABI) one. It also provides a compatibility layer to
1162	  intercept syscalls that have structure arguments which layout
1163	  in memory differs between the legacy ABI and the new ARM EABI
1164	  (only for non "thumb" binaries). This option adds a tiny
1165	  overhead to all syscalls and produces a slightly larger kernel.
1166	  If you know you'll be using only pure EABI user space then you
1167	  can say N here. If this option is not selected and you attempt
1168	  to execute a legacy ABI binary then the result will be
1169	  UNPREDICTABLE (in fact it can be predicted that it won't work
1170	  at all). If in doubt say Y.
1171
1172config ARCH_HAS_HOLES_MEMORYMODEL
1173	bool
1174
1175# Discontigmem is deprecated
1176config ARCH_DISCONTIGMEM_ENABLE
1177	bool
1178
1179config ARCH_SPARSEMEM_ENABLE
1180	bool
1181
1182config ARCH_SPARSEMEM_DEFAULT
1183	def_bool ARCH_SPARSEMEM_ENABLE
1184
1185config ARCH_SELECT_MEMORY_MODEL
1186	def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE
1187
1188config NODES_SHIFT
1189	int
1190	default "4" if ARCH_LH7A40X
1191	default "2"
1192	depends on NEED_MULTIPLE_NODES
1193
1194config HIGHMEM
1195	bool "High Memory Support (EXPERIMENTAL)"
1196	depends on MMU && EXPERIMENTAL
1197	help
1198	  The address space of ARM processors is only 4 Gigabytes large
1199	  and it has to accommodate user address space, kernel address
1200	  space as well as some memory mapped IO. That means that, if you
1201	  have a large amount of physical memory and/or IO, not all of the
1202	  memory can be "permanently mapped" by the kernel. The physical
1203	  memory that is not permanently mapped is called "high memory".
1204
1205	  Depending on the selected kernel/user memory split, minimum
1206	  vmalloc space and actual amount of RAM, you may not need this
1207	  option which should result in a slightly faster kernel.
1208
1209	  If unsure, say n.
1210
1211config HIGHPTE
1212	bool "Allocate 2nd-level pagetables from highmem"
1213	depends on HIGHMEM
1214	depends on !OUTER_CACHE
1215
1216config HW_PERF_EVENTS
1217	bool "Enable hardware performance counter support for perf events"
1218	depends on PERF_EVENTS && CPU_HAS_PMU && (CPU_V6 || CPU_V7)
1219	default y
1220	help
1221	  Enable hardware performance counter support for perf events. If
1222	  disabled, perf events will use software events only.
1223
1224source "mm/Kconfig"
1225
1226config LEDS
1227	bool "Timer and CPU usage LEDs"
1228	depends on ARCH_CDB89712 || ARCH_EBSA110 || \
1229		   ARCH_EBSA285 || ARCH_INTEGRATOR || \
1230		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1231		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
1232		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
1233		   ARCH_AT91 || ARCH_DAVINCI || \
1234		   ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
1235	help
1236	  If you say Y here, the LEDs on your machine will be used
1237	  to provide useful information about your current system status.
1238
1239	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
1240	  be able to select which LEDs are active using the options below. If
1241	  you are compiling a kernel for the EBSA-110 or the LART however, the
1242	  red LED will simply flash regularly to indicate that the system is
1243	  still functional. It is safe to say Y here if you have a CATS
1244	  system, but the driver will do nothing.
1245
1246config LEDS_TIMER
1247	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
1248			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1249			    || MACH_OMAP_PERSEUS2
1250	depends on LEDS
1251	depends on !GENERIC_CLOCKEVENTS
1252	default y if ARCH_EBSA110
1253	help
1254	  If you say Y here, one of the system LEDs (the green one on the
1255	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
1256	  will flash regularly to indicate that the system is still
1257	  operational. This is mainly useful to kernel hackers who are
1258	  debugging unstable kernels.
1259
1260	  The LART uses the same LED for both Timer LED and CPU usage LED
1261	  functions. You may choose to use both, but the Timer LED function
1262	  will overrule the CPU usage LED.
1263
1264config LEDS_CPU
1265	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
1266			!ARCH_OMAP) \
1267			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1268			|| MACH_OMAP_PERSEUS2
1269	depends on LEDS
1270	help
1271	  If you say Y here, the red LED will be used to give a good real
1272	  time indication of CPU usage, by lighting whenever the idle task
1273	  is not currently executing.
1274
1275	  The LART uses the same LED for both Timer LED and CPU usage LED
1276	  functions. You may choose to use both, but the Timer LED function
1277	  will overrule the CPU usage LED.
1278
1279config ALIGNMENT_TRAP
1280	bool
1281	depends on CPU_CP15_MMU
1282	default y if !ARCH_EBSA110
1283	select HAVE_PROC_CPU if PROC_FS
1284	help
1285	  ARM processors cannot fetch/store information which is not
1286	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1287	  address divisible by 4. On 32-bit ARM processors, these non-aligned
1288	  fetch/store instructions will be emulated in software if you say
1289	  here, which has a severe performance impact. This is necessary for
1290	  correct operation of some network protocols. With an IP-only
1291	  configuration it is safe to say N, otherwise say Y.
1292
1293config UACCESS_WITH_MEMCPY
1294	bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
1295	depends on MMU && EXPERIMENTAL
1296	default y if CPU_FEROCEON
1297	help
1298	  Implement faster copy_to_user and clear_user methods for CPU
1299	  cores where a 8-word STM instruction give significantly higher
1300	  memory write throughput than a sequence of individual 32bit stores.
1301
1302	  A possible side effect is a slight increase in scheduling latency
1303	  between threads sharing the same address space if they invoke
1304	  such copy operations with large buffers.
1305
1306	  However, if the CPU data cache is using a write-allocate mode,
1307	  this option is unlikely to provide any performance gain.
1308
1309endmenu
1310
1311menu "Boot options"
1312
1313# Compressed boot loader in ROM.  Yes, we really want to ask about
1314# TEXT and BSS so we preserve their values in the config files.
1315config ZBOOT_ROM_TEXT
1316	hex "Compressed ROM boot loader base address"
1317	default "0"
1318	help
1319	  The physical address at which the ROM-able zImage is to be
1320	  placed in the target.  Platforms which normally make use of
1321	  ROM-able zImage formats normally set this to a suitable
1322	  value in their defconfig file.
1323
1324	  If ZBOOT_ROM is not enabled, this has no effect.
1325
1326config ZBOOT_ROM_BSS
1327	hex "Compressed ROM boot loader BSS address"
1328	default "0"
1329	help
1330	  The base address of an area of read/write memory in the target
1331	  for the ROM-able zImage which must be available while the
1332	  decompressor is running. It must be large enough to hold the
1333	  entire decompressed kernel plus an additional 128 KiB.
1334	  Platforms which normally make use of ROM-able zImage formats
1335	  normally set this to a suitable value in their defconfig file.
1336
1337	  If ZBOOT_ROM is not enabled, this has no effect.
1338
1339config ZBOOT_ROM
1340	bool "Compressed boot loader in ROM/flash"
1341	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
1342	help
1343	  Say Y here if you intend to execute your compressed kernel image
1344	  (zImage) directly from ROM or flash.  If unsure, say N.
1345
1346config CMDLINE
1347	string "Default kernel command string"
1348	default ""
1349	help
1350	  On some architectures (EBSA110 and CATS), there is currently no way
1351	  for the boot loader to pass arguments to the kernel. For these
1352	  architectures, you should supply some command-line options at build
1353	  time by entering them here. As a minimum, you should specify the
1354	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
1355
1356config XIP_KERNEL
1357	bool "Kernel Execute-In-Place from ROM"
1358	depends on !ZBOOT_ROM
1359	help
1360	  Execute-In-Place allows the kernel to run from non-volatile storage
1361	  directly addressable by the CPU, such as NOR flash. This saves RAM
1362	  space since the text section of the kernel is not loaded from flash
1363	  to RAM.  Read-write sections, such as the data section and stack,
1364	  are still copied to RAM.  The XIP kernel is not compressed since
1365	  it has to run directly from flash, so it will take more space to
1366	  store it.  The flash address used to link the kernel object files,
1367	  and for storing it, is configuration dependent. Therefore, if you
1368	  say Y here, you must know the proper physical address where to
1369	  store the kernel image depending on your own flash memory usage.
1370
1371	  Also note that the make target becomes "make xipImage" rather than
1372	  "make zImage" or "make Image".  The final kernel binary to put in
1373	  ROM memory will be arch/arm/boot/xipImage.
1374
1375	  If unsure, say N.
1376
1377config XIP_PHYS_ADDR
1378	hex "XIP Kernel Physical Location"
1379	depends on XIP_KERNEL
1380	default "0x00080000"
1381	help
1382	  This is the physical address in your flash memory the kernel will
1383	  be linked for and stored to.  This address is dependent on your
1384	  own flash usage.
1385
1386config KEXEC
1387	bool "Kexec system call (EXPERIMENTAL)"
1388	depends on EXPERIMENTAL
1389	help
1390	  kexec is a system call that implements the ability to shutdown your
1391	  current kernel, and to start another kernel.  It is like a reboot
1392	  but it is independent of the system firmware.   And like a reboot
1393	  you can start any kernel with it, not just Linux.
1394
1395	  It is an ongoing process to be certain the hardware in a machine
1396	  is properly shutdown, so do not be surprised if this code does not
1397	  initially work for you.  It may help to enable device hotplugging
1398	  support.
1399
1400config ATAGS_PROC
1401	bool "Export atags in procfs"
1402	depends on KEXEC
1403	default y
1404	help
1405	  Should the atags used to boot the kernel be exported in an "atags"
1406	  file in procfs. Useful with kexec.
1407
1408endmenu
1409
1410menu "CPU Power Management"
1411
1412if ARCH_HAS_CPUFREQ
1413
1414source "drivers/cpufreq/Kconfig"
1415
1416config CPU_FREQ_SA1100
1417	bool
1418
1419config CPU_FREQ_SA1110
1420	bool
1421
1422config CPU_FREQ_INTEGRATOR
1423	tristate "CPUfreq driver for ARM Integrator CPUs"
1424	depends on ARCH_INTEGRATOR && CPU_FREQ
1425	default y
1426	help
1427	  This enables the CPUfreq driver for ARM Integrator CPUs.
1428
1429	  For details, take a look at <file:Documentation/cpu-freq>.
1430
1431	  If in doubt, say Y.
1432
1433config CPU_FREQ_PXA
1434	bool
1435	depends on CPU_FREQ && ARCH_PXA && PXA25x
1436	default y
1437	select CPU_FREQ_DEFAULT_GOV_USERSPACE
1438
1439config CPU_FREQ_S3C64XX
1440	bool "CPUfreq support for Samsung S3C64XX CPUs"
1441	depends on CPU_FREQ && CPU_S3C6410
1442
1443config CPU_FREQ_S3C
1444	bool
1445	help
1446	  Internal configuration node for common cpufreq on Samsung SoC
1447
1448config CPU_FREQ_S3C24XX
1449	bool "CPUfreq driver for Samsung S3C24XX series CPUs"
1450	depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
1451	select CPU_FREQ_S3C
1452	help
1453	  This enables the CPUfreq driver for the Samsung S3C24XX family
1454	  of CPUs.
1455
1456	  For details, take a look at <file:Documentation/cpu-freq>.
1457
1458	  If in doubt, say N.
1459
1460config CPU_FREQ_S3C24XX_PLL
1461	bool "Support CPUfreq changing of PLL frequency"
1462	depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
1463	help
1464	  Compile in support for changing the PLL frequency from the
1465	  S3C24XX series CPUfreq driver. The PLL takes time to settle
1466	  after a frequency change, so by default it is not enabled.
1467
1468	  This also means that the PLL tables for the selected CPU(s) will
1469	  be built which may increase the size of the kernel image.
1470
1471config CPU_FREQ_S3C24XX_DEBUG
1472	bool "Debug CPUfreq Samsung driver core"
1473	depends on CPU_FREQ_S3C24XX
1474	help
1475	  Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
1476
1477config CPU_FREQ_S3C24XX_IODEBUG
1478	bool "Debug CPUfreq Samsung driver IO timing"
1479	depends on CPU_FREQ_S3C24XX
1480	help
1481	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
1482
1483config CPU_FREQ_S3C24XX_DEBUGFS
1484	bool "Export debugfs for CPUFreq"
1485	depends on CPU_FREQ_S3C24XX && DEBUG_FS
1486	help
1487	  Export status information via debugfs.
1488
1489endif
1490
1491source "drivers/cpuidle/Kconfig"
1492
1493endmenu
1494
1495menu "Floating point emulation"
1496
1497comment "At least one emulation must be selected"
1498
1499config FPE_NWFPE
1500	bool "NWFPE math emulation"
1501	depends on !AEABI || OABI_COMPAT
1502	---help---
1503	  Say Y to include the NWFPE floating point emulator in the kernel.
1504	  This is necessary to run most binaries. Linux does not currently
1505	  support floating point hardware so you need to say Y here even if
1506	  your machine has an FPA or floating point co-processor podule.
1507
1508	  You may say N here if you are going to load the Acorn FPEmulator
1509	  early in the bootup.
1510
1511config FPE_NWFPE_XP
1512	bool "Support extended precision"
1513	depends on FPE_NWFPE
1514	help
1515	  Say Y to include 80-bit support in the kernel floating-point
1516	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
1517	  Note that gcc does not generate 80-bit operations by default,
1518	  so in most cases this option only enlarges the size of the
1519	  floating point emulator without any good reason.
1520
1521	  You almost surely want to say N here.
1522
1523config FPE_FASTFPE
1524	bool "FastFPE math emulation (EXPERIMENTAL)"
1525	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1526	---help---
1527	  Say Y here to include the FAST floating point emulator in the kernel.
1528	  This is an experimental much faster emulator which now also has full
1529	  precision for the mantissa.  It does not support any exceptions.
1530	  It is very simple, and approximately 3-6 times faster than NWFPE.
1531
1532	  It should be sufficient for most programs.  It may be not suitable
1533	  for scientific calculations, but you have to check this for yourself.
1534	  If you do not feel you need a faster FP emulation you should better
1535	  choose NWFPE.
1536
1537config VFP
1538	bool "VFP-format floating point maths"
1539	depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1540	help
1541	  Say Y to include VFP support code in the kernel. This is needed
1542	  if your hardware includes a VFP unit.
1543
1544	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
1545	  release notes and additional status information.
1546
1547	  Say N if your target does not have VFP hardware.
1548
1549config VFPv3
1550	bool
1551	depends on VFP
1552	default y if CPU_V7
1553
1554config NEON
1555	bool "Advanced SIMD (NEON) Extension support"
1556	depends on VFPv3 && CPU_V7
1557	help
1558	  Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1559	  Extension.
1560
1561endmenu
1562
1563menu "Userspace binary formats"
1564
1565source "fs/Kconfig.binfmt"
1566
1567config ARTHUR
1568	tristate "RISC OS personality"
1569	depends on !AEABI
1570	help
1571	  Say Y here to include the kernel code necessary if you want to run
1572	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
1573	  experimental; if this sounds frightening, say N and sleep in peace.
1574	  You can also say M here to compile this support as a module (which
1575	  will be called arthur).
1576
1577endmenu
1578
1579menu "Power management options"
1580
1581source "kernel/power/Kconfig"
1582
1583config ARCH_SUSPEND_POSSIBLE
1584	def_bool y
1585
1586endmenu
1587
1588source "net/Kconfig"
1589
1590source "drivers/Kconfig"
1591
1592source "fs/Kconfig"
1593
1594source "arch/arm/Kconfig.debug"
1595
1596source "security/Kconfig"
1597
1598source "crypto/Kconfig"
1599
1600source "lib/Kconfig"
1601