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