blob: b847f880eeca4c1126d0eb9bfb3799f22eb13b99 [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
28
Sam Ravnborg35da3e32008-11-15 13:40:12 -080029config SPARC32
Bastian Blank761b6022009-01-04 23:03:10 -080030 def_bool !64BIT
Sam Ravnborg35da3e32008-11-15 13:40:12 -080031
Sam Ravnborg26b4c912008-11-16 20:01:17 -080032config SPARC64
Bastian Blank761b6022009-01-04 23:03:10 -080033 def_bool 64BIT
Sam Ravnborg5bc05302008-12-27 00:56:29 -080034 select ARCH_SUPPORTS_MSI
Sam Ravnborg26b4c912008-11-16 20:01:17 -080035 select HAVE_FUNCTION_TRACER
36 select HAVE_KRETPROBES
37 select HAVE_KPROBES
38 select HAVE_LMB
Christian Borntraeger67605d62009-01-19 20:21:49 -080039 select HAVE_SYSCALL_WRAPPERS
David S. Miller9be12f92009-06-13 01:03:24 -070040 select HAVE_DYNAMIC_FTRACE
41 select HAVE_FTRACE_MCOUNT_RECORD
Sam Ravnborg26b4c912008-11-16 20:01:17 -080042 select USE_GENERIC_SMP_HELPERS if SMP
43 select RTC_DRV_CMOS
44 select RTC_DRV_BQ4802
45 select RTC_DRV_SUN4V
46 select RTC_DRV_STARFIRE
47
Sam Ravnborg5e538792008-12-02 23:17:12 -080048config ARCH_DEFCONFIG
49 string
50 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
51 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
52
Sam Ravnborgfe6875e2008-12-26 15:35:16 -080053# CONFIG_BITS can be used at source level to get 32/64 bits
54config BITS
55 int
56 default 32 if SPARC32
57 default 64 if SPARC64
Sam Ravnborg5e538792008-12-02 23:17:12 -080058
Sam Ravnborg26b4c912008-11-16 20:01:17 -080059config GENERIC_TIME
60 bool
61 default y if SPARC64
62
63config GENERIC_CMOS_UPDATE
64 bool
65 default y if SPARC64
66
67config GENERIC_CLOCKEVENTS
68 bool
69 default y if SPARC64
70
71config IOMMU_HELPER
72 bool
73 default y if SPARC64
74
75config QUICKLIST
76 bool
77 default y if SPARC64
78
79config STACKTRACE_SUPPORT
80 bool
81 default y if SPARC64
82
83config LOCKDEP_SUPPORT
84 bool
85 default y if SPARC64
86
David S. Miller6a5726d2008-11-28 01:19:41 -080087config HAVE_LATENCYTOP_SUPPORT
88 bool
89 default y if SPARC64
90
Sam Ravnborg26b4c912008-11-16 20:01:17 -080091config AUDIT_ARCH
92 bool
David S. Miller7e7e93a2008-12-05 22:18:40 -080093 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -080094
95config HAVE_SETUP_PER_CPU_AREA
96 def_bool y if SPARC64
97
David S. Miller4fd78a52009-04-08 20:32:02 -070098config HAVE_DYNAMIC_PER_CPU_AREA
99 def_bool y if SPARC64
100
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800101config GENERIC_HARDIRQS_NO__DO_IRQ
102 bool
103 def_bool y if SPARC64
104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105config MMU
106 bool
107 default y
108
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109config HIGHMEM
110 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800111 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800113config ZONE_DMA
114 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800115 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800116
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117config GENERIC_ISA_DMA
118 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800119 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700120
David S. Miller15df0f32008-08-20 23:03:24 -0700121config GENERIC_GPIO
122 bool
123 help
124 Generic GPIO API support
125
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700126config ARCH_NO_VIRT_TO_BUS
127 def_bool y
128
Stephen Rothwell97e873e2007-05-01 16:26:07 +1000129config OF
130 def_bool y
131
Akinobu Mita6a11f752009-03-31 15:23:17 -0700132config ARCH_SUPPORTS_DEBUG_PAGEALLOC
133 def_bool y if SPARC64
134
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135source "init/Kconfig"
136
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700137source "kernel/Kconfig.freezer"
138
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800139menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141config SMP
142 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143 ---help---
144 This enables support for systems with more than one CPU. If you have
145 a system with only one CPU, say N. If you have a system with more
146 than one CPU, say Y.
147
148 If you say N here, the kernel will run on single and multiprocessor
149 machines, but will use only one CPU of a multiprocessor machine. If
150 you say Y here, the kernel will run on many, but not all,
151 singleprocessor machines. On a singleprocessor machine, the kernel
152 will run faster if you say N here.
153
154 People using multiprocessor machines who say Y here should also say
155 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
156 Management" code will be disabled if you say Y here.
157
Adrian Bunk03502fa2008-02-03 15:50:21 +0200158 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
159 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160
161 If you don't know what to do here, say N.
162
163config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800164 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800166 range 2 32 if SPARC32
167 range 2 1024 if SPARC64
168 default 32 if SPARC32
169 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800171source kernel/Kconfig.hz
172
173config RWSEM_GENERIC_SPINLOCK
174 bool
175 default y if SPARC32
176
177config RWSEM_XCHGADD_ALGORITHM
178 bool
179 default y if SPARC64
180
181config GENERIC_FIND_NEXT_BIT
182 bool
183 default y
184
185config GENERIC_HWEIGHT
186 bool
187 default y if !ULTRA_HAS_POPULATION_COUNT
188
189config GENERIC_CALIBRATE_DELAY
190 bool
191 default y
192
193config ARCH_MAY_HAVE_PC_FDC
194 bool
195 default y
196
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800197config EMULATED_CMPXCHG
198 bool
199 default y if SPARC32
200 help
201 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
202 is emulated, and therefore it is not completely atomic.
203
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800204# Makefile helpers
205config SPARC32_SMP
206 bool
207 default y
208 depends on SPARC32 && SMP
209
210config SPARC64_SMP
211 bool
212 default y
213 depends on SPARC64 && SMP
214
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800215choice
216 prompt "Kernel page size" if SPARC64
217 default SPARC64_PAGE_SIZE_8KB
218
219config SPARC64_PAGE_SIZE_8KB
220 bool "8KB"
221 help
222 This lets you select the page size of the kernel.
223
224 8KB and 64KB work quite well, since SPARC ELF sections
225 provide for up to 64KB alignment.
226
227 If you don't know what to do, choose 8KB.
228
229config SPARC64_PAGE_SIZE_64KB
230 bool "64KB"
231
232endchoice
233
234config SECCOMP
235 bool "Enable seccomp to safely compute untrusted bytecode"
236 depends on SPARC64 && PROC_FS
237 default y
238 help
239 This kernel feature is useful for number crunching applications
240 that may need to compute untrusted bytecode during their
241 execution. By using pipes or other transports made available to
242 the process as file descriptors supporting the read/write
243 syscalls, it's possible to isolate those applications in
244 their own address space using seccomp. Once seccomp is
245 enabled via /proc/<pid>/seccomp, it cannot be disabled
246 and the task is only allowed to execute a few safe syscalls
247 defined by each seccomp mode.
248
249 If unsure, say Y. Only embedded should say N here.
250
251config HOTPLUG_CPU
252 bool "Support for hot-pluggable CPUs"
253 depends on SPARC64 && SMP
254 select HOTPLUG
255 help
256 Say Y here to experiment with turning CPUs off and on. CPUs
257 can be controlled through /sys/devices/system/cpu/cpu#.
258 Say N if you want to disable CPU hotplug.
259
260config GENERIC_HARDIRQS
261 bool
262 default y if SPARC64
263
264source "kernel/time/Kconfig"
265
266if SPARC64
267source "drivers/cpufreq/Kconfig"
268
269config US3_FREQ
270 tristate "UltraSPARC-III CPU Frequency driver"
271 depends on CPU_FREQ
272 select CPU_FREQ_TABLE
273 help
274 This adds the CPUFreq driver for UltraSPARC-III processors.
275
276 For details, take a look at <file:Documentation/cpu-freq>.
277
278 If in doubt, say N.
279
280config US2E_FREQ
281 tristate "UltraSPARC-IIe CPU Frequency driver"
282 depends on CPU_FREQ
283 select CPU_FREQ_TABLE
284 help
285 This adds the CPUFreq driver for UltraSPARC-IIe processors.
286
287 For details, take a look at <file:Documentation/cpu-freq>.
288
289 If in doubt, say N.
290
291endif
292
293config US3_MC
294 tristate "UltraSPARC-III Memory Controller driver"
295 depends on SPARC64
296 default y
297 help
298 This adds a driver for the UltraSPARC-III memory controller.
299 Loading this driver allows exact mnemonic strings to be
300 printed in the event of a memory error, so that the faulty DIMM
301 on the motherboard can be matched to the error.
302
303 If in doubt, say Y, as this information can be very useful.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304
305# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800306config GENERIC_LOCKBREAK
307 bool
308 default y
309 depends on SPARC64 && SMP && PREEMPT
310
311choice
312 prompt "SPARC64 Huge TLB Page Size"
313 depends on SPARC64 && HUGETLB_PAGE
314 default HUGETLB_PAGE_SIZE_4MB
315
316config HUGETLB_PAGE_SIZE_4MB
317 bool "4MB"
318
319config HUGETLB_PAGE_SIZE_512K
320 bool "512K"
321
322config HUGETLB_PAGE_SIZE_64K
323 depends on !SPARC64_PAGE_SIZE_64KB
324 bool "64K"
325
326endchoice
327
328config NUMA
329 bool "NUMA support"
330 depends on SPARC64 && SMP
331
332config NODES_SHIFT
333 int
334 default "4"
335 depends on NEED_MULTIPLE_NODES
336
337# Some NUMA nodes have memory ranges that span
338# other nodes. Even though a pfn is valid and
339# between a node's start and end pfns, it may not
340# reside on that node. See memmap_init_zone()
341# for details.
342config NODES_SPAN_OTHER_NODES
343 def_bool y
344 depends on NEED_MULTIPLE_NODES
345
346config ARCH_POPULATES_NODE_MAP
347 def_bool y if SPARC64
348
349config ARCH_SELECT_MEMORY_MODEL
350 def_bool y if SPARC64
351
352config ARCH_SPARSEMEM_ENABLE
353 def_bool y if SPARC64
354 select SPARSEMEM_VMEMMAP_ENABLE
355
356config ARCH_SPARSEMEM_DEFAULT
357 def_bool y if SPARC64
358
359source "mm/Kconfig"
360
361config SCHED_SMT
362 bool "SMT (Hyperthreading) scheduler support"
363 depends on SPARC64 && SMP
364 default y
365 help
366 SMT scheduler support improves the CPU scheduler's decision making
367 when dealing with SPARC cpus at a cost of slightly increased overhead
368 in some places. If unsure say N here.
369
370config SCHED_MC
371 bool "Multi-core scheduler support"
372 depends on SPARC64 && SMP
373 default y
374 help
375 Multi-core scheduler support improves the CPU scheduler's decision
376 making when dealing with multi-core CPU chips at a cost of slightly
377 increased overhead in some places. If unsure say N here.
378
379if SPARC64
380source "kernel/Kconfig.preempt"
381endif
382
383config CMDLINE_BOOL
384 bool "Default bootloader kernel arguments"
385 depends on SPARC64
386
387config CMDLINE
388 string "Initial kernel command string"
389 depends on CMDLINE_BOOL
390 default "console=ttyS0,9600 root=/dev/sda1"
391 help
392 Say Y here if you want to be able to pass default arguments to
393 the kernel. This will be overridden by the bootloader, if you
394 use one (such as SILO). This is most useful if you want to boot
395 a kernel from TFTP, and want default options to be available
396 with having them passed on the command line.
397
398 NOTE: This option WILL override the PROM bootargs setting!
399
400config SUN_PM
401 bool
402 default y if SPARC32
403 help
404 Enable power management and CPU standby features on supported
405 SPARC platforms.
406
407config SPARC_LED
408 tristate "Sun4m LED driver"
409 depends on SPARC32
410 help
411 This driver toggles the front-panel LED on sun4m systems
412 in a user-specifiable manner. Its state can be probed
413 by reading /proc/led and its blinking mode can be changed
414 via writes to /proc/led
415
Linus Torvalds1da177e2005-04-16 15:20:36 -0700416config SERIAL_CONSOLE
417 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800418 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700419 default y
420 ---help---
421 If you say Y here, it will be possible to use a serial port as the
422 system console (the system console is the device which receives all
423 kernel messages and warnings and which allows logins in single user
424 mode). This could be useful if some terminal or printer is connected
425 to that serial port.
426
427 Even if you say Y here, the currently visible virtual console
428 (/dev/tty0) will still be used as the system console by default, but
429 you can alter that using a kernel command line option such as
430 "console=ttyS1". (Try "man bootparam" or see the documentation of
431 your boot loader (silo) about how to pass options to the kernel at
432 boot time.)
433
434 If you don't have a graphics card installed and you say Y here, the
435 kernel will automatically use the first serial line, /dev/ttyS0, as
436 system console.
437
438 If unsure, say N.
439
Konrad Eisele5213a782009-08-17 00:13:29 +0000440config SPARC_LEON
441 bool "Sparc Leon processor family"
442 depends on SPARC32
443 ---help---
444 If you say Y here if you are running on a SPARC-LEON processor.
445 The LEON processor is a synthesizable VHDL model of the
446 SPARC-v8 standard. LEON is part of the GRLIB collection of
447 IP cores that are distributed under GPL. GRLIB can be downloaded
448 from www.gaisler.com. You can download a sparc-linux cross-compilation
449 toolchain at www.gaisler.com.
450
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800451endmenu
452
453menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800454config SBUS
455 bool
456 default y
457
458config SBUSCHAR
459 bool
460 default y
461
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800462config SUN_LDOMS
463 bool "Sun Logical Domains support"
464 depends on SPARC64
465 help
466 Say Y here is you want to support virtual devices via
467 Logical Domains.
468
Linus Torvalds1da177e2005-04-16 15:20:36 -0700469config PCI
470 bool "Support for PCI and PS/2 keyboard/mouse"
471 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800472 Find out whether your system includes a PCI bus. PCI is the name of
473 a bus system, i.e. the way the CPU talks to the other stuff inside
474 your box. If you say Y here, the kernel will include drivers and
475 infrastructure code to support PCI bus devices.
476
Linus Torvalds1da177e2005-04-16 15:20:36 -0700477 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
478 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
479 All of these platforms are extremely obscure, so say N if unsure.
480
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800481config PCI_DOMAINS
482 def_bool PCI if SPARC64
483
Matthew Wilcox36e23592007-07-10 10:54:40 -0600484config PCI_SYSCALL
485 def_bool PCI
486
Linus Torvalds1da177e2005-04-16 15:20:36 -0700487source "drivers/pci/Kconfig"
488
David S. Millerc6afec52008-11-23 21:50:16 -0800489source "drivers/pcmcia/Kconfig"
490
Linus Torvalds1da177e2005-04-16 15:20:36 -0700491config SUN_OPENPROMFS
492 tristate "Openprom tree appears in /proc/openprom"
493 help
494 If you say Y, the OpenPROM device tree will be available as a
495 virtual file system, which you can mount to /proc/openprom by "mount
496 -t openpromfs none /proc/openprom".
497
498 To compile the /proc/openprom support as a module, choose M here: the
499 module will be called openpromfs.
500
501 Only choose N if you know in advance that you will not need to modify
502 OpenPROM settings on the running system.
503
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800504# Makefile helpers
505config SPARC32_PCI
506 bool
507 default y
508 depends on SPARC32 && PCI
509
510config SPARC64_PCI
511 bool
512 default y
513 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700514
515endmenu
516
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800517menu "Executable file formats"
518
519source "fs/Kconfig.binfmt"
520
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800521config COMPAT
522 bool
523 depends on SPARC64
524 default y
525 select COMPAT_BINFMT_ELF
526
527config SYSVIPC_COMPAT
528 bool
529 depends on COMPAT && SYSVIPC
530 default y
531
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800532endmenu
533
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700534source "net/Kconfig"
535
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700536source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700537
Linus Torvalds1da177e2005-04-16 15:20:36 -0700538source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700539
Linus Torvalds1da177e2005-04-16 15:20:36 -0700540source "fs/Kconfig"
541
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542source "arch/sparc/Kconfig.debug"
543
544source "security/Kconfig"
545
546source "crypto/Kconfig"
547
548source "lib/Kconfig"