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