xref: /linux/arch/arm/Kconfig (revision 9dd0b194bf6804b1998f0fe261b2606ec7b58d72)
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config ARM
9	bool
10	default y
11	select RTC_LIB
12	select SYS_SUPPORTS_APM_EMULATION
13	select HAVE_OPROFILE
14	select HAVE_KPROBES if (!XIP_KERNEL)
15	select HAVE_KRETPROBES if (HAVE_KPROBES)
16	help
17	  The ARM series is a line of low-power-consumption RISC chip designs
18	  licensed by ARM Ltd and targeted at embedded applications and
19	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
20	  manufactured, but legacy ARM-based PC hardware remains popular in
21	  Europe.  There is an ARM Linux project with a web page at
22	  <http://www.arm.linux.org.uk/>.
23
24config SYS_SUPPORTS_APM_EMULATION
25	bool
26
27config GENERIC_GPIO
28	bool
29	default n
30
31config GENERIC_TIME
32	bool
33	default n
34
35config GENERIC_CLOCKEVENTS
36	bool
37	default n
38
39config GENERIC_CLOCKEVENTS_BROADCAST
40	bool
41	depends on GENERIC_CLOCKEVENTS
42	default y if SMP && !LOCAL_TIMERS
43
44config MMU
45	bool
46	default y
47
48config NO_IOPORT
49	bool
50	default n
51
52config 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
67config SBUS
68	bool
69
70config 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
78config GENERIC_HARDIRQS
79	bool
80	default y
81
82config STACKTRACE_SUPPORT
83	bool
84	default y
85
86config LOCKDEP_SUPPORT
87	bool
88	default y
89
90config TRACE_IRQFLAGS_SUPPORT
91	bool
92	default y
93
94config HARDIRQS_SW_RESEND
95	bool
96	default y
97
98config GENERIC_IRQ_PROBE
99	bool
100	default y
101
102config GENERIC_LOCKBREAK
103	bool
104	default y
105	depends on SMP && PREEMPT
106
107config RWSEM_GENERIC_SPINLOCK
108	bool
109	default y
110
111config RWSEM_XCHGADD_ALGORITHM
112	bool
113
114config ARCH_HAS_ILOG2_U32
115	bool
116	default n
117
118config ARCH_HAS_ILOG2_U64
119	bool
120	default n
121
122config GENERIC_HWEIGHT
123	bool
124	default y
125
126config GENERIC_CALIBRATE_DELAY
127	bool
128	default y
129
130config ARCH_SUPPORTS_AOUT
131	def_bool y
132
133config ARCH_MAY_HAVE_PC_FDC
134	bool
135
136config ZONE_DMA
137	bool
138	default y
139
140config GENERIC_ISA_DMA
141	bool
142
143config FIQ
144	bool
145
146config ARCH_MTD_XIP
147	bool
148
149if OPROFILE
150
151config OPROFILE_ARMV6
152	def_bool y
153	depends on CPU_V6 && !SMP
154	select OPROFILE_ARM11_CORE
155
156config OPROFILE_MPCORE
157	def_bool y
158	depends on CPU_V6 && SMP
159	select OPROFILE_ARM11_CORE
160
161config OPROFILE_ARM11_CORE
162	bool
163
164endif
165
166config VECTORS_BASE
167	hex
168	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
169	default DRAM_BASE if REMAP_VECTORS_TO_RAM
170	default 0x00000000
171	help
172	  The base address of exception vectors.
173
174source "init/Kconfig"
175
176menu "System Type"
177
178choice
179	prompt "ARM system type"
180	default ARCH_VERSATILE
181
182config ARCH_AAEC2000
183	bool "Agilent AAEC-2000 based"
184	select ARM_AMBA
185	help
186	  This enables support for systems based on the Agilent AAEC-2000
187
188config ARCH_INTEGRATOR
189	bool "ARM Ltd. Integrator family"
190	select ARM_AMBA
191	select ICST525
192	help
193	  Support for ARM's Integrator platform.
194
195config ARCH_REALVIEW
196	bool "ARM Ltd. RealView family"
197	select ARM_AMBA
198	select ICST307
199	select GENERIC_TIME
200	select GENERIC_CLOCKEVENTS
201	help
202	  This enables support for ARM Ltd RealView boards.
203
204config ARCH_VERSATILE
205	bool "ARM Ltd. Versatile family"
206	select ARM_AMBA
207	select ARM_VIC
208	select ICST307
209	select GENERIC_TIME
210	select GENERIC_CLOCKEVENTS
211	help
212	  This enables support for ARM Ltd Versatile board.
213
214config ARCH_AT91
215	bool "Atmel AT91"
216	select GENERIC_GPIO
217	help
218	  This enables support for systems based on the Atmel AT91RM9200,
219	  AT91SAM9 and AT91CAP9 processors.
220
221config ARCH_CLPS7500
222	bool "Cirrus CL-PS7500FE"
223	select TIMER_ACORN
224	select ISA
225	select NO_IOPORT
226	select HAVE_IDE
227	help
228	  Support for the Cirrus Logic PS7500FE system-on-a-chip.
229
230config ARCH_CLPS711X
231	bool "Cirrus Logic CLPS711x/EP721x-based"
232	help
233	  Support for Cirrus Logic 711x/721x based boards.
234
235config ARCH_CO285
236	bool "Co-EBSA285"
237	select FOOTBRIDGE
238	select FOOTBRIDGE_ADDIN
239	select HAVE_IDE
240	help
241	  Support for Intel's EBSA285 companion chip.
242
243config ARCH_EBSA110
244	bool "EBSA-110"
245	select ISA
246	select NO_IOPORT
247	help
248	  This is an evaluation board for the StrongARM processor available
249	  from Digital. It has limited hardware on-board, including an
250	  Ethernet interface, two PCMCIA sockets, two serial ports and a
251	  parallel port.
252
253config ARCH_EP93XX
254	bool "EP93xx-based"
255	select ARM_AMBA
256	select ARM_VIC
257	select GENERIC_GPIO
258	help
259	  This enables support for the Cirrus EP93xx series of CPUs.
260
261config ARCH_FOOTBRIDGE
262	bool "FootBridge"
263	select FOOTBRIDGE
264	select HAVE_IDE
265	help
266	  Support for systems based on the DC21285 companion chip
267	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
268
269config ARCH_NETX
270	bool "Hilscher NetX based"
271	select ARM_VIC
272	help
273	  This enables support for systems based on the Hilscher NetX Soc
274
275config ARCH_H720X
276	bool "Hynix HMS720x-based"
277	select ISA_DMA_API
278	help
279	  This enables support for systems based on the Hynix HMS720x
280
281config ARCH_IMX
282	bool "IMX"
283	select GENERIC_GPIO
284	select GENERIC_TIME
285	select GENERIC_CLOCKEVENTS
286	help
287	  Support for Motorola's i.MX family of processors (MX1, MXL).
288
289config ARCH_IOP13XX
290	bool "IOP13xx-based"
291	depends on MMU
292	select PLAT_IOP
293	select PCI
294	select ARCH_SUPPORTS_MSI
295	help
296	  Support for Intel's IOP13XX (XScale) family of processors.
297
298config ARCH_IOP32X
299	bool "IOP32x-based"
300	depends on MMU
301	select PLAT_IOP
302	select PCI
303	select HAVE_IDE
304	help
305	  Support for Intel's 80219 and IOP32X (XScale) family of
306	  processors.
307
308config ARCH_IOP33X
309	bool "IOP33x-based"
310	depends on MMU
311	select PLAT_IOP
312	select PCI
313	select HAVE_IDE
314	help
315	  Support for Intel's IOP33X (XScale) family of processors.
316
317config ARCH_IXP23XX
318 	bool "IXP23XX-based"
319	depends on MMU
320	select HAVE_IDE
321 	select PCI
322	help
323	  Support for Intel's IXP23xx (XScale) family of processors.
324
325config ARCH_IXP2000
326	bool "IXP2400/2800-based"
327	depends on MMU
328	select PCI
329	help
330	  Support for Intel's IXP2400/2800 (XScale) family of processors.
331
332config ARCH_IXP4XX
333	bool "IXP4xx-based"
334	depends on MMU
335	select GENERIC_GPIO
336	select GENERIC_TIME
337	select GENERIC_CLOCKEVENTS
338	select HAVE_IDE
339	help
340	  Support for Intel's IXP4XX (XScale) family of processors.
341
342config ARCH_L7200
343	bool "LinkUp-L7200"
344	select FIQ
345	select HAVE_IDE
346	help
347	  Say Y here if you intend to run this kernel on a LinkUp Systems
348	  L7200 Software Development Board which uses an ARM720T processor.
349	  Information on this board can be obtained at:
350
351	  <http://www.linkupsys.com/>
352
353	  If you have any questions or comments about the Linux kernel port
354	  to this board, send e-mail to <sjhill@cotw.com>.
355
356config ARCH_KS8695
357	bool "Micrel/Kendin KS8695"
358	select GENERIC_GPIO
359	help
360	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
361	  System-on-Chip devices.
362
363config ARCH_NS9XXX
364	bool "NetSilicon NS9xxx"
365	select GENERIC_GPIO
366	select GENERIC_TIME
367	select GENERIC_CLOCKEVENTS
368	help
369	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
370	  System.
371
372	  <http://www.digi.com/products/microprocessors/index.jsp>
373
374config ARCH_MXC
375	bool "Freescale MXC/iMX-based"
376	select ARCH_MTD_XIP
377	help
378	  Support for Freescale MXC/iMX-based family of processors
379
380config ARCH_ORION5X
381	bool "Marvell Orion"
382	depends on MMU
383	select PCI
384	select GENERIC_GPIO
385	select GENERIC_TIME
386	select GENERIC_CLOCKEVENTS
387	select PLAT_ORION
388	help
389	  Support for the following Marvell Orion 5x series SoCs:
390	  Orion-1 (5181), Orion-NAS (5182), Orion-2 (5281.)
391
392config ARCH_PNX4008
393	bool "Philips Nexperia PNX4008 Mobile"
394	help
395	  This enables support for Philips PNX4008 mobile platform.
396
397config ARCH_PXA
398	bool "PXA2xx/PXA3xx-based"
399	depends on MMU
400	select ARCH_MTD_XIP
401	select GENERIC_GPIO
402	select HAVE_IDE
403	select HAVE_GPIO_LIB
404	select GENERIC_TIME
405	select GENERIC_CLOCKEVENTS
406	select TICK_ONESHOT
407	help
408	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
409
410config ARCH_RPC
411	bool "RiscPC"
412	select ARCH_ACORN
413	select FIQ
414	select TIMER_ACORN
415	select ARCH_MAY_HAVE_PC_FDC
416	select ISA_DMA_API
417	select NO_IOPORT
418	select HAVE_IDE
419	help
420	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
421	  CD-ROM interface, serial and parallel port, and the floppy drive.
422
423config ARCH_SA1100
424	bool "SA1100-based"
425	select ISA
426	select ARCH_DISCONTIGMEM_ENABLE
427	select ARCH_MTD_XIP
428	select GENERIC_GPIO
429	select GENERIC_TIME
430	select HAVE_IDE
431	help
432	  Support for StrongARM 11x0 based boards.
433
434config ARCH_S3C2410
435	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
436	select GENERIC_GPIO
437	select HAVE_IDE
438	help
439	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
440	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
441	  the Samsung SMDK2410 development board (and derivatives).
442
443config ARCH_SHARK
444	bool "Shark"
445	select HAVE_IDE
446	select ISA
447	select ISA_DMA
448	select PCI
449	help
450	  Support for the StrongARM based Digital DNARD machine, also known
451	  as "Shark" (<http://www.shark-linux.de/shark.html>).
452
453config ARCH_LH7A40X
454	bool "Sharp LH7A40X"
455	select HAVE_IDE
456	help
457	  Say Y here for systems based on one of the Sharp LH7A40X
458	  System on a Chip processors.  These CPUs include an ARM922T
459	  core with a wide array of integrated devices for
460	  hand-held and low-power applications.
461
462config ARCH_DAVINCI
463	bool "TI DaVinci"
464	select GENERIC_TIME
465	select GENERIC_CLOCKEVENTS
466	select GENERIC_GPIO
467	help
468	  Support for TI's DaVinci platform.
469
470config ARCH_OMAP
471	bool "TI OMAP"
472	select GENERIC_GPIO
473	select GENERIC_TIME
474	select GENERIC_CLOCKEVENTS
475	help
476	  Support for TI's OMAP platform (OMAP1 and OMAP2).
477
478config ARCH_MSM7X00A
479	bool "Qualcomm MSM7X00A"
480	select GENERIC_TIME
481	select GENERIC_CLOCKEVENTS
482	help
483	  Support for Qualcomm MSM7X00A based systems.  This runs on the ARM11
484	  apps processor of the MSM7X00A and depends on a shared memory
485	  interface to the ARM9 modem processor which runs the baseband stack
486	  and controls some vital subsystems (clock and power control, etc).
487	  <http://www.cdmatech.com/products/msm7200_chipset_solution.jsp>
488
489endchoice
490
491source "arch/arm/mach-clps711x/Kconfig"
492
493source "arch/arm/mach-ep93xx/Kconfig"
494
495source "arch/arm/mach-footbridge/Kconfig"
496
497source "arch/arm/mach-integrator/Kconfig"
498
499source "arch/arm/mach-iop32x/Kconfig"
500
501source "arch/arm/mach-iop33x/Kconfig"
502
503source "arch/arm/mach-iop13xx/Kconfig"
504
505source "arch/arm/mach-ixp4xx/Kconfig"
506
507source "arch/arm/mach-ixp2000/Kconfig"
508
509source "arch/arm/mach-ixp23xx/Kconfig"
510
511source "arch/arm/mach-pxa/Kconfig"
512
513source "arch/arm/mach-sa1100/Kconfig"
514
515source "arch/arm/plat-omap/Kconfig"
516
517source "arch/arm/mach-omap1/Kconfig"
518
519source "arch/arm/mach-omap2/Kconfig"
520
521source "arch/arm/mach-orion5x/Kconfig"
522
523source "arch/arm/plat-s3c24xx/Kconfig"
524source "arch/arm/plat-s3c/Kconfig"
525
526if ARCH_S3C2410
527source "arch/arm/mach-s3c2400/Kconfig"
528source "arch/arm/mach-s3c2410/Kconfig"
529source "arch/arm/mach-s3c2412/Kconfig"
530source "arch/arm/mach-s3c2440/Kconfig"
531source "arch/arm/mach-s3c2442/Kconfig"
532source "arch/arm/mach-s3c2443/Kconfig"
533endif
534
535source "arch/arm/mach-lh7a40x/Kconfig"
536
537source "arch/arm/mach-imx/Kconfig"
538
539source "arch/arm/mach-h720x/Kconfig"
540
541source "arch/arm/mach-versatile/Kconfig"
542
543source "arch/arm/mach-aaec2000/Kconfig"
544
545source "arch/arm/mach-realview/Kconfig"
546
547source "arch/arm/mach-at91/Kconfig"
548
549source "arch/arm/plat-mxc/Kconfig"
550
551source "arch/arm/mach-netx/Kconfig"
552
553source "arch/arm/mach-ns9xxx/Kconfig"
554
555source "arch/arm/mach-davinci/Kconfig"
556
557source "arch/arm/mach-ks8695/Kconfig"
558
559source "arch/arm/mach-msm/Kconfig"
560
561# Definitions to make life easier
562config ARCH_ACORN
563	bool
564
565config PLAT_IOP
566	bool
567
568config PLAT_ORION
569	bool
570
571source arch/arm/mm/Kconfig
572
573config IWMMXT
574	bool "Enable iWMMXt support"
575	depends on CPU_XSCALE || CPU_XSC3
576	default y if PXA27x || PXA3xx
577	help
578	  Enable support for iWMMXt context switching at run time if
579	  running on a CPU that supports it.
580
581#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
582config XSCALE_PMU
583	bool
584	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
585	default y
586
587if !MMU
588source "arch/arm/Kconfig-nommu"
589endif
590
591endmenu
592
593source "arch/arm/common/Kconfig"
594
595config FORCE_MAX_ZONEORDER
596	int
597	depends on SA1111
598	default "9"
599
600menu "Bus support"
601
602config ARM_AMBA
603	bool
604
605config ISA
606	bool
607	help
608	  Find out whether you have ISA slots on your motherboard.  ISA is the
609	  name of a bus system, i.e. the way the CPU talks to the other stuff
610	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
611	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
612	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
613
614# Select ISA DMA controller support
615config ISA_DMA
616	bool
617	select ISA_DMA_API
618
619# Select ISA DMA interface
620config ISA_DMA_API
621	bool
622
623config PCI
624	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
625	help
626	  Find out whether you have a PCI motherboard. PCI is the name of a
627	  bus system, i.e. the way the CPU talks to the other stuff inside
628	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
629	  VESA. If you have PCI, say Y, otherwise N.
630
631config PCI_SYSCALL
632	def_bool PCI
633
634# Select the host bridge type
635config PCI_HOST_VIA82C505
636	bool
637	depends on PCI && ARCH_SHARK
638	default y
639
640config PCI_HOST_ITE8152
641	bool
642	depends on PCI && MACH_ARMCORE
643	default y
644	select DMABOUNCE
645
646source "drivers/pci/Kconfig"
647
648source "drivers/pcmcia/Kconfig"
649
650endmenu
651
652menu "Kernel Features"
653
654source "kernel/time/Kconfig"
655
656config SMP
657	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
658	depends on EXPERIMENTAL && REALVIEW_EB_ARM11MP
659	help
660	  This enables support for systems with more than one CPU. If you have
661	  a system with only one CPU, like most personal computers, say N. If
662	  you have a system with more than one CPU, say Y.
663
664	  If you say N here, the kernel will run on single and multiprocessor
665	  machines, but will use only one CPU of a multiprocessor machine. If
666	  you say Y here, the kernel will run on many, but not all, single
667	  processor machines. On a single processor machine, the kernel will
668	  run faster if you say N here.
669
670	  See also <file:Documentation/i386/IO-APIC.txt>,
671	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
672	  <http://www.linuxdoc.org/docs.html#howto>.
673
674	  If you don't know what to do here, say N.
675
676config NR_CPUS
677	int "Maximum number of CPUs (2-32)"
678	range 2 32
679	depends on SMP
680	default "4"
681
682config HOTPLUG_CPU
683	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
684	depends on SMP && HOTPLUG && EXPERIMENTAL
685	help
686	  Say Y here to experiment with turning CPUs off and on.  CPUs
687	  can be controlled through /sys/devices/system/cpu.
688
689config LOCAL_TIMERS
690	bool "Use local timer interrupts"
691	depends on SMP && REALVIEW_EB_ARM11MP
692	default y
693	help
694	  Enable support for local timers on SMP platforms, rather then the
695	  legacy IPI broadcast method.  Local timers allows the system
696	  accounting to be spread across the timer interval, preventing a
697	  "thundering herd" at every timer tick.
698
699config PREEMPT
700	bool "Preemptible Kernel (EXPERIMENTAL)"
701	depends on EXPERIMENTAL
702	help
703	  This option reduces the latency of the kernel when reacting to
704	  real-time or interactive events by allowing a low priority process to
705	  be preempted even if it is in kernel mode executing a system call.
706	  This allows applications to run more reliably even when the system is
707	  under load.
708
709	  Say Y here if you are building a kernel for a desktop, embedded
710	  or real-time system.  Say N if you are unsure.
711
712config NO_IDLE_HZ
713	bool "Dynamic tick timer"
714	depends on !GENERIC_CLOCKEVENTS
715	help
716	  Select this option if you want to disable continuous timer ticks
717	  and have them programmed to occur as required. This option saves
718	  power as the system can remain in idle state for longer.
719
720	  By default dynamic tick is disabled during the boot, and can be
721	  manually enabled with:
722
723	    echo 1 > /sys/devices/system/timer/timer0/dyn_tick
724
725	  Alternatively, if you want dynamic tick automatically enabled
726	  during boot, pass "dyntick=enable" via the kernel command string.
727
728	  Please note that dynamic tick may affect the accuracy of
729	  timekeeping on some platforms depending on the implementation.
730	  Currently at least OMAP, PXA2xx and SA11x0 platforms are known
731	  to have accurate timekeeping with dynamic tick.
732
733config HZ
734	int
735	default 128 if ARCH_L7200
736	default 200 if ARCH_EBSA110 || ARCH_S3C2410
737	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
738	default AT91_TIMER_HZ if ARCH_AT91
739	default 100
740
741config AEABI
742	bool "Use the ARM EABI to compile the kernel"
743	help
744	  This option allows for the kernel to be compiled using the latest
745	  ARM ABI (aka EABI).  This is only useful if you are using a user
746	  space environment that is also compiled with EABI.
747
748	  Since there are major incompatibilities between the legacy ABI and
749	  EABI, especially with regard to structure member alignment, this
750	  option also changes the kernel syscall calling convention to
751	  disambiguate both ABIs and allow for backward compatibility support
752	  (selected with CONFIG_OABI_COMPAT).
753
754	  To use this you need GCC version 4.0.0 or later.
755
756config OABI_COMPAT
757	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
758	depends on AEABI && EXPERIMENTAL
759	default y
760	help
761	  This option preserves the old syscall interface along with the
762	  new (ARM EABI) one. It also provides a compatibility layer to
763	  intercept syscalls that have structure arguments which layout
764	  in memory differs between the legacy ABI and the new ARM EABI
765	  (only for non "thumb" binaries). This option adds a tiny
766	  overhead to all syscalls and produces a slightly larger kernel.
767	  If you know you'll be using only pure EABI user space then you
768	  can say N here. If this option is not selected and you attempt
769	  to execute a legacy ABI binary then the result will be
770	  UNPREDICTABLE (in fact it can be predicted that it won't work
771	  at all). If in doubt say Y.
772
773config ARCH_DISCONTIGMEM_ENABLE
774	bool
775	default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
776	help
777	  Say Y to support efficient handling of discontiguous physical memory,
778	  for architectures which are either NUMA (Non-Uniform Memory Access)
779	  or have huge holes in the physical address space for other reasons.
780	  See <file:Documentation/vm/numa> for more.
781
782config NODES_SHIFT
783	int
784	default "4" if ARCH_LH7A40X
785	default "2"
786	depends on NEED_MULTIPLE_NODES
787
788source "mm/Kconfig"
789
790config LEDS
791	bool "Timer and CPU usage LEDs"
792	depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
793		   ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
794		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
795		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
796		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
797		   ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI || \
798		   ARCH_KS8695 || MACH_RD88F5182
799	help
800	  If you say Y here, the LEDs on your machine will be used
801	  to provide useful information about your current system status.
802
803	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
804	  be able to select which LEDs are active using the options below. If
805	  you are compiling a kernel for the EBSA-110 or the LART however, the
806	  red LED will simply flash regularly to indicate that the system is
807	  still functional. It is safe to say Y here if you have a CATS
808	  system, but the driver will do nothing.
809
810config LEDS_TIMER
811	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
812			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
813			    || MACH_OMAP_PERSEUS2
814	depends on LEDS
815	depends on !GENERIC_CLOCKEVENTS
816	default y if ARCH_EBSA110
817	help
818	  If you say Y here, one of the system LEDs (the green one on the
819	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
820	  will flash regularly to indicate that the system is still
821	  operational. This is mainly useful to kernel hackers who are
822	  debugging unstable kernels.
823
824	  The LART uses the same LED for both Timer LED and CPU usage LED
825	  functions. You may choose to use both, but the Timer LED function
826	  will overrule the CPU usage LED.
827
828config LEDS_CPU
829	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
830			!ARCH_OMAP) \
831			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
832			|| MACH_OMAP_PERSEUS2
833	depends on LEDS
834	help
835	  If you say Y here, the red LED will be used to give a good real
836	  time indication of CPU usage, by lighting whenever the idle task
837	  is not currently executing.
838
839	  The LART uses the same LED for both Timer LED and CPU usage LED
840	  functions. You may choose to use both, but the Timer LED function
841	  will overrule the CPU usage LED.
842
843config ALIGNMENT_TRAP
844	bool
845	depends on CPU_CP15_MMU
846	default y if !ARCH_EBSA110
847	help
848	  ARM processors cannot fetch/store information which is not
849	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
850	  address divisible by 4. On 32-bit ARM processors, these non-aligned
851	  fetch/store instructions will be emulated in software if you say
852	  here, which has a severe performance impact. This is necessary for
853	  correct operation of some network protocols. With an IP-only
854	  configuration it is safe to say N, otherwise say Y.
855
856endmenu
857
858menu "Boot options"
859
860# Compressed boot loader in ROM.  Yes, we really want to ask about
861# TEXT and BSS so we preserve their values in the config files.
862config ZBOOT_ROM_TEXT
863	hex "Compressed ROM boot loader base address"
864	default "0"
865	help
866	  The physical address at which the ROM-able zImage is to be
867	  placed in the target.  Platforms which normally make use of
868	  ROM-able zImage formats normally set this to a suitable
869	  value in their defconfig file.
870
871	  If ZBOOT_ROM is not enabled, this has no effect.
872
873config ZBOOT_ROM_BSS
874	hex "Compressed ROM boot loader BSS address"
875	default "0"
876	help
877	  The base address of an area of read/write memory in the target
878	  for the ROM-able zImage which must be available while the
879	  decompressor is running. It must be large enough to hold the
880	  entire decompressed kernel plus an additional 128 KiB.
881	  Platforms which normally make use of ROM-able zImage formats
882	  normally set this to a suitable value in their defconfig file.
883
884	  If ZBOOT_ROM is not enabled, this has no effect.
885
886config ZBOOT_ROM
887	bool "Compressed boot loader in ROM/flash"
888	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
889	help
890	  Say Y here if you intend to execute your compressed kernel image
891	  (zImage) directly from ROM or flash.  If unsure, say N.
892
893config CMDLINE
894	string "Default kernel command string"
895	default ""
896	help
897	  On some architectures (EBSA110 and CATS), there is currently no way
898	  for the boot loader to pass arguments to the kernel. For these
899	  architectures, you should supply some command-line options at build
900	  time by entering them here. As a minimum, you should specify the
901	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
902
903config XIP_KERNEL
904	bool "Kernel Execute-In-Place from ROM"
905	depends on !ZBOOT_ROM
906	help
907	  Execute-In-Place allows the kernel to run from non-volatile storage
908	  directly addressable by the CPU, such as NOR flash. This saves RAM
909	  space since the text section of the kernel is not loaded from flash
910	  to RAM.  Read-write sections, such as the data section and stack,
911	  are still copied to RAM.  The XIP kernel is not compressed since
912	  it has to run directly from flash, so it will take more space to
913	  store it.  The flash address used to link the kernel object files,
914	  and for storing it, is configuration dependent. Therefore, if you
915	  say Y here, you must know the proper physical address where to
916	  store the kernel image depending on your own flash memory usage.
917
918	  Also note that the make target becomes "make xipImage" rather than
919	  "make zImage" or "make Image".  The final kernel binary to put in
920	  ROM memory will be arch/arm/boot/xipImage.
921
922	  If unsure, say N.
923
924config XIP_PHYS_ADDR
925	hex "XIP Kernel Physical Location"
926	depends on XIP_KERNEL
927	default "0x00080000"
928	help
929	  This is the physical address in your flash memory the kernel will
930	  be linked for and stored to.  This address is dependent on your
931	  own flash usage.
932
933config KEXEC
934	bool "Kexec system call (EXPERIMENTAL)"
935	depends on EXPERIMENTAL
936	help
937	  kexec is a system call that implements the ability to shutdown your
938	  current kernel, and to start another kernel.  It is like a reboot
939	  but it is independent of the system firmware.   And like a reboot
940	  you can start any kernel with it, not just Linux.
941
942	  It is an ongoing process to be certain the hardware in a machine
943	  is properly shutdown, so do not be surprised if this code does not
944	  initially work for you.  It may help to enable device hotplugging
945	  support.
946
947config ATAGS_PROC
948	bool "Export atags in procfs"
949	depends on KEXEC
950	default y
951	help
952	  Should the atags used to boot the kernel be exported in an "atags"
953	  file in procfs. Useful with kexec.
954
955endmenu
956
957if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
958
959menu "CPU Frequency scaling"
960
961source "drivers/cpufreq/Kconfig"
962
963config CPU_FREQ_SA1100
964	bool
965	depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
966	default y
967
968config CPU_FREQ_SA1110
969	bool
970	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
971	default y
972
973config CPU_FREQ_INTEGRATOR
974	tristate "CPUfreq driver for ARM Integrator CPUs"
975	depends on ARCH_INTEGRATOR && CPU_FREQ
976	default y
977	help
978	  This enables the CPUfreq driver for ARM Integrator CPUs.
979
980	  For details, take a look at <file:Documentation/cpu-freq>.
981
982	  If in doubt, say Y.
983
984config CPU_FREQ_IMX
985	tristate "CPUfreq driver for i.MX CPUs"
986	depends on ARCH_IMX && CPU_FREQ
987	default n
988	help
989	  This enables the CPUfreq driver for i.MX CPUs.
990
991	  If in doubt, say N.
992
993config CPU_FREQ_PXA
994	bool
995	depends on CPU_FREQ && ARCH_PXA && PXA25x
996	default y
997	select CPU_FREQ_DEFAULT_GOV_USERSPACE
998
999endmenu
1000
1001endif
1002
1003menu "Floating point emulation"
1004
1005comment "At least one emulation must be selected"
1006
1007config FPE_NWFPE
1008	bool "NWFPE math emulation"
1009	depends on !AEABI || OABI_COMPAT
1010	---help---
1011	  Say Y to include the NWFPE floating point emulator in the kernel.
1012	  This is necessary to run most binaries. Linux does not currently
1013	  support floating point hardware so you need to say Y here even if
1014	  your machine has an FPA or floating point co-processor podule.
1015
1016	  You may say N here if you are going to load the Acorn FPEmulator
1017	  early in the bootup.
1018
1019config FPE_NWFPE_XP
1020	bool "Support extended precision"
1021	depends on FPE_NWFPE
1022	help
1023	  Say Y to include 80-bit support in the kernel floating-point
1024	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
1025	  Note that gcc does not generate 80-bit operations by default,
1026	  so in most cases this option only enlarges the size of the
1027	  floating point emulator without any good reason.
1028
1029	  You almost surely want to say N here.
1030
1031config FPE_FASTFPE
1032	bool "FastFPE math emulation (EXPERIMENTAL)"
1033	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1034	---help---
1035	  Say Y here to include the FAST floating point emulator in the kernel.
1036	  This is an experimental much faster emulator which now also has full
1037	  precision for the mantissa.  It does not support any exceptions.
1038	  It is very simple, and approximately 3-6 times faster than NWFPE.
1039
1040	  It should be sufficient for most programs.  It may be not suitable
1041	  for scientific calculations, but you have to check this for yourself.
1042	  If you do not feel you need a faster FP emulation you should better
1043	  choose NWFPE.
1044
1045config VFP
1046	bool "VFP-format floating point maths"
1047	depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1048	help
1049	  Say Y to include VFP support code in the kernel. This is needed
1050	  if your hardware includes a VFP unit.
1051
1052	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
1053	  release notes and additional status information.
1054
1055	  Say N if your target does not have VFP hardware.
1056
1057config VFPv3
1058	bool
1059	depends on VFP
1060	default y if CPU_V7
1061
1062config NEON
1063	bool "Advanced SIMD (NEON) Extension support"
1064	depends on VFPv3 && CPU_V7
1065	help
1066	  Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1067	  Extension.
1068
1069endmenu
1070
1071menu "Userspace binary formats"
1072
1073source "fs/Kconfig.binfmt"
1074
1075config ARTHUR
1076	tristate "RISC OS personality"
1077	depends on !AEABI
1078	help
1079	  Say Y here to include the kernel code necessary if you want to run
1080	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
1081	  experimental; if this sounds frightening, say N and sleep in peace.
1082	  You can also say M here to compile this support as a module (which
1083	  will be called arthur).
1084
1085endmenu
1086
1087menu "Power management options"
1088
1089source "kernel/power/Kconfig"
1090
1091config ARCH_SUSPEND_POSSIBLE
1092	def_bool y
1093
1094endmenu
1095
1096source "net/Kconfig"
1097
1098menu "Device Drivers"
1099
1100source "drivers/base/Kconfig"
1101
1102source "drivers/connector/Kconfig"
1103
1104if ALIGNMENT_TRAP || !CPU_CP15_MMU
1105source "drivers/mtd/Kconfig"
1106endif
1107
1108source "drivers/parport/Kconfig"
1109
1110source "drivers/pnp/Kconfig"
1111
1112source "drivers/block/Kconfig"
1113
1114# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
1115
1116source "drivers/misc/Kconfig"
1117
1118source "drivers/ide/Kconfig"
1119
1120source "drivers/scsi/Kconfig"
1121
1122source "drivers/ata/Kconfig"
1123
1124source "drivers/md/Kconfig"
1125
1126source "drivers/message/fusion/Kconfig"
1127
1128source "drivers/ieee1394/Kconfig"
1129
1130source "drivers/message/i2o/Kconfig"
1131
1132source "drivers/net/Kconfig"
1133
1134source "drivers/isdn/Kconfig"
1135
1136# input before char - char/joystick depends on it. As does USB.
1137
1138source "drivers/input/Kconfig"
1139
1140source "drivers/char/Kconfig"
1141
1142source "drivers/i2c/Kconfig"
1143
1144source "drivers/spi/Kconfig"
1145
1146source "drivers/gpio/Kconfig"
1147
1148source "drivers/w1/Kconfig"
1149
1150source "drivers/power/Kconfig"
1151
1152source "drivers/hwmon/Kconfig"
1153
1154source "drivers/watchdog/Kconfig"
1155
1156source "drivers/ssb/Kconfig"
1157
1158#source "drivers/l3/Kconfig"
1159
1160source "drivers/mfd/Kconfig"
1161
1162source "drivers/media/Kconfig"
1163
1164source "drivers/video/Kconfig"
1165
1166source "sound/Kconfig"
1167
1168source "drivers/hid/Kconfig"
1169
1170source "drivers/usb/Kconfig"
1171
1172source "drivers/mmc/Kconfig"
1173
1174source "drivers/leds/Kconfig"
1175
1176source "drivers/rtc/Kconfig"
1177
1178source "drivers/dma/Kconfig"
1179
1180source "drivers/dca/Kconfig"
1181
1182endmenu
1183
1184source "fs/Kconfig"
1185
1186source "arch/arm/Kconfig.debug"
1187
1188source "security/Kconfig"
1189
1190source "crypto/Kconfig"
1191
1192source "lib/Kconfig"
1193