blob: 233cff53a623c9c3d65e2de85baf1e5cddb2d13d [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
Bastian Blank761b6022009-01-04 23:03:10 -08007config 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
Sam Ravnborg35da3e32008-11-15 13:40:12 -080018config SPARC
19 bool
20 default y
21 select HAVE_IDE
22 select HAVE_OPROFILE
Sam Ravnborg26b4c912008-11-16 20:01:17 -080023 select HAVE_ARCH_KGDB if !SMP || SPARC64
Sam Ravnborg35da3e32008-11-15 13:40:12 -080024 select HAVE_ARCH_TRACEHOOK
25 select ARCH_WANT_OPTIONAL_GPIOLIB
26 select RTC_CLASS
27 select RTC_DRV_M48T59
FUJITA Tomonori02f7a182009-08-10 11:53:13 +090028 select HAVE_DMA_ATTRS
FUJITA Tomonori451d7402009-08-10 11:53:17 +090029 select HAVE_DMA_API_DEBUG
Sam Ravnborg35da3e32008-11-15 13:40:12 -080030
Sam Ravnborg35da3e32008-11-15 13:40:12 -080031config SPARC32
Bastian Blank761b6022009-01-04 23:03:10 -080032 def_bool !64BIT
Sam Ravnborg35da3e32008-11-15 13:40:12 -080033
Sam Ravnborg26b4c912008-11-16 20:01:17 -080034config SPARC64
Bastian Blank761b6022009-01-04 23:03:10 -080035 def_bool 64BIT
Sam Ravnborg5bc05302008-12-27 00:56:29 -080036 select ARCH_SUPPORTS_MSI
Sam Ravnborg26b4c912008-11-16 20:01:17 -080037 select HAVE_FUNCTION_TRACER
38 select HAVE_KRETPROBES
39 select HAVE_KPROBES
40 select HAVE_LMB
Christian Borntraeger67605d62009-01-19 20:21:49 -080041 select HAVE_SYSCALL_WRAPPERS
David S. Miller9be12f92009-06-13 01:03:24 -070042 select HAVE_DYNAMIC_FTRACE
43 select HAVE_FTRACE_MCOUNT_RECORD
Sam Ravnborg26b4c912008-11-16 20:01:17 -080044 select USE_GENERIC_SMP_HELPERS if SMP
45 select RTC_DRV_CMOS
46 select RTC_DRV_BQ4802
47 select RTC_DRV_SUN4V
48 select RTC_DRV_STARFIRE
49
Sam Ravnborg5e538792008-12-02 23:17:12 -080050config ARCH_DEFCONFIG
51 string
52 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
53 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
54
Sam Ravnborgfe6875e2008-12-26 15:35:16 -080055# CONFIG_BITS can be used at source level to get 32/64 bits
56config BITS
57 int
58 default 32 if SPARC32
59 default 64 if SPARC64
Sam Ravnborg5e538792008-12-02 23:17:12 -080060
Sam Ravnborg26b4c912008-11-16 20:01:17 -080061config GENERIC_TIME
62 bool
63 default y if SPARC64
64
65config GENERIC_CMOS_UPDATE
66 bool
67 default y if SPARC64
68
69config GENERIC_CLOCKEVENTS
70 bool
71 default y if SPARC64
72
73config IOMMU_HELPER
74 bool
75 default y if SPARC64
76
77config QUICKLIST
78 bool
79 default y if SPARC64
80
81config STACKTRACE_SUPPORT
82 bool
83 default y if SPARC64
84
85config LOCKDEP_SUPPORT
86 bool
87 default y if SPARC64
88
David S. Miller6a5726d2008-11-28 01:19:41 -080089config HAVE_LATENCYTOP_SUPPORT
90 bool
91 default y if SPARC64
92
Sam Ravnborg26b4c912008-11-16 20:01:17 -080093config AUDIT_ARCH
94 bool
David S. Miller7e7e93a2008-12-05 22:18:40 -080095 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -080096
97config HAVE_SETUP_PER_CPU_AREA
98 def_bool y if SPARC64
99
David S. Miller4fd78a52009-04-08 20:32:02 -0700100config HAVE_DYNAMIC_PER_CPU_AREA
101 def_bool y if SPARC64
102
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800103config GENERIC_HARDIRQS_NO__DO_IRQ
104 bool
105 def_bool y if SPARC64
106
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107config MMU
108 bool
109 default y
110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111config HIGHMEM
112 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800113 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800115config ZONE_DMA
116 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800117 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800118
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119config GENERIC_ISA_DMA
120 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800121 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122
David S. Miller15df0f32008-08-20 23:03:24 -0700123config GENERIC_GPIO
124 bool
125 help
126 Generic GPIO API support
127
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700128config ARCH_NO_VIRT_TO_BUS
129 def_bool y
130
Stephen Rothwell97e873e2007-05-01 16:26:07 +1000131config OF
132 def_bool y
133
Akinobu Mita6a11f752009-03-31 15:23:17 -0700134config ARCH_SUPPORTS_DEBUG_PAGEALLOC
135 def_bool y if SPARC64
136
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137source "init/Kconfig"
138
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700139source "kernel/Kconfig.freezer"
140
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800141menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700142
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143config SMP
144 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145 ---help---
146 This enables support for systems with more than one CPU. If you have
147 a system with only one CPU, say N. If you have a system with more
148 than one CPU, say Y.
149
150 If you say N here, the kernel will run on single and multiprocessor
151 machines, but will use only one CPU of a multiprocessor machine. If
152 you say Y here, the kernel will run on many, but not all,
153 singleprocessor machines. On a singleprocessor machine, the kernel
154 will run faster if you say N here.
155
156 People using multiprocessor machines who say Y here should also say
157 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
158 Management" code will be disabled if you say Y here.
159
Adrian Bunk03502fa2008-02-03 15:50:21 +0200160 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
161 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700162
163 If you don't know what to do here, say N.
164
165config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800166 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800168 range 2 32 if SPARC32
169 range 2 1024 if SPARC64
170 default 32 if SPARC32
171 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800173source kernel/Kconfig.hz
174
175config RWSEM_GENERIC_SPINLOCK
176 bool
177 default y if SPARC32
178
179config RWSEM_XCHGADD_ALGORITHM
180 bool
181 default y if SPARC64
182
183config GENERIC_FIND_NEXT_BIT
184 bool
185 default y
186
187config GENERIC_HWEIGHT
188 bool
189 default y if !ULTRA_HAS_POPULATION_COUNT
190
191config GENERIC_CALIBRATE_DELAY
192 bool
193 default y
194
195config ARCH_MAY_HAVE_PC_FDC
196 bool
197 default y
198
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800199config EMULATED_CMPXCHG
200 bool
201 default y if SPARC32
202 help
203 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
204 is emulated, and therefore it is not completely atomic.
205
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800206# Makefile helpers
207config SPARC32_SMP
208 bool
209 default y
210 depends on SPARC32 && SMP
211
212config SPARC64_SMP
213 bool
214 default y
215 depends on SPARC64 && SMP
216
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800217choice
218 prompt "Kernel page size" if SPARC64
219 default SPARC64_PAGE_SIZE_8KB
220
221config SPARC64_PAGE_SIZE_8KB
222 bool "8KB"
223 help
224 This lets you select the page size of the kernel.
225
226 8KB and 64KB work quite well, since SPARC ELF sections
227 provide for up to 64KB alignment.
228
229 If you don't know what to do, choose 8KB.
230
231config SPARC64_PAGE_SIZE_64KB
232 bool "64KB"
233
234endchoice
235
236config SECCOMP
237 bool "Enable seccomp to safely compute untrusted bytecode"
238 depends on SPARC64 && PROC_FS
239 default y
240 help
241 This kernel feature is useful for number crunching applications
242 that may need to compute untrusted bytecode during their
243 execution. By using pipes or other transports made available to
244 the process as file descriptors supporting the read/write
245 syscalls, it's possible to isolate those applications in
246 their own address space using seccomp. Once seccomp is
247 enabled via /proc/<pid>/seccomp, it cannot be disabled
248 and the task is only allowed to execute a few safe syscalls
249 defined by each seccomp mode.
250
251 If unsure, say Y. Only embedded should say N here.
252
253config HOTPLUG_CPU
254 bool "Support for hot-pluggable CPUs"
255 depends on SPARC64 && SMP
256 select HOTPLUG
257 help
258 Say Y here to experiment with turning CPUs off and on. CPUs
259 can be controlled through /sys/devices/system/cpu/cpu#.
260 Say N if you want to disable CPU hotplug.
261
262config GENERIC_HARDIRQS
263 bool
264 default y if SPARC64
265
266source "kernel/time/Kconfig"
267
268if SPARC64
269source "drivers/cpufreq/Kconfig"
270
271config US3_FREQ
272 tristate "UltraSPARC-III CPU Frequency driver"
273 depends on CPU_FREQ
274 select CPU_FREQ_TABLE
275 help
276 This adds the CPUFreq driver for UltraSPARC-III processors.
277
278 For details, take a look at <file:Documentation/cpu-freq>.
279
280 If in doubt, say N.
281
282config US2E_FREQ
283 tristate "UltraSPARC-IIe CPU Frequency driver"
284 depends on CPU_FREQ
285 select CPU_FREQ_TABLE
286 help
287 This adds the CPUFreq driver for UltraSPARC-IIe processors.
288
289 For details, take a look at <file:Documentation/cpu-freq>.
290
291 If in doubt, say N.
292
293endif
294
295config US3_MC
296 tristate "UltraSPARC-III Memory Controller driver"
297 depends on SPARC64
298 default y
299 help
300 This adds a driver for the UltraSPARC-III memory controller.
301 Loading this driver allows exact mnemonic strings to be
302 printed in the event of a memory error, so that the faulty DIMM
303 on the motherboard can be matched to the error.
304
305 If in doubt, say Y, as this information can be very useful.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700306
307# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800308config GENERIC_LOCKBREAK
309 bool
310 default y
311 depends on SPARC64 && SMP && PREEMPT
312
313choice
314 prompt "SPARC64 Huge TLB Page Size"
315 depends on SPARC64 && HUGETLB_PAGE
316 default HUGETLB_PAGE_SIZE_4MB
317
318config HUGETLB_PAGE_SIZE_4MB
319 bool "4MB"
320
321config HUGETLB_PAGE_SIZE_512K
322 bool "512K"
323
324config HUGETLB_PAGE_SIZE_64K
325 depends on !SPARC64_PAGE_SIZE_64KB
326 bool "64K"
327
328endchoice
329
330config NUMA
331 bool "NUMA support"
332 depends on SPARC64 && SMP
333
334config NODES_SHIFT
335 int
336 default "4"
337 depends on NEED_MULTIPLE_NODES
338
339# Some NUMA nodes have memory ranges that span
340# other nodes. Even though a pfn is valid and
341# between a node's start and end pfns, it may not
342# reside on that node. See memmap_init_zone()
343# for details.
344config NODES_SPAN_OTHER_NODES
345 def_bool y
346 depends on NEED_MULTIPLE_NODES
347
348config ARCH_POPULATES_NODE_MAP
349 def_bool y if SPARC64
350
351config ARCH_SELECT_MEMORY_MODEL
352 def_bool y if SPARC64
353
354config ARCH_SPARSEMEM_ENABLE
355 def_bool y if SPARC64
356 select SPARSEMEM_VMEMMAP_ENABLE
357
358config ARCH_SPARSEMEM_DEFAULT
359 def_bool y if SPARC64
360
361source "mm/Kconfig"
362
363config SCHED_SMT
364 bool "SMT (Hyperthreading) scheduler support"
365 depends on SPARC64 && SMP
366 default y
367 help
368 SMT scheduler support improves the CPU scheduler's decision making
369 when dealing with SPARC cpus at a cost of slightly increased overhead
370 in some places. If unsure say N here.
371
372config SCHED_MC
373 bool "Multi-core scheduler support"
374 depends on SPARC64 && SMP
375 default y
376 help
377 Multi-core scheduler support improves the CPU scheduler's decision
378 making when dealing with multi-core CPU chips at a cost of slightly
379 increased overhead in some places. If unsure say N here.
380
381if SPARC64
382source "kernel/Kconfig.preempt"
383endif
384
385config CMDLINE_BOOL
386 bool "Default bootloader kernel arguments"
387 depends on SPARC64
388
389config CMDLINE
390 string "Initial kernel command string"
391 depends on CMDLINE_BOOL
392 default "console=ttyS0,9600 root=/dev/sda1"
393 help
394 Say Y here if you want to be able to pass default arguments to
395 the kernel. This will be overridden by the bootloader, if you
396 use one (such as SILO). This is most useful if you want to boot
397 a kernel from TFTP, and want default options to be available
398 with having them passed on the command line.
399
400 NOTE: This option WILL override the PROM bootargs setting!
401
402config SUN_PM
403 bool
404 default y if SPARC32
405 help
406 Enable power management and CPU standby features on supported
407 SPARC platforms.
408
409config SPARC_LED
410 tristate "Sun4m LED driver"
411 depends on SPARC32
412 help
413 This driver toggles the front-panel LED on sun4m systems
414 in a user-specifiable manner. Its state can be probed
415 by reading /proc/led and its blinking mode can be changed
416 via writes to /proc/led
417
Linus Torvalds1da177e2005-04-16 15:20:36 -0700418config SERIAL_CONSOLE
419 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800420 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421 default y
422 ---help---
423 If you say Y here, it will be possible to use a serial port as the
424 system console (the system console is the device which receives all
425 kernel messages and warnings and which allows logins in single user
426 mode). This could be useful if some terminal or printer is connected
427 to that serial port.
428
429 Even if you say Y here, the currently visible virtual console
430 (/dev/tty0) will still be used as the system console by default, but
431 you can alter that using a kernel command line option such as
432 "console=ttyS1". (Try "man bootparam" or see the documentation of
433 your boot loader (silo) about how to pass options to the kernel at
434 boot time.)
435
436 If you don't have a graphics card installed and you say Y here, the
437 kernel will automatically use the first serial line, /dev/ttyS0, as
438 system console.
439
440 If unsure, say N.
441
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800442endmenu
443
444menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800445config SBUS
446 bool
447 default y
448
449config SBUSCHAR
450 bool
451 default y
452
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800453config SUN_LDOMS
454 bool "Sun Logical Domains support"
455 depends on SPARC64
456 help
457 Say Y here is you want to support virtual devices via
458 Logical Domains.
459
Linus Torvalds1da177e2005-04-16 15:20:36 -0700460config PCI
461 bool "Support for PCI and PS/2 keyboard/mouse"
462 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800463 Find out whether your system includes a PCI bus. PCI is the name of
464 a bus system, i.e. the way the CPU talks to the other stuff inside
465 your box. If you say Y here, the kernel will include drivers and
466 infrastructure code to support PCI bus devices.
467
Linus Torvalds1da177e2005-04-16 15:20:36 -0700468 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
469 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
470 All of these platforms are extremely obscure, so say N if unsure.
471
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800472config PCI_DOMAINS
473 def_bool PCI if SPARC64
474
Matthew Wilcox36e23592007-07-10 10:54:40 -0600475config PCI_SYSCALL
476 def_bool PCI
477
Linus Torvalds1da177e2005-04-16 15:20:36 -0700478source "drivers/pci/Kconfig"
479
David S. Millerc6afec52008-11-23 21:50:16 -0800480source "drivers/pcmcia/Kconfig"
481
Linus Torvalds1da177e2005-04-16 15:20:36 -0700482config SUN_OPENPROMFS
483 tristate "Openprom tree appears in /proc/openprom"
484 help
485 If you say Y, the OpenPROM device tree will be available as a
486 virtual file system, which you can mount to /proc/openprom by "mount
487 -t openpromfs none /proc/openprom".
488
489 To compile the /proc/openprom support as a module, choose M here: the
490 module will be called openpromfs.
491
492 Only choose N if you know in advance that you will not need to modify
493 OpenPROM settings on the running system.
494
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800495# Makefile helpers
496config SPARC32_PCI
497 bool
498 default y
499 depends on SPARC32 && PCI
500
501config SPARC64_PCI
502 bool
503 default y
504 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700505
506endmenu
507
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800508menu "Executable file formats"
509
510source "fs/Kconfig.binfmt"
511
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800512config COMPAT
513 bool
514 depends on SPARC64
515 default y
516 select COMPAT_BINFMT_ELF
517
518config SYSVIPC_COMPAT
519 bool
520 depends on COMPAT && SYSVIPC
521 default y
522
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800523endmenu
524
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700525source "net/Kconfig"
526
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700527source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700528
Linus Torvalds1da177e2005-04-16 15:20:36 -0700529source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700530
Linus Torvalds1da177e2005-04-16 15:20:36 -0700531source "fs/Kconfig"
532
Linus Torvalds1da177e2005-04-16 15:20:36 -0700533source "arch/sparc/Kconfig.debug"
534
535source "security/Kconfig"
536
537source "crypto/Kconfig"
538
539source "lib/Kconfig"