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