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