Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / sparc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/SPARC Kernel Configuration"
6
7 config 64BIT
8 bool "64-bit kernel" if ARCH = "sparc"
9 default ARCH = "sparc64"
10 help
11 SPARC is a family of RISC microprocessors designed and marketed by
12 Sun Microsystems, incorporated. They are very widely found in Sun
13 workstations and clones.
14
15 Say yes to build a 64-bit kernel - formerly known as sparc64
16 Say no to build a 32-bit kernel - formerly known as sparc
17
18 config SPARC
19 bool
20 default y
21 select HAVE_IDE
22 select HAVE_OPROFILE
23 select HAVE_ARCH_KGDB if !SMP || SPARC64
24 select HAVE_ARCH_TRACEHOOK
25 select ARCH_WANT_OPTIONAL_GPIOLIB
26 select RTC_CLASS
27 select RTC_DRV_M48T59
28
29 config SPARC32
30 def_bool !64BIT
31
32 config SPARC64
33 def_bool 64BIT
34 select ARCH_SUPPORTS_MSI
35 select HAVE_FUNCTION_TRACER
36 select HAVE_KRETPROBES
37 select HAVE_KPROBES
38 select HAVE_LMB
39 select HAVE_SYSCALL_WRAPPERS
40 select USE_GENERIC_SMP_HELPERS if SMP
41 select RTC_DRV_CMOS
42 select RTC_DRV_BQ4802
43 select RTC_DRV_SUN4V
44 select RTC_DRV_STARFIRE
45
46 config ARCH_DEFCONFIG
47 string
48 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
49 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
50
51 # CONFIG_BITS can be used at source level to get 32/64 bits
52 config BITS
53 int
54 default 32 if SPARC32
55 default 64 if SPARC64
56
57 config GENERIC_TIME
58 bool
59 default y if SPARC64
60
61 config GENERIC_CMOS_UPDATE
62 bool
63 default y if SPARC64
64
65 config GENERIC_CLOCKEVENTS
66 bool
67 default y if SPARC64
68
69 config IOMMU_HELPER
70 bool
71 default y if SPARC64
72
73 config QUICKLIST
74 bool
75 default y if SPARC64
76
77 config STACKTRACE_SUPPORT
78 bool
79 default y if SPARC64
80
81 config LOCKDEP_SUPPORT
82 bool
83 default y if SPARC64
84
85 config HAVE_LATENCYTOP_SUPPORT
86 bool
87 default y if SPARC64
88
89 config AUDIT_ARCH
90 bool
91 default y
92
93 config HAVE_SETUP_PER_CPU_AREA
94 def_bool y if SPARC64
95
96 config GENERIC_HARDIRQS_NO__DO_IRQ
97 bool
98 def_bool y if SPARC64
99
100 config MMU
101 bool
102 default y
103
104 config HIGHMEM
105 bool
106 default y if SPARC32
107
108 config ZONE_DMA
109 bool
110 default y if SPARC32
111
112 config GENERIC_ISA_DMA
113 bool
114 default y if SPARC32
115
116 config GENERIC_GPIO
117 bool
118 help
119 Generic GPIO API support
120
121 config ARCH_NO_VIRT_TO_BUS
122 def_bool y
123
124 config OF
125 def_bool y
126
127 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
128 def_bool y if SPARC64
129
130 source "init/Kconfig"
131
132 source "kernel/Kconfig.freezer"
133
134 menu "Processor type and features"
135
136 config SMP
137 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
138 ---help---
139 This enables support for systems with more than one CPU. If you have
140 a system with only one CPU, say N. If you have a system with more
141 than one CPU, say Y.
142
143 If you say N here, the kernel will run on single and multiprocessor
144 machines, but will use only one CPU of a multiprocessor machine. If
145 you say Y here, the kernel will run on many, but not all,
146 singleprocessor machines. On a singleprocessor machine, the kernel
147 will run faster if you say N here.
148
149 People using multiprocessor machines who say Y here should also say
150 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
151 Management" code will be disabled if you say Y here.
152
153 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
154 available at <http://www.tldp.org/docs.html#howto>.
155
156 If you don't know what to do here, say N.
157
158 config NR_CPUS
159 int "Maximum number of CPUs"
160 depends on SMP
161 range 2 32 if SPARC32
162 range 2 1024 if SPARC64
163 default 32 if SPARC32
164 default 64 if SPARC64
165
166 source kernel/Kconfig.hz
167
168 config RWSEM_GENERIC_SPINLOCK
169 bool
170 default y if SPARC32
171
172 config RWSEM_XCHGADD_ALGORITHM
173 bool
174 default y if SPARC64
175
176 config GENERIC_FIND_NEXT_BIT
177 bool
178 default y
179
180 config GENERIC_HWEIGHT
181 bool
182 default y if !ULTRA_HAS_POPULATION_COUNT
183
184 config GENERIC_CALIBRATE_DELAY
185 bool
186 default y
187
188 config ARCH_MAY_HAVE_PC_FDC
189 bool
190 default y
191
192 config EMULATED_CMPXCHG
193 bool
194 default y if SPARC32
195 help
196 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
197 is emulated, and therefore it is not completely atomic.
198
199 # Makefile helpers
200 config SPARC32_SMP
201 bool
202 default y
203 depends on SPARC32 && SMP
204
205 config SPARC64_SMP
206 bool
207 default y
208 depends on SPARC64 && SMP
209
210 choice
211 prompt "Kernel page size" if SPARC64
212 default SPARC64_PAGE_SIZE_8KB
213
214 config SPARC64_PAGE_SIZE_8KB
215 bool "8KB"
216 help
217 This lets you select the page size of the kernel.
218
219 8KB and 64KB work quite well, since SPARC ELF sections
220 provide for up to 64KB alignment.
221
222 If you don't know what to do, choose 8KB.
223
224 config SPARC64_PAGE_SIZE_64KB
225 bool "64KB"
226
227 endchoice
228
229 config SECCOMP
230 bool "Enable seccomp to safely compute untrusted bytecode"
231 depends on SPARC64 && PROC_FS
232 default y
233 help
234 This kernel feature is useful for number crunching applications
235 that may need to compute untrusted bytecode during their
236 execution. By using pipes or other transports made available to
237 the process as file descriptors supporting the read/write
238 syscalls, it's possible to isolate those applications in
239 their own address space using seccomp. Once seccomp is
240 enabled via /proc/<pid>/seccomp, it cannot be disabled
241 and the task is only allowed to execute a few safe syscalls
242 defined by each seccomp mode.
243
244 If unsure, say Y. Only embedded should say N here.
245
246 config HOTPLUG_CPU
247 bool "Support for hot-pluggable CPUs"
248 depends on SPARC64 && SMP
249 select HOTPLUG
250 help
251 Say Y here to experiment with turning CPUs off and on. CPUs
252 can be controlled through /sys/devices/system/cpu/cpu#.
253 Say N if you want to disable CPU hotplug.
254
255 config GENERIC_HARDIRQS
256 bool
257 default y if SPARC64
258
259 source "kernel/time/Kconfig"
260
261 if SPARC64
262 source "drivers/cpufreq/Kconfig"
263
264 config US3_FREQ
265 tristate "UltraSPARC-III CPU Frequency driver"
266 depends on CPU_FREQ
267 select CPU_FREQ_TABLE
268 help
269 This adds the CPUFreq driver for UltraSPARC-III processors.
270
271 For details, take a look at <file:Documentation/cpu-freq>.
272
273 If in doubt, say N.
274
275 config US2E_FREQ
276 tristate "UltraSPARC-IIe CPU Frequency driver"
277 depends on CPU_FREQ
278 select CPU_FREQ_TABLE
279 help
280 This adds the CPUFreq driver for UltraSPARC-IIe processors.
281
282 For details, take a look at <file:Documentation/cpu-freq>.
283
284 If in doubt, say N.
285
286 endif
287
288 config US3_MC
289 tristate "UltraSPARC-III Memory Controller driver"
290 depends on SPARC64
291 default y
292 help
293 This adds a driver for the UltraSPARC-III memory controller.
294 Loading this driver allows exact mnemonic strings to be
295 printed in the event of a memory error, so that the faulty DIMM
296 on the motherboard can be matched to the error.
297
298 If in doubt, say Y, as this information can be very useful.
299
300 # Global things across all Sun machines.
301 config GENERIC_LOCKBREAK
302 bool
303 default y
304 depends on SPARC64 && SMP && PREEMPT
305
306 choice
307 prompt "SPARC64 Huge TLB Page Size"
308 depends on SPARC64 && HUGETLB_PAGE
309 default HUGETLB_PAGE_SIZE_4MB
310
311 config HUGETLB_PAGE_SIZE_4MB
312 bool "4MB"
313
314 config HUGETLB_PAGE_SIZE_512K
315 bool "512K"
316
317 config HUGETLB_PAGE_SIZE_64K
318 depends on !SPARC64_PAGE_SIZE_64KB
319 bool "64K"
320
321 endchoice
322
323 config NUMA
324 bool "NUMA support"
325 depends on SPARC64 && SMP
326
327 config NODES_SHIFT
328 int
329 default "4"
330 depends on NEED_MULTIPLE_NODES
331
332 # Some NUMA nodes have memory ranges that span
333 # other nodes. Even though a pfn is valid and
334 # between a node's start and end pfns, it may not
335 # reside on that node. See memmap_init_zone()
336 # for details.
337 config NODES_SPAN_OTHER_NODES
338 def_bool y
339 depends on NEED_MULTIPLE_NODES
340
341 config ARCH_POPULATES_NODE_MAP
342 def_bool y if SPARC64
343
344 config ARCH_SELECT_MEMORY_MODEL
345 def_bool y if SPARC64
346
347 config ARCH_SPARSEMEM_ENABLE
348 def_bool y if SPARC64
349 select SPARSEMEM_VMEMMAP_ENABLE
350
351 config ARCH_SPARSEMEM_DEFAULT
352 def_bool y if SPARC64
353
354 source "mm/Kconfig"
355
356 config SCHED_SMT
357 bool "SMT (Hyperthreading) scheduler support"
358 depends on SPARC64 && SMP
359 default y
360 help
361 SMT scheduler support improves the CPU scheduler's decision making
362 when dealing with SPARC cpus at a cost of slightly increased overhead
363 in some places. If unsure say N here.
364
365 config SCHED_MC
366 bool "Multi-core scheduler support"
367 depends on SPARC64 && SMP
368 default y
369 help
370 Multi-core scheduler support improves the CPU scheduler's decision
371 making when dealing with multi-core CPU chips at a cost of slightly
372 increased overhead in some places. If unsure say N here.
373
374 if SPARC64
375 source "kernel/Kconfig.preempt"
376 endif
377
378 config CMDLINE_BOOL
379 bool "Default bootloader kernel arguments"
380 depends on SPARC64
381
382 config CMDLINE
383 string "Initial kernel command string"
384 depends on CMDLINE_BOOL
385 default "console=ttyS0,9600 root=/dev/sda1"
386 help
387 Say Y here if you want to be able to pass default arguments to
388 the kernel. This will be overridden by the bootloader, if you
389 use one (such as SILO). This is most useful if you want to boot
390 a kernel from TFTP, and want default options to be available
391 with having them passed on the command line.
392
393 NOTE: This option WILL override the PROM bootargs setting!
394
395 config SUN_PM
396 bool
397 default y if SPARC32
398 help
399 Enable power management and CPU standby features on supported
400 SPARC platforms.
401
402 config SPARC_LED
403 tristate "Sun4m LED driver"
404 depends on SPARC32
405 help
406 This driver toggles the front-panel LED on sun4m systems
407 in a user-specifiable manner. Its state can be probed
408 by reading /proc/led and its blinking mode can be changed
409 via writes to /proc/led
410
411 config SERIAL_CONSOLE
412 bool
413 depends on SPARC32
414 default y
415 ---help---
416 If you say Y here, it will be possible to use a serial port as the
417 system console (the system console is the device which receives all
418 kernel messages and warnings and which allows logins in single user
419 mode). This could be useful if some terminal or printer is connected
420 to that serial port.
421
422 Even if you say Y here, the currently visible virtual console
423 (/dev/tty0) will still be used as the system console by default, but
424 you can alter that using a kernel command line option such as
425 "console=ttyS1". (Try "man bootparam" or see the documentation of
426 your boot loader (silo) about how to pass options to the kernel at
427 boot time.)
428
429 If you don't have a graphics card installed and you say Y here, the
430 kernel will automatically use the first serial line, /dev/ttyS0, as
431 system console.
432
433 If unsure, say N.
434
435 endmenu
436
437 menu "Bus options (PCI etc.)"
438 config SBUS
439 bool
440 default y
441
442 config SBUSCHAR
443 bool
444 default y
445
446 config SUN_LDOMS
447 bool "Sun Logical Domains support"
448 depends on SPARC64
449 help
450 Say Y here is you want to support virtual devices via
451 Logical Domains.
452
453 config PCI
454 bool "Support for PCI and PS/2 keyboard/mouse"
455 help
456 Find out whether your system includes a PCI bus. PCI is the name of
457 a bus system, i.e. the way the CPU talks to the other stuff inside
458 your box. If you say Y here, the kernel will include drivers and
459 infrastructure code to support PCI bus devices.
460
461 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
462 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
463 All of these platforms are extremely obscure, so say N if unsure.
464
465 config PCI_DOMAINS
466 def_bool PCI if SPARC64
467
468 config PCI_SYSCALL
469 def_bool PCI
470
471 source "drivers/pci/Kconfig"
472
473 source "drivers/pcmcia/Kconfig"
474
475 config SUN_OPENPROMFS
476 tristate "Openprom tree appears in /proc/openprom"
477 help
478 If you say Y, the OpenPROM device tree will be available as a
479 virtual file system, which you can mount to /proc/openprom by "mount
480 -t openpromfs none /proc/openprom".
481
482 To compile the /proc/openprom support as a module, choose M here: the
483 module will be called openpromfs.
484
485 Only choose N if you know in advance that you will not need to modify
486 OpenPROM settings on the running system.
487
488 # Makefile helpers
489 config SPARC32_PCI
490 bool
491 default y
492 depends on SPARC32 && PCI
493
494 config SPARC64_PCI
495 bool
496 default y
497 depends on SPARC64 && PCI
498
499 endmenu
500
501 menu "Executable file formats"
502
503 source "fs/Kconfig.binfmt"
504
505 config COMPAT
506 bool
507 depends on SPARC64
508 default y
509 select COMPAT_BINFMT_ELF
510
511 config SYSVIPC_COMPAT
512 bool
513 depends on COMPAT && SYSVIPC
514 default y
515
516 endmenu
517
518 source "net/Kconfig"
519
520 source "drivers/Kconfig"
521
522 source "drivers/sbus/char/Kconfig"
523
524 source "fs/Kconfig"
525
526 source "arch/sparc/Kconfig.debug"
527
528 source "security/Kconfig"
529
530 source "crypto/Kconfig"
531
532 source "lib/Kconfig"