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