blob: 2aa7cd39b481016885fff037a1bc7f4a62862842 [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
Jens Axboe825c9fb2009-09-04 02:56:22 -070028 select HAVE_PERF_COUNTERS
Sam Ravnborg35da3e32008-11-15 13:40:12 -080029
Sam Ravnborg35da3e32008-11-15 13:40:12 -080030config SPARC32
Bastian Blank761b6022009-01-04 23:03:10 -080031 def_bool !64BIT
Sam Ravnborg35da3e32008-11-15 13:40:12 -080032
Sam Ravnborg26b4c912008-11-16 20:01:17 -080033config SPARC64
Bastian Blank761b6022009-01-04 23:03:10 -080034 def_bool 64BIT
Sam Ravnborg5bc05302008-12-27 00:56:29 -080035 select ARCH_SUPPORTS_MSI
Sam Ravnborg26b4c912008-11-16 20:01:17 -080036 select HAVE_FUNCTION_TRACER
37 select HAVE_KRETPROBES
38 select HAVE_KPROBES
39 select HAVE_LMB
Christian Borntraeger67605d62009-01-19 20:21:49 -080040 select HAVE_SYSCALL_WRAPPERS
David S. Miller9be12f92009-06-13 01:03:24 -070041 select HAVE_DYNAMIC_FTRACE
42 select HAVE_FTRACE_MCOUNT_RECORD
Sam Ravnborg26b4c912008-11-16 20:01:17 -080043 select USE_GENERIC_SMP_HELPERS if SMP
44 select RTC_DRV_CMOS
45 select RTC_DRV_BQ4802
46 select RTC_DRV_SUN4V
47 select RTC_DRV_STARFIRE
Jens Axboe825c9fb2009-09-04 02:56:22 -070048 select HAVE_PERF_COUNTERS
Sam Ravnborg26b4c912008-11-16 20:01:17 -080049
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
Konrad Eisele5213a782009-08-17 00:13:29 +0000442config SPARC_LEON
443 bool "Sparc Leon processor family"
444 depends on SPARC32
445 ---help---
446 If you say Y here if you are running on a SPARC-LEON processor.
447 The LEON processor is a synthesizable VHDL model of the
448 SPARC-v8 standard. LEON is part of the GRLIB collection of
449 IP cores that are distributed under GPL. GRLIB can be downloaded
450 from www.gaisler.com. You can download a sparc-linux cross-compilation
451 toolchain at www.gaisler.com.
452
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800453endmenu
454
455menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800456config SBUS
457 bool
458 default y
459
460config SBUSCHAR
461 bool
462 default y
463
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800464config SUN_LDOMS
465 bool "Sun Logical Domains support"
466 depends on SPARC64
467 help
468 Say Y here is you want to support virtual devices via
469 Logical Domains.
470
Linus Torvalds1da177e2005-04-16 15:20:36 -0700471config PCI
472 bool "Support for PCI and PS/2 keyboard/mouse"
473 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800474 Find out whether your system includes a PCI bus. PCI is the name of
475 a bus system, i.e. the way the CPU talks to the other stuff inside
476 your box. If you say Y here, the kernel will include drivers and
477 infrastructure code to support PCI bus devices.
478
Linus Torvalds1da177e2005-04-16 15:20:36 -0700479 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
480 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
481 All of these platforms are extremely obscure, so say N if unsure.
482
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800483config PCI_DOMAINS
484 def_bool PCI if SPARC64
485
Matthew Wilcox36e23592007-07-10 10:54:40 -0600486config PCI_SYSCALL
487 def_bool PCI
488
Linus Torvalds1da177e2005-04-16 15:20:36 -0700489source "drivers/pci/Kconfig"
490
David S. Millerc6afec52008-11-23 21:50:16 -0800491source "drivers/pcmcia/Kconfig"
492
Linus Torvalds1da177e2005-04-16 15:20:36 -0700493config SUN_OPENPROMFS
494 tristate "Openprom tree appears in /proc/openprom"
495 help
496 If you say Y, the OpenPROM device tree will be available as a
497 virtual file system, which you can mount to /proc/openprom by "mount
498 -t openpromfs none /proc/openprom".
499
500 To compile the /proc/openprom support as a module, choose M here: the
501 module will be called openpromfs.
502
503 Only choose N if you know in advance that you will not need to modify
504 OpenPROM settings on the running system.
505
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800506# Makefile helpers
507config SPARC32_PCI
508 bool
509 default y
510 depends on SPARC32 && PCI
511
512config SPARC64_PCI
513 bool
514 default y
515 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700516
517endmenu
518
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800519menu "Executable file formats"
520
521source "fs/Kconfig.binfmt"
522
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800523config COMPAT
524 bool
525 depends on SPARC64
526 default y
527 select COMPAT_BINFMT_ELF
528
529config SYSVIPC_COMPAT
530 bool
531 depends on COMPAT && SYSVIPC
532 default y
533
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800534endmenu
535
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700536source "net/Kconfig"
537
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700538source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700539
Linus Torvalds1da177e2005-04-16 15:20:36 -0700540source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700541
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542source "fs/Kconfig"
543
Linus Torvalds1da177e2005-04-16 15:20:36 -0700544source "arch/sparc/Kconfig.debug"
545
546source "security/Kconfig"
547
548source "crypto/Kconfig"
549
550source "lib/Kconfig"