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