blob: fbd1233b392dda3a97b452df0b3853a3d1797dab [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
Tejun Heobcb21072009-08-14 15:00:53 +090098config NEED_PER_CPU_EMBED_FIRST_CHUNK
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
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800440endmenu
441
442menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800443config SBUS
444 bool
445 default y
446
447config SBUSCHAR
448 bool
449 default y
450
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800451config SUN_LDOMS
452 bool "Sun Logical Domains support"
453 depends on SPARC64
454 help
455 Say Y here is you want to support virtual devices via
456 Logical Domains.
457
Linus Torvalds1da177e2005-04-16 15:20:36 -0700458config PCI
459 bool "Support for PCI and PS/2 keyboard/mouse"
460 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800461 Find out whether your system includes a PCI bus. PCI is the name of
462 a bus system, i.e. the way the CPU talks to the other stuff inside
463 your box. If you say Y here, the kernel will include drivers and
464 infrastructure code to support PCI bus devices.
465
Linus Torvalds1da177e2005-04-16 15:20:36 -0700466 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
467 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
468 All of these platforms are extremely obscure, so say N if unsure.
469
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800470config PCI_DOMAINS
471 def_bool PCI if SPARC64
472
Matthew Wilcox36e23592007-07-10 10:54:40 -0600473config PCI_SYSCALL
474 def_bool PCI
475
Linus Torvalds1da177e2005-04-16 15:20:36 -0700476source "drivers/pci/Kconfig"
477
David S. Millerc6afec52008-11-23 21:50:16 -0800478source "drivers/pcmcia/Kconfig"
479
Linus Torvalds1da177e2005-04-16 15:20:36 -0700480config SUN_OPENPROMFS
481 tristate "Openprom tree appears in /proc/openprom"
482 help
483 If you say Y, the OpenPROM device tree will be available as a
484 virtual file system, which you can mount to /proc/openprom by "mount
485 -t openpromfs none /proc/openprom".
486
487 To compile the /proc/openprom support as a module, choose M here: the
488 module will be called openpromfs.
489
490 Only choose N if you know in advance that you will not need to modify
491 OpenPROM settings on the running system.
492
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800493# Makefile helpers
494config SPARC32_PCI
495 bool
496 default y
497 depends on SPARC32 && PCI
498
499config SPARC64_PCI
500 bool
501 default y
502 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700503
504endmenu
505
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800506menu "Executable file formats"
507
508source "fs/Kconfig.binfmt"
509
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800510config COMPAT
511 bool
512 depends on SPARC64
513 default y
514 select COMPAT_BINFMT_ELF
515
516config SYSVIPC_COMPAT
517 bool
518 depends on COMPAT && SYSVIPC
519 default y
520
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800521endmenu
522
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700523source "net/Kconfig"
524
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700525source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700526
Linus Torvalds1da177e2005-04-16 15:20:36 -0700527source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700528
Linus Torvalds1da177e2005-04-16 15:20:36 -0700529source "fs/Kconfig"
530
Linus Torvalds1da177e2005-04-16 15:20:36 -0700531source "arch/sparc/Kconfig.debug"
532
533source "security/Kconfig"
534
535source "crypto/Kconfig"
536
537source "lib/Kconfig"