]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/arm/Kconfig
Merge branches 'at91', 'dcache', 'ftrace', 'hwbpt', 'misc', 'mmci', 's3c', 'st-ux...
[net-next-2.6.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
2778f620 13 select HAVE_MEMBLOCK
12b824fb 14 select RTC_LIB
75e7153a 15 select SYS_SUPPORTS_APM_EMULATION
24b44a66 16 select GENERIC_ATOMIC64 if (!CPU_32v6K)
fe166148 17 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
5cbad0eb 18 select HAVE_ARCH_KGDB
3f550096 19 select HAVE_KPROBES if (!XIP_KERNEL)
9edddaa2 20 select HAVE_KRETPROBES if (HAVE_KPROBES)
606576ce 21 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
80be7a7f
RV
22 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
23 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
1fe53268 24 select HAVE_GENERIC_DMA_COHERENT
e7db7b42
AT
25 select HAVE_KERNEL_GZIP
26 select HAVE_KERNEL_LZO
6e8699f7 27 select HAVE_KERNEL_LZMA
7ada189f
JI
28 select HAVE_PERF_EVENTS
29 select PERF_USE_VMALLOC
e513f8bf 30 select HAVE_REGS_AND_STACK_ACCESS_API
19852e59 31 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V7))
1da177e4
LT
32 help
33 The ARM series is a line of low-power-consumption RISC chip designs
f6c8965a 34 licensed by ARM Ltd and targeted at embedded applications and
1da177e4 35 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
f6c8965a 36 manufactured, but legacy ARM-based PC hardware remains popular in
1da177e4
LT
37 Europe. There is an ARM Linux project with a web page at
38 <http://www.arm.linux.org.uk/>.
39
1a189b97
RK
40config HAVE_PWM
41 bool
42
75e7153a
RB
43config SYS_SUPPORTS_APM_EMULATION
44 bool
45
0a938b97
DB
46config GENERIC_GPIO
47 bool
0a938b97 48
5cfc8ee0
JS
49config ARCH_USES_GETTIMEOFFSET
50 bool
51 default n
746140c7 52
0567a0c0
KH
53config GENERIC_CLOCKEVENTS
54 bool
0567a0c0 55
a8655e83
CM
56config GENERIC_CLOCKEVENTS_BROADCAST
57 bool
58 depends on GENERIC_CLOCKEVENTS
5388a6b2 59 default y if SMP
a8655e83 60
bc581770
LW
61config HAVE_TCM
62 bool
63 select GENERIC_ALLOCATOR
64
e119bfff
RK
65config HAVE_PROC_CPU
66 bool
67
5ea81769
AV
68config NO_IOPORT
69 bool
5ea81769 70
1da177e4
LT
71config EISA
72 bool
73 ---help---
74 The Extended Industry Standard Architecture (EISA) bus was
75 developed as an open alternative to the IBM MicroChannel bus.
76
77 The EISA bus provided some of the features of the IBM MicroChannel
78 bus while maintaining backward compatibility with cards made for
79 the older ISA bus. The EISA bus saw limited use between 1988 and
80 1995 when it was made obsolete by the PCI bus.
81
82 Say Y here if you are building a kernel for an EISA-based machine.
83
84 Otherwise, say N.
85
86config SBUS
87 bool
88
89config MCA
90 bool
91 help
92 MicroChannel Architecture is found in some IBM PS/2 machines and
93 laptops. It is a bus system similar to PCI or ISA. See
94 <file:Documentation/mca.txt> (and especially the web page given
95 there) before attempting to build an MCA bus kernel.
96
4a2581a0
TG
97config GENERIC_HARDIRQS
98 bool
99 default y
100
f16fb1ec
RK
101config STACKTRACE_SUPPORT
102 bool
103 default y
104
f76e9154
NP
105config HAVE_LATENCYTOP_SUPPORT
106 bool
107 depends on !SMP
108 default y
109
f16fb1ec
RK
110config LOCKDEP_SUPPORT
111 bool
112 default y
113
7ad1bcb2
RK
114config TRACE_IRQFLAGS_SUPPORT
115 bool
116 default y
117
4a2581a0
TG
118config HARDIRQS_SW_RESEND
119 bool
120 default y
121
122config GENERIC_IRQ_PROBE
123 bool
124 default y
125
95c354fe
NP
126config GENERIC_LOCKBREAK
127 bool
128 default y
129 depends on SMP && PREEMPT
130
1da177e4
LT
131config RWSEM_GENERIC_SPINLOCK
132 bool
133 default y
134
135config RWSEM_XCHGADD_ALGORITHM
136 bool
137
f0d1b0b3
DH
138config ARCH_HAS_ILOG2_U32
139 bool
f0d1b0b3
DH
140
141config ARCH_HAS_ILOG2_U64
142 bool
f0d1b0b3 143
89c52ed4
BD
144config ARCH_HAS_CPUFREQ
145 bool
146 help
147 Internal node to signify that the ARCH has CPUFREQ support
148 and that the relevant menu configurations are displayed for
149 it.
150
c7b0aff4
KH
151config ARCH_HAS_CPU_IDLE_WAIT
152 def_bool y
153
b89c3b16
AM
154config GENERIC_HWEIGHT
155 bool
156 default y
157
1da177e4
LT
158config GENERIC_CALIBRATE_DELAY
159 bool
160 default y
161
a08b6b79
AV
162config ARCH_MAY_HAVE_PC_FDC
163 bool
164
5ac6da66
CL
165config ZONE_DMA
166 bool
5ac6da66 167
ccd7ab7f
FT
168config NEED_DMA_MAP_STATE
169 def_bool y
170
1da177e4
LT
171config GENERIC_ISA_DMA
172 bool
173
1da177e4
LT
174config FIQ
175 bool
176
034d2f5a
AV
177config ARCH_MTD_XIP
178 bool
179
60a752ef 180config GENERIC_HARDIRQS_NO__DO_IRQ
60a752ef
PZ
181 def_bool y
182
d6d502fa
KK
183config ARM_L1_CACHE_SHIFT_6
184 bool
185 help
186 Setting ARM L1 cache line size to 64 Bytes.
187
c760fc19
HC
188config VECTORS_BASE
189 hex
6afd6fae 190 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
c760fc19
HC
191 default DRAM_BASE if REMAP_VECTORS_TO_RAM
192 default 0x00000000
193 help
194 The base address of exception vectors.
195
1da177e4
LT
196source "init/Kconfig"
197
dc52ddc0
MH
198source "kernel/Kconfig.freezer"
199
1da177e4
LT
200menu "System Type"
201
3c427975
HC
202config MMU
203 bool "MMU-based Paged Memory Management Support"
204 default y
205 help
206 Select if you want MMU-based virtualised addressing space
207 support by paged memory management. If unsure, say 'Y'.
208
ccf50e23
RK
209#
210# The "ARM system type" choice list is ordered alphabetically by option
211# text. Please add new entries in the option alphabetic order.
212#
1da177e4
LT
213choice
214 prompt "ARM system type"
6a0e2430 215 default ARCH_VERSATILE
1da177e4 216
4af6fee1
DS
217config ARCH_AAEC2000
218 bool "Agilent AAEC-2000 based"
c750815e 219 select CPU_ARM920T
4af6fee1 220 select ARM_AMBA
9483a578 221 select HAVE_CLK
5cfc8ee0 222 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
223 help
224 This enables support for systems based on the Agilent AAEC-2000
225
226config ARCH_INTEGRATOR
227 bool "ARM Ltd. Integrator family"
228 select ARM_AMBA
89c52ed4 229 select ARCH_HAS_CPUFREQ
d72fbdf0 230 select COMMON_CLKDEV
c5a0adb5 231 select ICST
13edd86d 232 select GENERIC_CLOCKEVENTS
f4b8b319 233 select PLAT_VERSATILE
4af6fee1
DS
234 help
235 Support for ARM's Integrator platform.
236
237config ARCH_REALVIEW
238 bool "ARM Ltd. RealView family"
239 select ARM_AMBA
cf30fb4a 240 select COMMON_CLKDEV
c5a0adb5 241 select ICST
ae30ceac 242 select GENERIC_CLOCKEVENTS
eb7fffa3 243 select ARCH_WANT_OPTIONAL_GPIOLIB
f4b8b319 244 select PLAT_VERSATILE
e3887714 245 select ARM_TIMER_SP804
b56ba8aa 246 select GPIO_PL061 if GPIOLIB
4af6fee1
DS
247 help
248 This enables support for ARM Ltd RealView boards.
249
250config ARCH_VERSATILE
251 bool "ARM Ltd. Versatile family"
252 select ARM_AMBA
253 select ARM_VIC
71a06da0 254 select COMMON_CLKDEV
c5a0adb5 255 select ICST
89df1272 256 select GENERIC_CLOCKEVENTS
bbeddc43 257 select ARCH_WANT_OPTIONAL_GPIOLIB
f4b8b319 258 select PLAT_VERSATILE
e3887714 259 select ARM_TIMER_SP804
4af6fee1
DS
260 help
261 This enables support for ARM Ltd Versatile board.
262
ceade897
RK
263config ARCH_VEXPRESS
264 bool "ARM Ltd. Versatile Express family"
265 select ARCH_WANT_OPTIONAL_GPIOLIB
266 select ARM_AMBA
267 select ARM_TIMER_SP804
268 select COMMON_CLKDEV
269 select GENERIC_CLOCKEVENTS
ceade897
RK
270 select HAVE_CLK
271 select ICST
272 select PLAT_VERSATILE
273 help
274 This enables support for the ARM Ltd Versatile Express boards.
275
8fc5ffa0
AV
276config ARCH_AT91
277 bool "Atmel AT91"
f373e8c0 278 select ARCH_REQUIRE_GPIOLIB
93686ae8 279 select HAVE_CLK
4af6fee1 280 help
2b3b3516
AV
281 This enables support for systems based on the Atmel AT91RM9200,
282 AT91SAM9 and AT91CAP9 processors.
4af6fee1 283
ccf50e23
RK
284config ARCH_BCMRING
285 bool "Broadcom BCMRING"
286 depends on MMU
287 select CPU_V6
288 select ARM_AMBA
289 select COMMON_CLKDEV
ccf50e23
RK
290 select GENERIC_CLOCKEVENTS
291 select ARCH_WANT_OPTIONAL_GPIOLIB
292 help
293 Support for Broadcom's BCMRing platform.
294
1da177e4 295config ARCH_CLPS711X
4af6fee1 296 bool "Cirrus Logic CLPS711x/EP721x-based"
c750815e 297 select CPU_ARM720T
5cfc8ee0 298 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
299 help
300 Support for Cirrus Logic 711x/721x based boards.
1da177e4 301
d94f944e
AV
302config ARCH_CNS3XXX
303 bool "Cavium Networks CNS3XXX family"
304 select CPU_V6
d94f944e
AV
305 select GENERIC_CLOCKEVENTS
306 select ARM_GIC
5f32f7a0 307 select PCI_DOMAINS if PCI
d94f944e
AV
308 help
309 Support for Cavium Networks CNS3XXX platform.
310
788c9700
RK
311config ARCH_GEMINI
312 bool "Cortina Systems Gemini"
313 select CPU_FA526
788c9700 314 select ARCH_REQUIRE_GPIOLIB
5cfc8ee0 315 select ARCH_USES_GETTIMEOFFSET
788c9700
RK
316 help
317 Support for the Cortina Systems Gemini family SoCs
318
1da177e4
LT
319config ARCH_EBSA110
320 bool "EBSA-110"
c750815e 321 select CPU_SA110
f7e68bbf 322 select ISA
c5eb2a2b 323 select NO_IOPORT
5cfc8ee0 324 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
325 help
326 This is an evaluation board for the StrongARM processor available
f6c8965a 327 from Digital. It has limited hardware on-board, including an
1da177e4
LT
328 Ethernet interface, two PCMCIA sockets, two serial ports and a
329 parallel port.
330
e7736d47
LB
331config ARCH_EP93XX
332 bool "EP93xx-based"
c750815e 333 select CPU_ARM920T
e7736d47
LB
334 select ARM_AMBA
335 select ARM_VIC
ae696fd5 336 select COMMON_CLKDEV
7444a72e 337 select ARCH_REQUIRE_GPIOLIB
eb33575c 338 select ARCH_HAS_HOLES_MEMORYMODEL
5cfc8ee0 339 select ARCH_USES_GETTIMEOFFSET
e7736d47
LB
340 help
341 This enables support for the Cirrus EP93xx series of CPUs.
342
1da177e4
LT
343config ARCH_FOOTBRIDGE
344 bool "FootBridge"
c750815e 345 select CPU_SA110
1da177e4 346 select FOOTBRIDGE
5cfc8ee0 347 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
348 help
349 Support for systems based on the DC21285 companion chip
350 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
1da177e4 351
788c9700
RK
352config ARCH_MXC
353 bool "Freescale MXC/iMX-based"
788c9700 354 select GENERIC_CLOCKEVENTS
788c9700 355 select ARCH_REQUIRE_GPIOLIB
03e09cd8 356 select COMMON_CLKDEV
788c9700
RK
357 help
358 Support for Freescale MXC/iMX-based family of processors
359
7bd0f2f5 360config ARCH_STMP3XXX
361 bool "Freescale STMP3xxx"
362 select CPU_ARM926T
7bd0f2f5 363 select COMMON_CLKDEV
364 select ARCH_REQUIRE_GPIOLIB
7bd0f2f5 365 select GENERIC_CLOCKEVENTS
7bd0f2f5 366 select USB_ARCH_HAS_EHCI
367 help
368 Support for systems based on the Freescale 3xxx CPUs.
369
4af6fee1
DS
370config ARCH_NETX
371 bool "Hilscher NetX based"
c750815e 372 select CPU_ARM926T
4af6fee1 373 select ARM_VIC
2fcfe6b8 374 select GENERIC_CLOCKEVENTS
f999b8bd 375 help
4af6fee1
DS
376 This enables support for systems based on the Hilscher NetX Soc
377
378config ARCH_H720X
379 bool "Hynix HMS720x-based"
c750815e 380 select CPU_ARM720T
4af6fee1 381 select ISA_DMA_API
5cfc8ee0 382 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
383 help
384 This enables support for systems based on the Hynix HMS720x
385
3b938be6
RK
386config ARCH_IOP13XX
387 bool "IOP13xx-based"
388 depends on MMU
c750815e 389 select CPU_XSC3
3b938be6
RK
390 select PLAT_IOP
391 select PCI
392 select ARCH_SUPPORTS_MSI
8d5796d2 393 select VMSPLIT_1G
3b938be6
RK
394 help
395 Support for Intel's IOP13XX (XScale) family of processors.
396
3f7e5815
LB
397config ARCH_IOP32X
398 bool "IOP32x-based"
a4f7e763 399 depends on MMU
c750815e 400 select CPU_XSCALE
7ae1f7ec 401 select PLAT_IOP
f7e68bbf 402 select PCI
bb2b180c 403 select ARCH_REQUIRE_GPIOLIB
f999b8bd 404 help
3f7e5815
LB
405 Support for Intel's 80219 and IOP32X (XScale) family of
406 processors.
407
408config ARCH_IOP33X
409 bool "IOP33x-based"
410 depends on MMU
c750815e 411 select CPU_XSCALE
7ae1f7ec 412 select PLAT_IOP
3f7e5815 413 select PCI
bb2b180c 414 select ARCH_REQUIRE_GPIOLIB
3f7e5815
LB
415 help
416 Support for Intel's IOP33X (XScale) family of processors.
1da177e4 417
3b938be6
RK
418config ARCH_IXP23XX
419 bool "IXP23XX-based"
a4f7e763 420 depends on MMU
c750815e 421 select CPU_XSC3
3b938be6 422 select PCI
5cfc8ee0 423 select ARCH_USES_GETTIMEOFFSET
f999b8bd 424 help
3b938be6 425 Support for Intel's IXP23xx (XScale) family of processors.
1da177e4
LT
426
427config ARCH_IXP2000
428 bool "IXP2400/2800-based"
a4f7e763 429 depends on MMU
c750815e 430 select CPU_XSCALE
f7e68bbf 431 select PCI
5cfc8ee0 432 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
433 help
434 Support for Intel's IXP2400/2800 (XScale) family of processors.
1da177e4 435
3b938be6
RK
436config ARCH_IXP4XX
437 bool "IXP4xx-based"
a4f7e763 438 depends on MMU
c750815e 439 select CPU_XSCALE
8858e9af 440 select GENERIC_GPIO
3b938be6 441 select GENERIC_CLOCKEVENTS
485bdde7 442 select DMABOUNCE if PCI
c4713074 443 help
3b938be6 444 Support for Intel's IXP4XX (XScale) family of processors.
c4713074 445
edabd38e
SB
446config ARCH_DOVE
447 bool "Marvell Dove"
448 select PCI
edabd38e 449 select ARCH_REQUIRE_GPIOLIB
edabd38e
SB
450 select GENERIC_CLOCKEVENTS
451 select PLAT_ORION
452 help
453 Support for the Marvell Dove SoC 88AP510
454
651c74c7
SB
455config ARCH_KIRKWOOD
456 bool "Marvell Kirkwood"
c750815e 457 select CPU_FEROCEON
651c74c7 458 select PCI
a8865655 459 select ARCH_REQUIRE_GPIOLIB
651c74c7
SB
460 select GENERIC_CLOCKEVENTS
461 select PLAT_ORION
462 help
463 Support for the following Marvell Kirkwood series SoCs:
464 88F6180, 88F6192 and 88F6281.
465
777f9beb
LB
466config ARCH_LOKI
467 bool "Marvell Loki (88RC8480)"
c750815e 468 select CPU_FEROCEON
777f9beb
LB
469 select GENERIC_CLOCKEVENTS
470 select PLAT_ORION
471 help
472 Support for the Marvell Loki (88RC8480) SoC.
473
40805949
KW
474config ARCH_LPC32XX
475 bool "NXP LPC32XX"
476 select CPU_ARM926T
477 select ARCH_REQUIRE_GPIOLIB
478 select HAVE_IDE
479 select ARM_AMBA
480 select USB_ARCH_HAS_OHCI
481 select COMMON_CLKDEV
482 select GENERIC_TIME
483 select GENERIC_CLOCKEVENTS
484 help
485 Support for the NXP LPC32XX family of processors
486
794d15b2
SS
487config ARCH_MV78XX0
488 bool "Marvell MV78xx0"
c750815e 489 select CPU_FEROCEON
794d15b2 490 select PCI
a8865655 491 select ARCH_REQUIRE_GPIOLIB
794d15b2
SS
492 select GENERIC_CLOCKEVENTS
493 select PLAT_ORION
494 help
495 Support for the following Marvell MV78xx0 series SoCs:
496 MV781x0, MV782x0.
497
9dd0b194 498config ARCH_ORION5X
585cf175
TP
499 bool "Marvell Orion"
500 depends on MMU
c750815e 501 select CPU_FEROCEON
038ee083 502 select PCI
a8865655 503 select ARCH_REQUIRE_GPIOLIB
51cbff1d 504 select GENERIC_CLOCKEVENTS
69b02f6a 505 select PLAT_ORION
585cf175 506 help
9dd0b194 507 Support for the following Marvell Orion 5x series SoCs:
d2b2a6bb 508 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
d323ade1 509 Orion-2 (5281), Orion-1-90 (6183).
585cf175 510
788c9700 511config ARCH_MMP
2f7e8fae 512 bool "Marvell PXA168/910/MMP2"
788c9700 513 depends on MMU
788c9700 514 select ARCH_REQUIRE_GPIOLIB
788c9700 515 select COMMON_CLKDEV
788c9700
RK
516 select GENERIC_CLOCKEVENTS
517 select TICK_ONESHOT
518 select PLAT_PXA
519 help
2f7e8fae 520 Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
788c9700
RK
521
522config ARCH_KS8695
523 bool "Micrel/Kendin KS8695"
524 select CPU_ARM922T
98830bc9 525 select ARCH_REQUIRE_GPIOLIB
5cfc8ee0 526 select ARCH_USES_GETTIMEOFFSET
788c9700
RK
527 help
528 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
529 System-on-Chip devices.
530
531config ARCH_NS9XXX
532 bool "NetSilicon NS9xxx"
533 select CPU_ARM926T
534 select GENERIC_GPIO
788c9700
RK
535 select GENERIC_CLOCKEVENTS
536 select HAVE_CLK
537 help
538 Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
539 System.
540
541 <http://www.digi.com/products/microprocessors/index.jsp>
542
543config ARCH_W90X900
544 bool "Nuvoton W90X900 CPU"
545 select CPU_ARM926T
c52d3d68 546 select ARCH_REQUIRE_GPIOLIB
0e4a34bb 547 select COMMON_CLKDEV
58b5369e 548 select GENERIC_CLOCKEVENTS
788c9700 549 help
a8bc4ead 550 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
551 At present, the w90x900 has been renamed nuc900, regarding
552 the ARM series product line, you can login the following
553 link address to know more.
554
555 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
556 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
788c9700 557
a62e9030 558config ARCH_NUC93X
559 bool "Nuvoton NUC93X CPU"
560 select CPU_ARM926T
a62e9030 561 select COMMON_CLKDEV
562 help
563 Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
564 low-power and high performance MPEG-4/JPEG multimedia controller chip.
565
c5f80065
EG
566config ARCH_TEGRA
567 bool "NVIDIA Tegra"
568 select GENERIC_TIME
569 select GENERIC_CLOCKEVENTS
570 select GENERIC_GPIO
571 select HAVE_CLK
d8611961 572 select COMMON_CLKDEV
c5f80065
EG
573 select ARCH_HAS_BARRIERS if CACHE_L2X0
574 help
575 This enables support for NVIDIA Tegra based systems (Tegra APX,
576 Tegra 6xx and Tegra 2 series).
577
4af6fee1
DS
578config ARCH_PNX4008
579 bool "Philips Nexperia PNX4008 Mobile"
c750815e 580 select CPU_ARM926T
6985a5ad 581 select COMMON_CLKDEV
5cfc8ee0 582 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
583 help
584 This enables support for Philips PNX4008 mobile platform.
585
1da177e4 586config ARCH_PXA
2c8086a5 587 bool "PXA2xx/PXA3xx-based"
a4f7e763 588 depends on MMU
034d2f5a 589 select ARCH_MTD_XIP
89c52ed4 590 select ARCH_HAS_CPUFREQ
8c3abc7d 591 select COMMON_CLKDEV
7444a72e 592 select ARCH_REQUIRE_GPIOLIB
981d0f39 593 select GENERIC_CLOCKEVENTS
a88264c2 594 select TICK_ONESHOT
bd5ce433 595 select PLAT_PXA
f999b8bd 596 help
2c8086a5 597 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
1da177e4 598
788c9700
RK
599config ARCH_MSM
600 bool "Qualcomm MSM"
4b536b8d 601 select HAVE_CLK
49cbe786 602 select GENERIC_CLOCKEVENTS
923a081c 603 select ARCH_REQUIRE_GPIOLIB
49cbe786 604 help
4b53eb4f
DW
605 Support for Qualcomm MSM/QSD based systems. This runs on the
606 apps processor of the MSM/QSD and depends on a shared memory
607 interface to the modem processor which runs the baseband
608 stack and controls some vital subsystems
609 (clock and power control, etc).
49cbe786 610
c793c1b0
MD
611config ARCH_SHMOBILE
612 bool "Renesas SH-Mobile"
613 help
614 Support for Renesas's SH-Mobile ARM platforms
615
1da177e4
LT
616config ARCH_RPC
617 bool "RiscPC"
618 select ARCH_ACORN
619 select FIQ
620 select TIMER_ACORN
a08b6b79 621 select ARCH_MAY_HAVE_PC_FDC
341eb781 622 select HAVE_PATA_PLATFORM
065909b9 623 select ISA_DMA_API
5ea81769 624 select NO_IOPORT
07f841b7 625 select ARCH_SPARSEMEM_ENABLE
5cfc8ee0 626 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
627 help
628 On the Acorn Risc-PC, Linux can support the internal IDE disk and
629 CD-ROM interface, serial and parallel port, and the floppy drive.
630
631config ARCH_SA1100
632 bool "SA1100-based"
c750815e 633 select CPU_SA1100
f7e68bbf 634 select ISA
05944d74 635 select ARCH_SPARSEMEM_ENABLE
034d2f5a 636 select ARCH_MTD_XIP
89c52ed4 637 select ARCH_HAS_CPUFREQ
1937f5b9 638 select CPU_FREQ
3e238be2 639 select GENERIC_CLOCKEVENTS
9483a578 640 select HAVE_CLK
3e238be2 641 select TICK_ONESHOT
7444a72e 642 select ARCH_REQUIRE_GPIOLIB
f999b8bd
MM
643 help
644 Support for StrongARM 11x0 based boards.
1da177e4
LT
645
646config ARCH_S3C2410
63b1f51b 647 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450"
0a938b97 648 select GENERIC_GPIO
9d56c02a 649 select ARCH_HAS_CPUFREQ
9483a578 650 select HAVE_CLK
5cfc8ee0 651 select ARCH_USES_GETTIMEOFFSET
4b623926 652 select HAVE_S3C2410_I2C
1da177e4
LT
653 help
654 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
655 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
f6c8965a 656 the Samsung SMDK2410 development board (and derivatives).
1da177e4 657
63b1f51b
BD
658 Note, the S3C2416 and the S3C2450 are so close that they even share
659 the same SoC ID code. This means that there is no seperate machine
660 directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
661
a08ab637
BD
662config ARCH_S3C64XX
663 bool "Samsung S3C64XX"
89f1fa08 664 select PLAT_SAMSUNG
89f0ce72 665 select CPU_V6
89f0ce72 666 select ARM_VIC
a08ab637 667 select HAVE_CLK
89f0ce72 668 select NO_IOPORT
5cfc8ee0 669 select ARCH_USES_GETTIMEOFFSET
89c52ed4 670 select ARCH_HAS_CPUFREQ
89f0ce72
BD
671 select ARCH_REQUIRE_GPIOLIB
672 select SAMSUNG_CLKSRC
673 select SAMSUNG_IRQ_VIC_TIMER
674 select SAMSUNG_IRQ_UART
675 select S3C_GPIO_TRACK
676 select S3C_GPIO_PULL_UPDOWN
677 select S3C_GPIO_CFG_S3C24XX
678 select S3C_GPIO_CFG_S3C64XX
679 select S3C_DEV_NAND
680 select USB_ARCH_HAS_OHCI
681 select SAMSUNG_GPIOLIB_4BIT
4b623926 682 select HAVE_S3C2410_I2C
d8653d9f 683 select HAVE_S3C2410_WATCHDOG
a08ab637
BD
684 help
685 Samsung S3C64XX series based systems
686
c4ffccdd
KK
687config ARCH_S5P6440
688 bool "Samsung S5P6440"
689 select CPU_V6
690 select GENERIC_GPIO
691 select HAVE_CLK
d8653d9f 692 select HAVE_S3C2410_WATCHDOG
925c68cd 693 select ARCH_USES_GETTIMEOFFSET
4b623926 694 select HAVE_S3C2410_I2C
03eb2749 695 select HAVE_S3C_RTC
c4ffccdd
KK
696 help
697 Samsung S5P6440 CPU based systems
698
550db7f1
KK
699config ARCH_S5P6442
700 bool "Samsung S5P6442"
701 select CPU_V6
702 select GENERIC_GPIO
703 select HAVE_CLK
925c68cd 704 select ARCH_USES_GETTIMEOFFSET
d8653d9f 705 select HAVE_S3C2410_WATCHDOG
550db7f1
KK
706 help
707 Samsung S5P6442 CPU based systems
708
acc84707
MS
709config ARCH_S5PC100
710 bool "Samsung S5PC100"
5a7652f2
BM
711 select GENERIC_GPIO
712 select HAVE_CLK
713 select CPU_V7
d6d502fa 714 select ARM_L1_CACHE_SHIFT_6
925c68cd 715 select ARCH_USES_GETTIMEOFFSET
4b623926 716 select HAVE_S3C2410_I2C
03eb2749 717 select HAVE_S3C_RTC
d8653d9f 718 select HAVE_S3C2410_WATCHDOG
5a7652f2 719 help
acc84707 720 Samsung S5PC100 series based systems
5a7652f2 721
170f4e42
KK
722config ARCH_S5PV210
723 bool "Samsung S5PV210/S5PC110"
724 select CPU_V7
725 select GENERIC_GPIO
726 select HAVE_CLK
727 select ARM_L1_CACHE_SHIFT_6
925c68cd 728 select ARCH_USES_GETTIMEOFFSET
4b623926 729 select HAVE_S3C2410_I2C
03eb2749 730 select HAVE_S3C_RTC
d8653d9f 731 select HAVE_S3C2410_WATCHDOG
170f4e42
KK
732 help
733 Samsung S5PV210/S5PC110 series based systems
734
cc0e72b8
CY
735config ARCH_S5PV310
736 bool "Samsung S5PV310/S5PC210"
737 select CPU_V7
738 select GENERIC_GPIO
739 select HAVE_CLK
740 select GENERIC_CLOCKEVENTS
741 help
742 Samsung S5PV310 series based systems
743
1da177e4
LT
744config ARCH_SHARK
745 bool "Shark"
c750815e 746 select CPU_SA110
f7e68bbf
RK
747 select ISA
748 select ISA_DMA
3bca103a 749 select ZONE_DMA
f7e68bbf 750 select PCI
5cfc8ee0 751 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
752 help
753 Support for the StrongARM based Digital DNARD machine, also known
754 as "Shark" (<http://www.shark-linux.de/shark.html>).
1da177e4
LT
755
756config ARCH_LH7A40X
757 bool "Sharp LH7A40X"
c750815e 758 select CPU_ARM922T
4ba3f7c5 759 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
5cfc8ee0 760 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
761 help
762 Say Y here for systems based on one of the Sharp LH7A40X
763 System on a Chip processors. These CPUs include an ARM922T
764 core with a wide array of integrated devices for
765 hand-held and low-power applications.
766
d98aac75
LW
767config ARCH_U300
768 bool "ST-Ericsson U300 Series"
769 depends on MMU
770 select CPU_ARM926T
bc581770 771 select HAVE_TCM
d98aac75
LW
772 select ARM_AMBA
773 select ARM_VIC
d98aac75 774 select GENERIC_CLOCKEVENTS
d98aac75
LW
775 select COMMON_CLKDEV
776 select GENERIC_GPIO
777 help
778 Support for ST-Ericsson U300 series mobile platforms.
779
ccf50e23
RK
780config ARCH_U8500
781 bool "ST-Ericsson U8500 Series"
782 select CPU_V7
783 select ARM_AMBA
ccf50e23
RK
784 select GENERIC_CLOCKEVENTS
785 select COMMON_CLKDEV
94bdc0e2 786 select ARCH_REQUIRE_GPIOLIB
ccf50e23
RK
787 help
788 Support for ST-Ericsson's Ux500 architecture
789
790config ARCH_NOMADIK
791 bool "STMicroelectronics Nomadik"
792 select ARM_AMBA
793 select ARM_VIC
794 select CPU_ARM926T
ccf50e23 795 select COMMON_CLKDEV
ccf50e23 796 select GENERIC_CLOCKEVENTS
ccf50e23
RK
797 select ARCH_REQUIRE_GPIOLIB
798 help
799 Support for the Nomadik platform by ST-Ericsson
800
7c6337e2
KH
801config ARCH_DAVINCI
802 bool "TI DaVinci"
7c6337e2 803 select GENERIC_CLOCKEVENTS
dce1115b 804 select ARCH_REQUIRE_GPIOLIB
3bca103a 805 select ZONE_DMA
9232fcc9 806 select HAVE_IDE
c5b736d0 807 select COMMON_CLKDEV
20e9969b 808 select GENERIC_ALLOCATOR
ae88e05a 809 select ARCH_HAS_HOLES_MEMORYMODEL
7c6337e2
KH
810 help
811 Support for TI's DaVinci platform.
812
3b938be6
RK
813config ARCH_OMAP
814 bool "TI OMAP"
9483a578 815 select HAVE_CLK
7444a72e 816 select ARCH_REQUIRE_GPIOLIB
89c52ed4 817 select ARCH_HAS_CPUFREQ
06cad098 818 select GENERIC_CLOCKEVENTS
9af915da 819 select ARCH_HAS_HOLES_MEMORYMODEL
3b938be6
RK
820 help
821 Support for TI's OMAP platform (OMAP1 and OMAP2).
822
cee37e50 823config PLAT_SPEAR
824 bool "ST SPEAr"
825 select ARM_AMBA
826 select ARCH_REQUIRE_GPIOLIB
827 select COMMON_CLKDEV
828 select GENERIC_CLOCKEVENTS
cee37e50 829 select HAVE_CLK
830 help
831 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
832
1da177e4
LT
833endchoice
834
ccf50e23
RK
835#
836# This is sorted alphabetically by mach-* pathname. However, plat-*
837# Kconfigs may be included either alphabetically (according to the
838# plat- suffix) or along side the corresponding mach-* source.
839#
95b8f20f
RK
840source "arch/arm/mach-aaec2000/Kconfig"
841
842source "arch/arm/mach-at91/Kconfig"
843
844source "arch/arm/mach-bcmring/Kconfig"
845
1da177e4
LT
846source "arch/arm/mach-clps711x/Kconfig"
847
d94f944e
AV
848source "arch/arm/mach-cns3xxx/Kconfig"
849
95b8f20f
RK
850source "arch/arm/mach-davinci/Kconfig"
851
852source "arch/arm/mach-dove/Kconfig"
853
e7736d47
LB
854source "arch/arm/mach-ep93xx/Kconfig"
855
1da177e4
LT
856source "arch/arm/mach-footbridge/Kconfig"
857
59d3a193
PZ
858source "arch/arm/mach-gemini/Kconfig"
859
95b8f20f
RK
860source "arch/arm/mach-h720x/Kconfig"
861
1da177e4
LT
862source "arch/arm/mach-integrator/Kconfig"
863
3f7e5815
LB
864source "arch/arm/mach-iop32x/Kconfig"
865
866source "arch/arm/mach-iop33x/Kconfig"
1da177e4 867
285f5fa7
DW
868source "arch/arm/mach-iop13xx/Kconfig"
869
1da177e4
LT
870source "arch/arm/mach-ixp4xx/Kconfig"
871
872source "arch/arm/mach-ixp2000/Kconfig"
873
c4713074
LB
874source "arch/arm/mach-ixp23xx/Kconfig"
875
95b8f20f
RK
876source "arch/arm/mach-kirkwood/Kconfig"
877
878source "arch/arm/mach-ks8695/Kconfig"
879
880source "arch/arm/mach-lh7a40x/Kconfig"
881
777f9beb
LB
882source "arch/arm/mach-loki/Kconfig"
883
40805949
KW
884source "arch/arm/mach-lpc32xx/Kconfig"
885
95b8f20f
RK
886source "arch/arm/mach-msm/Kconfig"
887
794d15b2
SS
888source "arch/arm/mach-mv78xx0/Kconfig"
889
95b8f20f 890source "arch/arm/plat-mxc/Kconfig"
1da177e4 891
95b8f20f 892source "arch/arm/mach-netx/Kconfig"
49cbe786 893
95b8f20f
RK
894source "arch/arm/mach-nomadik/Kconfig"
895source "arch/arm/plat-nomadik/Kconfig"
896
897source "arch/arm/mach-ns9xxx/Kconfig"
1da177e4 898
186f93ea 899source "arch/arm/mach-nuc93x/Kconfig"
1da177e4 900
d48af15e
TL
901source "arch/arm/plat-omap/Kconfig"
902
903source "arch/arm/mach-omap1/Kconfig"
1da177e4 904
1dbae815
TL
905source "arch/arm/mach-omap2/Kconfig"
906
9dd0b194 907source "arch/arm/mach-orion5x/Kconfig"
585cf175 908
95b8f20f
RK
909source "arch/arm/mach-pxa/Kconfig"
910source "arch/arm/plat-pxa/Kconfig"
585cf175 911
95b8f20f
RK
912source "arch/arm/mach-mmp/Kconfig"
913
914source "arch/arm/mach-realview/Kconfig"
915
916source "arch/arm/mach-sa1100/Kconfig"
edabd38e 917
cf383678 918source "arch/arm/plat-samsung/Kconfig"
a21765a7 919source "arch/arm/plat-s3c24xx/Kconfig"
c4ffccdd 920source "arch/arm/plat-s5p/Kconfig"
a21765a7 921
cee37e50 922source "arch/arm/plat-spear/Kconfig"
a21765a7
BD
923
924if ARCH_S3C2410
925source "arch/arm/mach-s3c2400/Kconfig"
1da177e4 926source "arch/arm/mach-s3c2410/Kconfig"
a21765a7 927source "arch/arm/mach-s3c2412/Kconfig"
f1290a49 928source "arch/arm/mach-s3c2416/Kconfig"
a21765a7 929source "arch/arm/mach-s3c2440/Kconfig"
e4d06e39 930source "arch/arm/mach-s3c2443/Kconfig"
a21765a7 931endif
1da177e4 932
a08ab637 933if ARCH_S3C64XX
431107ea 934source "arch/arm/mach-s3c64xx/Kconfig"
a08ab637
BD
935endif
936
c4ffccdd
KK
937source "arch/arm/mach-s5p6440/Kconfig"
938
550db7f1 939source "arch/arm/mach-s5p6442/Kconfig"
7bd0f2f5 940
5a7652f2 941source "arch/arm/mach-s5pc100/Kconfig"
5a7652f2 942
170f4e42
KK
943source "arch/arm/mach-s5pv210/Kconfig"
944
cc0e72b8
CY
945source "arch/arm/mach-s5pv310/Kconfig"
946
882d01f9 947source "arch/arm/mach-shmobile/Kconfig"
52c543f9 948
882d01f9 949source "arch/arm/plat-stmp3xxx/Kconfig"
9e73c84c 950
c5f80065
EG
951source "arch/arm/mach-tegra/Kconfig"
952
95b8f20f 953source "arch/arm/mach-u300/Kconfig"
1da177e4 954
95b8f20f 955source "arch/arm/mach-ux500/Kconfig"
1da177e4
LT
956
957source "arch/arm/mach-versatile/Kconfig"
958
ceade897
RK
959source "arch/arm/mach-vexpress/Kconfig"
960
7ec80ddf 961source "arch/arm/mach-w90x900/Kconfig"
962
1da177e4
LT
963# Definitions to make life easier
964config ARCH_ACORN
965 bool
966
7ae1f7ec
LB
967config PLAT_IOP
968 bool
469d3044 969 select GENERIC_CLOCKEVENTS
7ae1f7ec 970
69b02f6a
LB
971config PLAT_ORION
972 bool
973
bd5ce433
EM
974config PLAT_PXA
975 bool
976
f4b8b319
RK
977config PLAT_VERSATILE
978 bool
979
e3887714
RK
980config ARM_TIMER_SP804
981 bool
982
1da177e4
LT
983source arch/arm/mm/Kconfig
984
afe4b25e
LB
985config IWMMXT
986 bool "Enable iWMMXt support"
40305a58
EM
987 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
988 default y if PXA27x || PXA3xx || ARCH_MMP
afe4b25e
LB
989 help
990 Enable support for iWMMXt context switching at run time if
991 running on a CPU that supports it.
992
1da177e4
LT
993# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
994config XSCALE_PMU
995 bool
996 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
997 default y
998
0f4f0672 999config CPU_HAS_PMU
8954bb0d
WD
1000 depends on (CPU_V6 || CPU_V7 || XSCALE_PMU) && \
1001 (!ARCH_OMAP3 || OMAP3_EMU)
0f4f0672
JI
1002 default y
1003 bool
1004
3b93e7b0
HC
1005if !MMU
1006source "arch/arm/Kconfig-nommu"
1007endif
1008
9cba3ccc
CM
1009config ARM_ERRATA_411920
1010 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
81d11955 1011 depends on CPU_V6
9cba3ccc
CM
1012 help
1013 Invalidation of the Instruction Cache operation can
1014 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
1015 It does not affect the MPCore. This option enables the ARM Ltd.
1016 recommended workaround.
1017
7ce236fc
CM
1018config ARM_ERRATA_430973
1019 bool "ARM errata: Stale prediction on replaced interworking branch"
1020 depends on CPU_V7
1021 help
1022 This option enables the workaround for the 430973 Cortex-A8
1023 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
1024 interworking branch is replaced with another code sequence at the
1025 same virtual address, whether due to self-modifying code or virtual
1026 to physical address re-mapping, Cortex-A8 does not recover from the
1027 stale interworking branch prediction. This results in Cortex-A8
1028 executing the new code sequence in the incorrect ARM or Thumb state.
1029 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
1030 and also flushes the branch target cache at every context switch.
1031 Note that setting specific bits in the ACTLR register may not be
1032 available in non-secure mode.
1033
855c551f
CM
1034config ARM_ERRATA_458693
1035 bool "ARM errata: Processor deadlock when a false hazard is created"
1036 depends on CPU_V7
1037 help
1038 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1039 erratum. For very specific sequences of memory operations, it is
1040 possible for a hazard condition intended for a cache line to instead
1041 be incorrectly associated with a different cache line. This false
1042 hazard might then cause a processor deadlock. The workaround enables
1043 the L1 caching of the NEON accesses and disables the PLD instruction
1044 in the ACTLR register. Note that setting specific bits in the ACTLR
1045 register may not be available in non-secure mode.
1046
0516e464
CM
1047config ARM_ERRATA_460075
1048 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
1049 depends on CPU_V7
1050 help
1051 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
1052 erratum. Any asynchronous access to the L2 cache may encounter a
1053 situation in which recent store transactions to the L2 cache are lost
1054 and overwritten with stale memory contents from external memory. The
1055 workaround disables the write-allocate mode for the L2 cache via the
1056 ACTLR register. Note that setting specific bits in the ACTLR register
1057 may not be available in non-secure mode.
1058
9f05027c
WD
1059config ARM_ERRATA_742230
1060 bool "ARM errata: DMB operation may be faulty"
1061 depends on CPU_V7 && SMP
1062 help
1063 This option enables the workaround for the 742230 Cortex-A9
1064 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
1065 between two write operations may not ensure the correct visibility
1066 ordering of the two writes. This workaround sets a specific bit in
1067 the diagnostic register of the Cortex-A9 which causes the DMB
1068 instruction to behave as a DSB, ensuring the correct behaviour of
1069 the two writes.
1070
a672e99b
WD
1071config ARM_ERRATA_742231
1072 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
1073 depends on CPU_V7 && SMP
1074 help
1075 This option enables the workaround for the 742231 Cortex-A9
1076 (r2p0..r2p2) erratum. Under certain conditions, specific to the
1077 Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
1078 accessing some data located in the same cache line, may get corrupted
1079 data due to bad handling of the address hazard when the line gets
1080 replaced from one of the CPUs at the same time as another CPU is
1081 accessing it. This workaround sets specific bits in the diagnostic
1082 register of the Cortex-A9 which reduces the linefill issuing
1083 capabilities of the processor.
1084
9e65582a
SS
1085config PL310_ERRATA_588369
1086 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1087 depends on CACHE_L2X0 && ARCH_OMAP4
1088 help
1089 The PL310 L2 cache controller implements three types of Clean &
1090 Invalidate maintenance operations: by Physical Address
1091 (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
1092 They are architecturally defined to behave as the execution of a
1093 clean operation followed immediately by an invalidate operation,
1094 both performing to the same memory location. This functionality
1095 is not correctly implemented in PL310 as clean lines are not
1096 invalidated as a result of these operations. Note that this errata
1097 uses Texas Instrument's secure monitor api.
cdf357f1
WD
1098
1099config ARM_ERRATA_720789
1100 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1101 depends on CPU_V7 && SMP
1102 help
1103 This option enables the workaround for the 720789 Cortex-A9 (prior to
1104 r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1105 broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1106 As a consequence of this erratum, some TLB entries which should be
1107 invalidated are not, resulting in an incoherency in the system page
1108 tables. The workaround changes the TLB flushing routines to invalidate
1109 entries regardless of the ASID.
1da177e4
LT
1110endmenu
1111
1112source "arch/arm/common/Kconfig"
1113
1da177e4
LT
1114menu "Bus support"
1115
1116config ARM_AMBA
1117 bool
1118
1119config ISA
1120 bool
1da177e4
LT
1121 help
1122 Find out whether you have ISA slots on your motherboard. ISA is the
1123 name of a bus system, i.e. the way the CPU talks to the other stuff
1124 inside your box. Other bus systems are PCI, EISA, MicroChannel
1125 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
1126 newer boards don't support it. If you have ISA, say Y, otherwise N.
1127
065909b9 1128# Select ISA DMA controller support
1da177e4
LT
1129config ISA_DMA
1130 bool
065909b9 1131 select ISA_DMA_API
1da177e4 1132
065909b9 1133# Select ISA DMA interface
5cae841b
AV
1134config ISA_DMA_API
1135 bool
5cae841b 1136
1da177e4 1137config PCI
5f32f7a0 1138 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
1da177e4
LT
1139 help
1140 Find out whether you have a PCI motherboard. PCI is the name of a
1141 bus system, i.e. the way the CPU talks to the other stuff inside
1142 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1143 VESA. If you have PCI, say Y, otherwise N.
1144
52882173
AV
1145config PCI_DOMAINS
1146 bool
1147 depends on PCI
1148
36e23590
MW
1149config PCI_SYSCALL
1150 def_bool PCI
1151
1da177e4
LT
1152# Select the host bridge type
1153config PCI_HOST_VIA82C505
1154 bool
1155 depends on PCI && ARCH_SHARK
1156 default y
1157
a0113a99
MR
1158config PCI_HOST_ITE8152
1159 bool
1160 depends on PCI && MACH_ARMCORE
1161 default y
1162 select DMABOUNCE
1163
1da177e4
LT
1164source "drivers/pci/Kconfig"
1165
1166source "drivers/pcmcia/Kconfig"
1167
1168endmenu
1169
1170menu "Kernel Features"
1171
0567a0c0
KH
1172source "kernel/time/Kconfig"
1173
1da177e4
LT
1174config SMP
1175 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
971acb9b 1176 depends on EXPERIMENTAL
bc28248e 1177 depends on GENERIC_CLOCKEVENTS
971acb9b
RK
1178 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
1179 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
1180 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
f6dd9fa5 1181 select USE_GENERIC_SMP_HELPERS
971acb9b 1182 select HAVE_ARM_SCU
1da177e4
LT
1183 help
1184 This enables support for systems with more than one CPU. If you have
1185 a system with only one CPU, like most personal computers, say N. If
1186 you have a system with more than one CPU, say Y.
1187
1188 If you say N here, the kernel will run on single and multiprocessor
1189 machines, but will use only one CPU of a multiprocessor machine. If
1190 you say Y here, the kernel will run on many, but not all, single
1191 processor machines. On a single processor machine, the kernel will
1192 run faster if you say N here.
1193
03502faa 1194 See also <file:Documentation/i386/IO-APIC.txt>,
1da177e4
LT
1195 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
1196 <http://www.linuxdoc.org/docs.html#howto>.
1197
1198 If you don't know what to do here, say N.
1199
f00ec48f
RK
1200config SMP_ON_UP
1201 bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
1202 depends on EXPERIMENTAL
1203 depends on SMP && !XIP && !THUMB2_KERNEL
1204 default y
1205 help
1206 SMP kernels contain instructions which fail on non-SMP processors.
1207 Enabling this option allows the kernel to modify itself to make
1208 these instructions safe. Disabling it allows about 1K of space
1209 savings.
1210
1211 If you don't know what to do here, say Y.
1212
a8cbcd92
RK
1213config HAVE_ARM_SCU
1214 bool
1215 depends on SMP
1216 help
1217 This option enables support for the ARM system coherency unit
1218
f32f4ce2
RK
1219config HAVE_ARM_TWD
1220 bool
1221 depends on SMP
1222 help
1223 This options enables support for the ARM timer and watchdog unit
1224
8d5796d2
LB
1225choice
1226 prompt "Memory split"
1227 default VMSPLIT_3G
1228 help
1229 Select the desired split between kernel and user memory.
1230
1231 If you are not absolutely sure what you are doing, leave this
1232 option alone!
1233
1234 config VMSPLIT_3G
1235 bool "3G/1G user/kernel split"
1236 config VMSPLIT_2G
1237 bool "2G/2G user/kernel split"
1238 config VMSPLIT_1G
1239 bool "1G/3G user/kernel split"
1240endchoice
1241
1242config PAGE_OFFSET
1243 hex
1244 default 0x40000000 if VMSPLIT_1G
1245 default 0x80000000 if VMSPLIT_2G
1246 default 0xC0000000
1247
1da177e4
LT
1248config NR_CPUS
1249 int "Maximum number of CPUs (2-32)"
1250 range 2 32
1251 depends on SMP
1252 default "4"
1253
a054a811
RK
1254config HOTPLUG_CPU
1255 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1256 depends on SMP && HOTPLUG && EXPERIMENTAL
1257 help
1258 Say Y here to experiment with turning CPUs off and on. CPUs
1259 can be controlled through /sys/devices/system/cpu.
1260
37ee16ae
RK
1261config LOCAL_TIMERS
1262 bool "Use local timer interrupts"
971acb9b 1263 depends on SMP
37ee16ae 1264 default y
971acb9b 1265 select HAVE_ARM_TWD
37ee16ae
RK
1266 help
1267 Enable support for local timers on SMP platforms, rather then the
1268 legacy IPI broadcast method. Local timers allows the system
1269 accounting to be spread across the timer interval, preventing a
1270 "thundering herd" at every timer tick.
1271
d45a398f 1272source kernel/Kconfig.preempt
1da177e4 1273
f8065813
RK
1274config HZ
1275 int
2192482e
RK
1276 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \
1277 ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
bfe65704 1278 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
5248c657 1279 default AT91_TIMER_HZ if ARCH_AT91
5da3e714 1280 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
f8065813
RK
1281 default 100
1282
16c79651
CM
1283config THUMB2_KERNEL
1284 bool "Compile the kernel in Thumb-2 mode"
1285 depends on CPU_V7 && EXPERIMENTAL
1286 select AEABI
1287 select ARM_ASM_UNIFIED
1288 help
1289 By enabling this option, the kernel will be compiled in
1290 Thumb-2 mode. A compiler/assembler that understand the unified
1291 ARM-Thumb syntax is needed.
1292
1293 If unsure, say N.
1294
0becb088
CM
1295config ARM_ASM_UNIFIED
1296 bool
1297
704bdda0
NP
1298config AEABI
1299 bool "Use the ARM EABI to compile the kernel"
1300 help
1301 This option allows for the kernel to be compiled using the latest
1302 ARM ABI (aka EABI). This is only useful if you are using a user
1303 space environment that is also compiled with EABI.
1304
1305 Since there are major incompatibilities between the legacy ABI and
1306 EABI, especially with regard to structure member alignment, this
1307 option also changes the kernel syscall calling convention to
1308 disambiguate both ABIs and allow for backward compatibility support
1309 (selected with CONFIG_OABI_COMPAT).
1310
1311 To use this you need GCC version 4.0.0 or later.
1312
6c90c872 1313config OABI_COMPAT
a73a3ff1 1314 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
61c484d4 1315 depends on AEABI && EXPERIMENTAL
6c90c872
NP
1316 default y
1317 help
1318 This option preserves the old syscall interface along with the
1319 new (ARM EABI) one. It also provides a compatibility layer to
1320 intercept syscalls that have structure arguments which layout
1321 in memory differs between the legacy ABI and the new ARM EABI
1322 (only for non "thumb" binaries). This option adds a tiny
1323 overhead to all syscalls and produces a slightly larger kernel.
1324 If you know you'll be using only pure EABI user space then you
1325 can say N here. If this option is not selected and you attempt
1326 to execute a legacy ABI binary then the result will be
1327 UNPREDICTABLE (in fact it can be predicted that it won't work
1328 at all). If in doubt say Y.
1329
eb33575c 1330config ARCH_HAS_HOLES_MEMORYMODEL
e80d6a24 1331 bool
e80d6a24 1332
05944d74
RK
1333config ARCH_SPARSEMEM_ENABLE
1334 bool
1335
07a2f737
RK
1336config ARCH_SPARSEMEM_DEFAULT
1337 def_bool ARCH_SPARSEMEM_ENABLE
1338
05944d74 1339config ARCH_SELECT_MEMORY_MODEL
be370302 1340 def_bool ARCH_SPARSEMEM_ENABLE
c80d79d7 1341
053a96ca
NP
1342config HIGHMEM
1343 bool "High Memory Support (EXPERIMENTAL)"
1344 depends on MMU && EXPERIMENTAL
1345 help
1346 The address space of ARM processors is only 4 Gigabytes large
1347 and it has to accommodate user address space, kernel address
1348 space as well as some memory mapped IO. That means that, if you
1349 have a large amount of physical memory and/or IO, not all of the
1350 memory can be "permanently mapped" by the kernel. The physical
1351 memory that is not permanently mapped is called "high memory".
1352
1353 Depending on the selected kernel/user memory split, minimum
1354 vmalloc space and actual amount of RAM, you may not need this
1355 option which should result in a slightly faster kernel.
1356
1357 If unsure, say n.
1358
65cec8e3
RK
1359config HIGHPTE
1360 bool "Allocate 2nd-level pagetables from highmem"
1361 depends on HIGHMEM
1362 depends on !OUTER_CACHE
1363
1b8873a0
JI
1364config HW_PERF_EVENTS
1365 bool "Enable hardware performance counter support for perf events"
fe166148 1366 depends on PERF_EVENTS && CPU_HAS_PMU
1b8873a0
JI
1367 default y
1368 help
1369 Enable hardware performance counter support for perf events. If
1370 disabled, perf events will use software events only.
1371
354e6f72 1372config SPARSE_IRQ
c1ba6ba3 1373 def_bool n
354e6f72 1374 help
1375 This enables support for sparse irqs. This is useful in general
1376 as most CPUs have a fairly sparse array of IRQ vectors, which
1377 the irq_desc then maps directly on to. Systems with a high
1378 number of off-chip IRQs will want to treat this as
1379 experimental until they have been independently verified.
1380
3f22ab27
DH
1381source "mm/Kconfig"
1382
c1b2d970
MD
1383config FORCE_MAX_ZONEORDER
1384 int "Maximum zone order" if ARCH_SHMOBILE
1385 range 11 64 if ARCH_SHMOBILE
1386 default "9" if SA1111
1387 default "11"
1388 help
1389 The kernel memory allocator divides physically contiguous memory
1390 blocks into "zones", where each zone is a power of two number of
1391 pages. This option selects the largest power of two that the kernel
1392 keeps in the memory allocator. If you need to allocate very large
1393 blocks of physically contiguous memory, then you may need to
1394 increase this value.
1395
1396 This config option is actually maximum order plus one. For example,
1397 a value of 11 means that the largest free memory block is 2^10 pages.
1398
1da177e4
LT
1399config LEDS
1400 bool "Timer and CPU usage LEDs"
e055d5bf 1401 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
8c8fdbc9 1402 ARCH_EBSA285 || ARCH_INTEGRATOR || \
1da177e4
LT
1403 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1404 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
73a59c1c 1405 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
25329671 1406 ARCH_AT91 || ARCH_DAVINCI || \
ff3042fb 1407 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
1da177e4
LT
1408 help
1409 If you say Y here, the LEDs on your machine will be used
1410 to provide useful information about your current system status.
1411
1412 If you are compiling a kernel for a NetWinder or EBSA-285, you will
1413 be able to select which LEDs are active using the options below. If
1414 you are compiling a kernel for the EBSA-110 or the LART however, the
1415 red LED will simply flash regularly to indicate that the system is
1416 still functional. It is safe to say Y here if you have a CATS
1417 system, but the driver will do nothing.
1418
1419config LEDS_TIMER
1420 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
eebdf7d7
DB
1421 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1422 || MACH_OMAP_PERSEUS2
1da177e4 1423 depends on LEDS
0567a0c0 1424 depends on !GENERIC_CLOCKEVENTS
1da177e4
LT
1425 default y if ARCH_EBSA110
1426 help
1427 If you say Y here, one of the system LEDs (the green one on the
1428 NetWinder, the amber one on the EBSA285, or the red one on the LART)
1429 will flash regularly to indicate that the system is still
1430 operational. This is mainly useful to kernel hackers who are
1431 debugging unstable kernels.
1432
1433 The LART uses the same LED for both Timer LED and CPU usage LED
1434 functions. You may choose to use both, but the Timer LED function
1435 will overrule the CPU usage LED.
1436
1437config LEDS_CPU
1438 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
eebdf7d7
DB
1439 !ARCH_OMAP) \
1440 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1441 || MACH_OMAP_PERSEUS2
1da177e4
LT
1442 depends on LEDS
1443 help
1444 If you say Y here, the red LED will be used to give a good real
1445 time indication of CPU usage, by lighting whenever the idle task
1446 is not currently executing.
1447
1448 The LART uses the same LED for both Timer LED and CPU usage LED
1449 functions. You may choose to use both, but the Timer LED function
1450 will overrule the CPU usage LED.
1451
1452config ALIGNMENT_TRAP
1453 bool
f12d0d7c 1454 depends on CPU_CP15_MMU
1da177e4 1455 default y if !ARCH_EBSA110
e119bfff 1456 select HAVE_PROC_CPU if PROC_FS
1da177e4 1457 help
84eb8d06 1458 ARM processors cannot fetch/store information which is not
1da177e4
LT
1459 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1460 address divisible by 4. On 32-bit ARM processors, these non-aligned
1461 fetch/store instructions will be emulated in software if you say
1462 here, which has a severe performance impact. This is necessary for
1463 correct operation of some network protocols. With an IP-only
1464 configuration it is safe to say N, otherwise say Y.
1465
39ec58f3
LB
1466config UACCESS_WITH_MEMCPY
1467 bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
1468 depends on MMU && EXPERIMENTAL
1469 default y if CPU_FEROCEON
1470 help
1471 Implement faster copy_to_user and clear_user methods for CPU
1472 cores where a 8-word STM instruction give significantly higher
1473 memory write throughput than a sequence of individual 32bit stores.
1474
1475 A possible side effect is a slight increase in scheduling latency
1476 between threads sharing the same address space if they invoke
1477 such copy operations with large buffers.
1478
1479 However, if the CPU data cache is using a write-allocate mode,
1480 this option is unlikely to provide any performance gain.
1481
c743f380
NP
1482config CC_STACKPROTECTOR
1483 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1484 help
1485 This option turns on the -fstack-protector GCC feature. This
1486 feature puts, at the beginning of functions, a canary value on
1487 the stack just before the return address, and validates
1488 the value just before actually returning. Stack based buffer
1489 overflows (that need to overwrite this return address) now also
1490 overwrite the canary, which gets detected and the attack is then
1491 neutralized via a kernel panic.
1492 This feature requires gcc version 4.2 or above.
1493
73a65b3f
UKK
1494config DEPRECATED_PARAM_STRUCT
1495 bool "Provide old way to pass kernel parameters"
1496 help
1497 This was deprecated in 2001 and announced to live on for 5 years.
1498 Some old boot loaders still use this way.
1499
1da177e4
LT
1500endmenu
1501
1502menu "Boot options"
1503
1504# Compressed boot loader in ROM. Yes, we really want to ask about
1505# TEXT and BSS so we preserve their values in the config files.
1506config ZBOOT_ROM_TEXT
1507 hex "Compressed ROM boot loader base address"
1508 default "0"
1509 help
1510 The physical address at which the ROM-able zImage is to be
1511 placed in the target. Platforms which normally make use of
1512 ROM-able zImage formats normally set this to a suitable
1513 value in their defconfig file.
1514
1515 If ZBOOT_ROM is not enabled, this has no effect.
1516
1517config ZBOOT_ROM_BSS
1518 hex "Compressed ROM boot loader BSS address"
1519 default "0"
1520 help
f8c440b2
DF
1521 The base address of an area of read/write memory in the target
1522 for the ROM-able zImage which must be available while the
1523 decompressor is running. It must be large enough to hold the
1524 entire decompressed kernel plus an additional 128 KiB.
1525 Platforms which normally make use of ROM-able zImage formats
1526 normally set this to a suitable value in their defconfig file.
1da177e4
LT
1527
1528 If ZBOOT_ROM is not enabled, this has no effect.
1529
1530config ZBOOT_ROM
1531 bool "Compressed boot loader in ROM/flash"
1532 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
1533 help
1534 Say Y here if you intend to execute your compressed kernel image
1535 (zImage) directly from ROM or flash. If unsure, say N.
1536
1537config CMDLINE
1538 string "Default kernel command string"
1539 default ""
1540 help
1541 On some architectures (EBSA110 and CATS), there is currently no way
1542 for the boot loader to pass arguments to the kernel. For these
1543 architectures, you should supply some command-line options at build
1544 time by entering them here. As a minimum, you should specify the
1545 memory size and the root device (e.g., mem=64M root=/dev/nfs).
1546
92d2040d
AH
1547config CMDLINE_FORCE
1548 bool "Always use the default kernel command string"
1549 depends on CMDLINE != ""
1550 help
1551 Always use the default kernel command string, even if the boot
1552 loader passes other arguments to the kernel.
1553 This is useful if you cannot or don't want to change the
1554 command-line options your boot loader passes to the kernel.
1555
1556 If unsure, say N.
1557
1da177e4
LT
1558config XIP_KERNEL
1559 bool "Kernel Execute-In-Place from ROM"
1560 depends on !ZBOOT_ROM
1561 help
1562 Execute-In-Place allows the kernel to run from non-volatile storage
1563 directly addressable by the CPU, such as NOR flash. This saves RAM
1564 space since the text section of the kernel is not loaded from flash
1565 to RAM. Read-write sections, such as the data section and stack,
1566 are still copied to RAM. The XIP kernel is not compressed since
1567 it has to run directly from flash, so it will take more space to
1568 store it. The flash address used to link the kernel object files,
1569 and for storing it, is configuration dependent. Therefore, if you
1570 say Y here, you must know the proper physical address where to
1571 store the kernel image depending on your own flash memory usage.
1572
1573 Also note that the make target becomes "make xipImage" rather than
1574 "make zImage" or "make Image". The final kernel binary to put in
1575 ROM memory will be arch/arm/boot/xipImage.
1576
1577 If unsure, say N.
1578
1579config XIP_PHYS_ADDR
1580 hex "XIP Kernel Physical Location"
1581 depends on XIP_KERNEL
1582 default "0x00080000"
1583 help
1584 This is the physical address in your flash memory the kernel will
1585 be linked for and stored to. This address is dependent on your
1586 own flash usage.
1587
c587e4a6
RP
1588config KEXEC
1589 bool "Kexec system call (EXPERIMENTAL)"
1590 depends on EXPERIMENTAL
1591 help
1592 kexec is a system call that implements the ability to shutdown your
1593 current kernel, and to start another kernel. It is like a reboot
01dd2fbf 1594 but it is independent of the system firmware. And like a reboot
c587e4a6
RP
1595 you can start any kernel with it, not just Linux.
1596
1597 It is an ongoing process to be certain the hardware in a machine
1598 is properly shutdown, so do not be surprised if this code does not
1599 initially work for you. It may help to enable device hotplugging
1600 support.
1601
4cd9d6f7
RP
1602config ATAGS_PROC
1603 bool "Export atags in procfs"
b98d7291
UL
1604 depends on KEXEC
1605 default y
4cd9d6f7
RP
1606 help
1607 Should the atags used to boot the kernel be exported in an "atags"
1608 file in procfs. Useful with kexec.
1609
e69edc79
EM
1610config AUTO_ZRELADDR
1611 bool "Auto calculation of the decompressed kernel image address"
1612 depends on !ZBOOT_ROM && !ARCH_U300
1613 help
1614 ZRELADDR is the physical address where the decompressed kernel
1615 image will be placed. If AUTO_ZRELADDR is selected, the address
1616 will be determined at run-time by masking the current IP with
1617 0xf8000000. This assumes the zImage being placed in the first 128MB
1618 from start of memory.
1619
1da177e4
LT
1620endmenu
1621
ac9d7efc 1622menu "CPU Power Management"
1da177e4 1623
89c52ed4 1624if ARCH_HAS_CPUFREQ
1da177e4
LT
1625
1626source "drivers/cpufreq/Kconfig"
1627
1628config CPU_FREQ_SA1100
1629 bool
1da177e4
LT
1630
1631config CPU_FREQ_SA1110
1632 bool
1da177e4
LT
1633
1634config CPU_FREQ_INTEGRATOR
1635 tristate "CPUfreq driver for ARM Integrator CPUs"
1636 depends on ARCH_INTEGRATOR && CPU_FREQ
1637 default y
1638 help
1639 This enables the CPUfreq driver for ARM Integrator CPUs.
1640
1641 For details, take a look at <file:Documentation/cpu-freq>.
1642
1643 If in doubt, say Y.
1644
9e2697ff
RK
1645config CPU_FREQ_PXA
1646 bool
1647 depends on CPU_FREQ && ARCH_PXA && PXA25x
1648 default y
1649 select CPU_FREQ_DEFAULT_GOV_USERSPACE
1650
b3748ddd
MB
1651config CPU_FREQ_S3C64XX
1652 bool "CPUfreq support for Samsung S3C64XX CPUs"
1653 depends on CPU_FREQ && CPU_S3C6410
1654
9d56c02a
BD
1655config CPU_FREQ_S3C
1656 bool
1657 help
1658 Internal configuration node for common cpufreq on Samsung SoC
1659
1660config CPU_FREQ_S3C24XX
1661 bool "CPUfreq driver for Samsung S3C24XX series CPUs"
1662 depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
1663 select CPU_FREQ_S3C
1664 help
1665 This enables the CPUfreq driver for the Samsung S3C24XX family
1666 of CPUs.
1667
1668 For details, take a look at <file:Documentation/cpu-freq>.
1669
1670 If in doubt, say N.
1671
1672config CPU_FREQ_S3C24XX_PLL
1673 bool "Support CPUfreq changing of PLL frequency"
1674 depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
1675 help
1676 Compile in support for changing the PLL frequency from the
1677 S3C24XX series CPUfreq driver. The PLL takes time to settle
1678 after a frequency change, so by default it is not enabled.
1679
1680 This also means that the PLL tables for the selected CPU(s) will
1681 be built which may increase the size of the kernel image.
1682
1683config CPU_FREQ_S3C24XX_DEBUG
1684 bool "Debug CPUfreq Samsung driver core"
1685 depends on CPU_FREQ_S3C24XX
1686 help
1687 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
1688
1689config CPU_FREQ_S3C24XX_IODEBUG
1690 bool "Debug CPUfreq Samsung driver IO timing"
1691 depends on CPU_FREQ_S3C24XX
1692 help
1693 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
1694
e6d197a6
BD
1695config CPU_FREQ_S3C24XX_DEBUGFS
1696 bool "Export debugfs for CPUFreq"
1697 depends on CPU_FREQ_S3C24XX && DEBUG_FS
1698 help
1699 Export status information via debugfs.
1700
1da177e4
LT
1701endif
1702
ac9d7efc
RK
1703source "drivers/cpuidle/Kconfig"
1704
1705endmenu
1706
1da177e4
LT
1707menu "Floating point emulation"
1708
1709comment "At least one emulation must be selected"
1710
1711config FPE_NWFPE
1712 bool "NWFPE math emulation"
8993a44c 1713 depends on !AEABI || OABI_COMPAT
1da177e4
LT
1714 ---help---
1715 Say Y to include the NWFPE floating point emulator in the kernel.
1716 This is necessary to run most binaries. Linux does not currently
1717 support floating point hardware so you need to say Y here even if
1718 your machine has an FPA or floating point co-processor podule.
1719
1720 You may say N here if you are going to load the Acorn FPEmulator
1721 early in the bootup.
1722
1723config FPE_NWFPE_XP
1724 bool "Support extended precision"
bedf142b 1725 depends on FPE_NWFPE
1da177e4
LT
1726 help
1727 Say Y to include 80-bit support in the kernel floating-point
1728 emulator. Otherwise, only 32 and 64-bit support is compiled in.
1729 Note that gcc does not generate 80-bit operations by default,
1730 so in most cases this option only enlarges the size of the
1731 floating point emulator without any good reason.
1732
1733 You almost surely want to say N here.
1734
1735config FPE_FASTFPE
1736 bool "FastFPE math emulation (EXPERIMENTAL)"
8993a44c 1737 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1da177e4
LT
1738 ---help---
1739 Say Y here to include the FAST floating point emulator in the kernel.
1740 This is an experimental much faster emulator which now also has full
1741 precision for the mantissa. It does not support any exceptions.
1742 It is very simple, and approximately 3-6 times faster than NWFPE.
1743
1744 It should be sufficient for most programs. It may be not suitable
1745 for scientific calculations, but you have to check this for yourself.
1746 If you do not feel you need a faster FP emulation you should better
1747 choose NWFPE.
1748
1749config VFP
1750 bool "VFP-format floating point maths"
c00d4ffd 1751 depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1da177e4
LT
1752 help
1753 Say Y to include VFP support code in the kernel. This is needed
1754 if your hardware includes a VFP unit.
1755
1756 Please see <file:Documentation/arm/VFP/release-notes.txt> for
1757 release notes and additional status information.
1758
1759 Say N if your target does not have VFP hardware.
1760
25ebee02
CM
1761config VFPv3
1762 bool
1763 depends on VFP
1764 default y if CPU_V7
1765
b5872db4
CM
1766config NEON
1767 bool "Advanced SIMD (NEON) Extension support"
1768 depends on VFPv3 && CPU_V7
1769 help
1770 Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1771 Extension.
1772
1da177e4
LT
1773endmenu
1774
1775menu "Userspace binary formats"
1776
1777source "fs/Kconfig.binfmt"
1778
1779config ARTHUR
1780 tristate "RISC OS personality"
704bdda0 1781 depends on !AEABI
1da177e4
LT
1782 help
1783 Say Y here to include the kernel code necessary if you want to run
1784 Acorn RISC OS/Arthur binaries under Linux. This code is still very
1785 experimental; if this sounds frightening, say N and sleep in peace.
1786 You can also say M here to compile this support as a module (which
1787 will be called arthur).
1788
1789endmenu
1790
1791menu "Power management options"
1792
eceab4ac 1793source "kernel/power/Kconfig"
1da177e4 1794
f4cb5700
JB
1795config ARCH_SUSPEND_POSSIBLE
1796 def_bool y
1797
1da177e4
LT
1798endmenu
1799
d5950b43
SR
1800source "net/Kconfig"
1801
ac25150f 1802source "drivers/Kconfig"
1da177e4
LT
1803
1804source "fs/Kconfig"
1805
1da177e4
LT
1806source "arch/arm/Kconfig.debug"
1807
1808source "security/Kconfig"
1809
1810source "crypto/Kconfig"
1811
1812source "lib/Kconfig"