blob: 41c4cd2c81bd283bc732fcaa179eb81683a1c69d [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001# 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
Sam Ravnborg35da3e32008-11-15 13:40:12 -08007config SPARC
8 bool
9 default y
10 select HAVE_IDE
11 select HAVE_OPROFILE
Sam Ravnborg26b4c912008-11-16 20:01:17 -080012 select HAVE_ARCH_KGDB if !SMP || SPARC64
Sam Ravnborg35da3e32008-11-15 13:40:12 -080013 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
Sam Ravnborg26b4c912008-11-16 20:01:17 -080021 default y if ARCH = "sparc"
Sam Ravnborg35da3e32008-11-15 13:40:12 -080022 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
Sam Ravnborg26b4c912008-11-16 20:01:17 -080031config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070086config MMU
87 bool
88 default y
89
Linus Torvalds1da177e2005-04-16 15:20:36 -070090config HIGHMEM
91 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -080092 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -070093
Christoph Lameter5ac6da62007-02-10 01:43:14 -080094config ZONE_DMA
95 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -080096 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -080097
Linus Torvalds1da177e2005-04-16 15:20:36 -070098config GENERIC_ISA_DMA
99 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800100 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101
David S. Miller15df0f32008-08-20 23:03:24 -0700102config GENERIC_GPIO
103 bool
104 help
105 Generic GPIO API support
106
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700107config ARCH_NO_VIRT_TO_BUS
108 def_bool y
109
Stephen Rothwell97e873e2007-05-01 16:26:07 +1000110config OF
111 def_bool y
112
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113source "init/Kconfig"
114
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700115source "kernel/Kconfig.freezer"
116
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800117menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119config SMP
120 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121 ---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
Adrian Bunk03502fa2008-02-03 15:50:21 +0200136 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
137 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138
139 If you don't know what to do here, say N.
140
141config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800142 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800144 range 2 32 if SPARC32
145 range 2 1024 if SPARC64
146 default 32 if SPARC32
147 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800149source kernel/Kconfig.hz
150
151config RWSEM_GENERIC_SPINLOCK
152 bool
153 default y if SPARC32
154
155config RWSEM_XCHGADD_ALGORITHM
156 bool
157 default y if SPARC64
158
159config GENERIC_FIND_NEXT_BIT
160 bool
161 default y
162
163config GENERIC_HWEIGHT
164 bool
165 default y if !ULTRA_HAS_POPULATION_COUNT
166
167config GENERIC_CALIBRATE_DELAY
168 bool
169 default y
170
171config ARCH_MAY_HAVE_PC_FDC
172 bool
173 default y
174
175config ARCH_HAS_ILOG2_U32
176 bool
177 default n
178
179config ARCH_HAS_ILOG2_U64
180 bool
181 default n
182
183config EMULATED_CMPXCHG
184 bool
185 default y if SPARC32
186 help
187 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
188 is emulated, and therefore it is not completely atomic.
189
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.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700279
280# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800281config GENERIC_LOCKBREAK
282 bool
283 default y
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
378 help
379 Enable power management and CPU standby features on supported
380 SPARC platforms.
381
382config SPARC_LED
383 tristate "Sun4m LED driver"
384 depends on SPARC32
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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391config SERIAL_CONSOLE
392 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800393 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 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.
414
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800415endmenu
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
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800472config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700479config PCI
480 bool "Support for PCI and PS/2 keyboard/mouse"
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800481 select ARCH_SUPPORTS_MSI if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700482 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800483 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700488 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
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800492config PCI_DOMAINS
493 def_bool PCI if SPARC64
494
Matthew Wilcox36e23592007-07-10 10:54:40 -0600495config PCI_SYSCALL
496 def_bool PCI
497
Linus Torvalds1da177e2005-04-16 15:20:36 -0700498source "drivers/pci/Kconfig"
499
Linus Torvalds1da177e2005-04-16 15:20:36 -0700500config 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
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700513
514endmenu
515
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800516menu "Executable file formats"
517
518source "fs/Kconfig.binfmt"
519
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800520config 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
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800531endmenu
532
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700533source "net/Kconfig"
534
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700535source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700536
Linus Torvalds1da177e2005-04-16 15:20:36 -0700537source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700538
Linus Torvalds1da177e2005-04-16 15:20:36 -0700539source "fs/Kconfig"
540
Linus Torvalds1da177e2005-04-16 15:20:36 -0700541source "arch/sparc/Kconfig.debug"
542
543source "security/Kconfig"
544
545source "crypto/Kconfig"
546
547source "lib/Kconfig"