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