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