blob: a81b04e07fe76d97efcf6c90230c8272528aa19b [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
Stephen Rothwell7b14c642010-06-29 12:44:50 +100021 select OF
Sam Ravnborg35da3e32008-11-15 13:40:12 -080022 select HAVE_IDE
23 select HAVE_OPROFILE
Sam Ravnborg26b4c912008-11-16 20:01:17 -080024 select HAVE_ARCH_KGDB if !SMP || SPARC64
Sam Ravnborg35da3e32008-11-15 13:40:12 -080025 select HAVE_ARCH_TRACEHOOK
26 select ARCH_WANT_OPTIONAL_GPIOLIB
27 select RTC_CLASS
28 select RTC_DRV_M48T59
Ingo Molnarcdd6c482009-09-21 12:02:48 +020029 select HAVE_PERF_EVENTS
Peter Zijlstra906010b2009-09-21 16:08:49 +020030 select PERF_USE_VMALLOC
FUJITA Tomonori02f7a182009-08-10 11:53:13 +090031 select HAVE_DMA_ATTRS
FUJITA Tomonori451d7402009-08-10 11:53:17 +090032 select HAVE_DMA_API_DEBUG
David S. Millerdff9d3c2010-09-17 11:09:25 -040033 select HAVE_ARCH_JUMP_LABEL if !CC_OPTIMIZE_FOR_SIZE
Sam Ravnborg35da3e32008-11-15 13:40:12 -080034
Sam Ravnborg35da3e32008-11-15 13:40:12 -080035config SPARC32
Bastian Blank761b6022009-01-04 23:03:10 -080036 def_bool !64BIT
Sam Ravnborg35da3e32008-11-15 13:40:12 -080037
Sam Ravnborg26b4c912008-11-16 20:01:17 -080038config SPARC64
Bastian Blank761b6022009-01-04 23:03:10 -080039 def_bool 64BIT
Sam Ravnborg5bc05302008-12-27 00:56:29 -080040 select ARCH_SUPPORTS_MSI
Sam Ravnborg26b4c912008-11-16 20:01:17 -080041 select HAVE_FUNCTION_TRACER
David S. Miller9960e9e2010-04-07 04:41:33 -070042 select HAVE_FUNCTION_GRAPH_TRACER
43 select HAVE_FUNCTION_GRAPH_FP_TEST
David S. Miller63b75492010-04-12 22:35:24 -070044 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborg26b4c912008-11-16 20:01:17 -080045 select HAVE_KRETPROBES
46 select HAVE_KPROBES
Yinghai Lu95f72d12010-07-12 14:36:09 +100047 select HAVE_MEMBLOCK
Christian Borntraeger67605d62009-01-19 20:21:49 -080048 select HAVE_SYSCALL_WRAPPERS
David S. Miller9be12f92009-06-13 01:03:24 -070049 select HAVE_DYNAMIC_FTRACE
50 select HAVE_FTRACE_MCOUNT_RECORD
David S. Millerc658ad12009-12-11 00:44:47 -080051 select HAVE_SYSCALL_TRACEPOINTS
Sam Ravnborg26b4c912008-11-16 20:01:17 -080052 select USE_GENERIC_SMP_HELPERS if SMP
53 select RTC_DRV_CMOS
54 select RTC_DRV_BQ4802
55 select RTC_DRV_SUN4V
56 select RTC_DRV_STARFIRE
Ingo Molnarcdd6c482009-09-21 12:02:48 +020057 select HAVE_PERF_EVENTS
Peter Zijlstra906010b2009-09-21 16:08:49 +020058 select PERF_USE_VMALLOC
Sam Ravnborg26b4c912008-11-16 20:01:17 -080059
Sam Ravnborg5e538792008-12-02 23:17:12 -080060config ARCH_DEFCONFIG
61 string
62 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
63 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
64
Sam Ravnborgfe6875e2008-12-26 15:35:16 -080065# CONFIG_BITS can be used at source level to get 32/64 bits
66config BITS
67 int
68 default 32 if SPARC32
69 default 64 if SPARC64
Sam Ravnborg5e538792008-12-02 23:17:12 -080070
John Stultz0299b132010-01-15 01:34:28 -080071config ARCH_USES_GETTIMEOFFSET
Sam Ravnborg26b4c912008-11-16 20:01:17 -080072 bool
John Stultz0299b132010-01-15 01:34:28 -080073 default y if SPARC32
Sam Ravnborg26b4c912008-11-16 20:01:17 -080074
75config GENERIC_CMOS_UPDATE
76 bool
John Stultzf5c9c9b2010-03-03 19:57:27 -080077 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -080078
79config GENERIC_CLOCKEVENTS
80 bool
81 default y if SPARC64
82
83config IOMMU_HELPER
84 bool
85 default y if SPARC64
86
87config QUICKLIST
88 bool
89 default y if SPARC64
90
91config STACKTRACE_SUPPORT
92 bool
93 default y if SPARC64
94
95config LOCKDEP_SUPPORT
96 bool
97 default y if SPARC64
98
David S. Miller6a5726d2008-11-28 01:19:41 -080099config HAVE_LATENCYTOP_SUPPORT
100 bool
101 default y if SPARC64
102
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800103config AUDIT_ARCH
104 bool
David S. Miller7e7e93a2008-12-05 22:18:40 -0800105 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800106
107config HAVE_SETUP_PER_CPU_AREA
108 def_bool y if SPARC64
109
Tejun Heobcb21072009-08-14 15:00:53 +0900110config NEED_PER_CPU_EMBED_FIRST_CHUNK
David S. Miller4fd78a52009-04-08 20:32:02 -0700111 def_bool y if SPARC64
112
Tejun Heoa70c6912009-09-24 18:18:55 +0900113config NEED_PER_CPU_PAGE_FIRST_CHUNK
114 def_bool y if SPARC64
115
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800116config GENERIC_HARDIRQS_NO__DO_IRQ
117 bool
118 def_bool y if SPARC64
119
Linus Torvalds1da177e2005-04-16 15:20:36 -0700120config MMU
121 bool
122 default y
123
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124config HIGHMEM
125 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800126 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800128config ZONE_DMA
129 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800130 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800131
FUJITA Tomonorid15b51b2010-03-10 15:23:28 -0800132config NEED_DMA_MAP_STATE
133 def_bool y
134
FUJITA Tomonori18e98302010-05-26 14:44:32 -0700135config NEED_SG_DMA_LENGTH
136 def_bool y
137
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138config GENERIC_ISA_DMA
139 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800140 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141
David S. Miller15df0f32008-08-20 23:03:24 -0700142config GENERIC_GPIO
143 bool
144 help
145 Generic GPIO API support
146
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700147config ARCH_NO_VIRT_TO_BUS
148 def_bool y
149
Akinobu Mita6a11f752009-03-31 15:23:17 -0700150config ARCH_SUPPORTS_DEBUG_PAGEALLOC
151 def_bool y if SPARC64
152
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153source "init/Kconfig"
154
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700155source "kernel/Kconfig.freezer"
156
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800157menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159config SMP
160 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 ---help---
162 This enables support for systems with more than one CPU. If you have
163 a system with only one CPU, say N. If you have a system with more
164 than one CPU, say Y.
165
166 If you say N here, the kernel will run on single and multiprocessor
167 machines, but will use only one CPU of a multiprocessor machine. If
168 you say Y here, the kernel will run on many, but not all,
169 singleprocessor machines. On a singleprocessor machine, the kernel
170 will run faster if you say N here.
171
172 People using multiprocessor machines who say Y here should also say
173 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
174 Management" code will be disabled if you say Y here.
175
Adrian Bunk03502fa2008-02-03 15:50:21 +0200176 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
177 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178
179 If you don't know what to do here, say N.
180
181config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800182 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800184 range 2 32 if SPARC32
185 range 2 1024 if SPARC64
186 default 32 if SPARC32
187 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800189source kernel/Kconfig.hz
190
191config RWSEM_GENERIC_SPINLOCK
192 bool
193 default y if SPARC32
194
195config RWSEM_XCHGADD_ALGORITHM
196 bool
197 default y if SPARC64
198
199config GENERIC_FIND_NEXT_BIT
200 bool
201 default y
202
203config GENERIC_HWEIGHT
204 bool
205 default y if !ULTRA_HAS_POPULATION_COUNT
206
207config GENERIC_CALIBRATE_DELAY
208 bool
209 default y
210
211config ARCH_MAY_HAVE_PC_FDC
212 bool
213 default y
214
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800215config EMULATED_CMPXCHG
216 bool
217 default y if SPARC32
218 help
219 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
220 is emulated, and therefore it is not completely atomic.
221
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800222# Makefile helpers
223config SPARC32_SMP
224 bool
225 default y
226 depends on SPARC32 && SMP
227
228config SPARC64_SMP
229 bool
230 default y
231 depends on SPARC64 && SMP
232
David S. Millerc57ec522009-11-27 17:33:43 -0800233config EARLYFB
234 bool "Support for early boot text console"
235 default y
236 depends on SPARC64
237 help
238 Say Y here to enable a faster early framebuffer boot console.
239
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800240choice
241 prompt "Kernel page size" if SPARC64
242 default SPARC64_PAGE_SIZE_8KB
243
244config SPARC64_PAGE_SIZE_8KB
245 bool "8KB"
246 help
247 This lets you select the page size of the kernel.
248
249 8KB and 64KB work quite well, since SPARC ELF sections
250 provide for up to 64KB alignment.
251
252 If you don't know what to do, choose 8KB.
253
254config SPARC64_PAGE_SIZE_64KB
255 bool "64KB"
256
257endchoice
258
259config SECCOMP
260 bool "Enable seccomp to safely compute untrusted bytecode"
261 depends on SPARC64 && PROC_FS
262 default y
263 help
264 This kernel feature is useful for number crunching applications
265 that may need to compute untrusted bytecode during their
266 execution. By using pipes or other transports made available to
267 the process as file descriptors supporting the read/write
268 syscalls, it's possible to isolate those applications in
269 their own address space using seccomp. Once seccomp is
270 enabled via /proc/<pid>/seccomp, it cannot be disabled
271 and the task is only allowed to execute a few safe syscalls
272 defined by each seccomp mode.
273
274 If unsure, say Y. Only embedded should say N here.
275
276config HOTPLUG_CPU
277 bool "Support for hot-pluggable CPUs"
278 depends on SPARC64 && SMP
279 select HOTPLUG
280 help
281 Say Y here to experiment with turning CPUs off and on. CPUs
282 can be controlled through /sys/devices/system/cpu/cpu#.
283 Say N if you want to disable CPU hotplug.
284
285config GENERIC_HARDIRQS
286 bool
287 default y if SPARC64
288
289source "kernel/time/Kconfig"
290
291if SPARC64
292source "drivers/cpufreq/Kconfig"
293
294config US3_FREQ
295 tristate "UltraSPARC-III CPU Frequency driver"
296 depends on CPU_FREQ
297 select CPU_FREQ_TABLE
298 help
299 This adds the CPUFreq driver for UltraSPARC-III processors.
300
301 For details, take a look at <file:Documentation/cpu-freq>.
302
303 If in doubt, say N.
304
305config US2E_FREQ
306 tristate "UltraSPARC-IIe CPU Frequency driver"
307 depends on CPU_FREQ
308 select CPU_FREQ_TABLE
309 help
310 This adds the CPUFreq driver for UltraSPARC-IIe processors.
311
312 For details, take a look at <file:Documentation/cpu-freq>.
313
314 If in doubt, say N.
315
316endif
317
318config US3_MC
319 tristate "UltraSPARC-III Memory Controller driver"
320 depends on SPARC64
321 default y
322 help
323 This adds a driver for the UltraSPARC-III memory controller.
324 Loading this driver allows exact mnemonic strings to be
325 printed in the event of a memory error, so that the faulty DIMM
326 on the motherboard can be matched to the error.
327
328 If in doubt, say Y, as this information can be very useful.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700329
330# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800331config GENERIC_LOCKBREAK
332 bool
333 default y
334 depends on SPARC64 && SMP && PREEMPT
335
336choice
337 prompt "SPARC64 Huge TLB Page Size"
338 depends on SPARC64 && HUGETLB_PAGE
339 default HUGETLB_PAGE_SIZE_4MB
340
341config HUGETLB_PAGE_SIZE_4MB
342 bool "4MB"
343
344config HUGETLB_PAGE_SIZE_512K
345 bool "512K"
346
347config HUGETLB_PAGE_SIZE_64K
348 depends on !SPARC64_PAGE_SIZE_64KB
349 bool "64K"
350
351endchoice
352
353config NUMA
354 bool "NUMA support"
355 depends on SPARC64 && SMP
356
357config NODES_SHIFT
358 int
359 default "4"
360 depends on NEED_MULTIPLE_NODES
361
362# Some NUMA nodes have memory ranges that span
363# other nodes. Even though a pfn is valid and
364# between a node's start and end pfns, it may not
365# reside on that node. See memmap_init_zone()
366# for details.
367config NODES_SPAN_OTHER_NODES
368 def_bool y
369 depends on NEED_MULTIPLE_NODES
370
371config ARCH_POPULATES_NODE_MAP
372 def_bool y if SPARC64
373
374config ARCH_SELECT_MEMORY_MODEL
375 def_bool y if SPARC64
376
377config ARCH_SPARSEMEM_ENABLE
378 def_bool y if SPARC64
379 select SPARSEMEM_VMEMMAP_ENABLE
380
381config ARCH_SPARSEMEM_DEFAULT
382 def_bool y if SPARC64
383
384source "mm/Kconfig"
385
386config SCHED_SMT
387 bool "SMT (Hyperthreading) scheduler support"
388 depends on SPARC64 && SMP
389 default y
390 help
391 SMT scheduler support improves the CPU scheduler's decision making
392 when dealing with SPARC cpus at a cost of slightly increased overhead
393 in some places. If unsure say N here.
394
395config SCHED_MC
396 bool "Multi-core scheduler support"
397 depends on SPARC64 && SMP
398 default y
399 help
400 Multi-core scheduler support improves the CPU scheduler's decision
401 making when dealing with multi-core CPU chips at a cost of slightly
402 increased overhead in some places. If unsure say N here.
403
404if SPARC64
405source "kernel/Kconfig.preempt"
406endif
407
408config CMDLINE_BOOL
409 bool "Default bootloader kernel arguments"
410 depends on SPARC64
411
412config CMDLINE
413 string "Initial kernel command string"
414 depends on CMDLINE_BOOL
415 default "console=ttyS0,9600 root=/dev/sda1"
416 help
417 Say Y here if you want to be able to pass default arguments to
418 the kernel. This will be overridden by the bootloader, if you
419 use one (such as SILO). This is most useful if you want to boot
420 a kernel from TFTP, and want default options to be available
421 with having them passed on the command line.
422
423 NOTE: This option WILL override the PROM bootargs setting!
424
425config SUN_PM
426 bool
427 default y if SPARC32
428 help
429 Enable power management and CPU standby features on supported
430 SPARC platforms.
431
432config SPARC_LED
433 tristate "Sun4m LED driver"
434 depends on SPARC32
435 help
436 This driver toggles the front-panel LED on sun4m systems
437 in a user-specifiable manner. Its state can be probed
438 by reading /proc/led and its blinking mode can be changed
439 via writes to /proc/led
440
Linus Torvalds1da177e2005-04-16 15:20:36 -0700441config SERIAL_CONSOLE
442 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800443 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700444 default y
445 ---help---
446 If you say Y here, it will be possible to use a serial port as the
447 system console (the system console is the device which receives all
448 kernel messages and warnings and which allows logins in single user
449 mode). This could be useful if some terminal or printer is connected
450 to that serial port.
451
452 Even if you say Y here, the currently visible virtual console
453 (/dev/tty0) will still be used as the system console by default, but
454 you can alter that using a kernel command line option such as
455 "console=ttyS1". (Try "man bootparam" or see the documentation of
456 your boot loader (silo) about how to pass options to the kernel at
457 boot time.)
458
459 If you don't have a graphics card installed and you say Y here, the
460 kernel will automatically use the first serial line, /dev/ttyS0, as
461 system console.
462
463 If unsure, say N.
464
Konrad Eisele5213a782009-08-17 00:13:29 +0000465config SPARC_LEON
466 bool "Sparc Leon processor family"
467 depends on SPARC32
468 ---help---
469 If you say Y here if you are running on a SPARC-LEON processor.
470 The LEON processor is a synthesizable VHDL model of the
471 SPARC-v8 standard. LEON is part of the GRLIB collection of
472 IP cores that are distributed under GPL. GRLIB can be downloaded
473 from www.gaisler.com. You can download a sparc-linux cross-compilation
474 toolchain at www.gaisler.com.
475
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800476endmenu
477
478menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800479config SBUS
480 bool
481 default y
482
483config SBUSCHAR
484 bool
485 default y
486
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800487config SUN_LDOMS
488 bool "Sun Logical Domains support"
489 depends on SPARC64
490 help
491 Say Y here is you want to support virtual devices via
492 Logical Domains.
493
Linus Torvalds1da177e2005-04-16 15:20:36 -0700494config PCI
495 bool "Support for PCI and PS/2 keyboard/mouse"
496 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800497 Find out whether your system includes a PCI bus. PCI is the name of
498 a bus system, i.e. the way the CPU talks to the other stuff inside
499 your box. If you say Y here, the kernel will include drivers and
500 infrastructure code to support PCI bus devices.
501
Linus Torvalds1da177e2005-04-16 15:20:36 -0700502 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
503 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
504 All of these platforms are extremely obscure, so say N if unsure.
505
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800506config PCI_DOMAINS
507 def_bool PCI if SPARC64
508
Matthew Wilcox36e23592007-07-10 10:54:40 -0600509config PCI_SYSCALL
510 def_bool PCI
511
Linus Torvalds1da177e2005-04-16 15:20:36 -0700512source "drivers/pci/Kconfig"
513
David S. Millerc6afec52008-11-23 21:50:16 -0800514source "drivers/pcmcia/Kconfig"
515
Linus Torvalds1da177e2005-04-16 15:20:36 -0700516config SUN_OPENPROMFS
517 tristate "Openprom tree appears in /proc/openprom"
518 help
519 If you say Y, the OpenPROM device tree will be available as a
520 virtual file system, which you can mount to /proc/openprom by "mount
521 -t openpromfs none /proc/openprom".
522
523 To compile the /proc/openprom support as a module, choose M here: the
524 module will be called openpromfs.
525
526 Only choose N if you know in advance that you will not need to modify
527 OpenPROM settings on the running system.
528
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800529# Makefile helpers
530config SPARC32_PCI
531 bool
532 default y
533 depends on SPARC32 && PCI
534
535config SPARC64_PCI
536 bool
537 default y
538 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700539
540endmenu
541
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800542menu "Executable file formats"
543
544source "fs/Kconfig.binfmt"
545
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800546config COMPAT
547 bool
548 depends on SPARC64
549 default y
550 select COMPAT_BINFMT_ELF
551
552config SYSVIPC_COMPAT
553 bool
554 depends on COMPAT && SYSVIPC
555 default y
556
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800557endmenu
558
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700559source "net/Kconfig"
560
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700561source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700562
Linus Torvalds1da177e2005-04-16 15:20:36 -0700563source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700564
Linus Torvalds1da177e2005-04-16 15:20:36 -0700565source "fs/Kconfig"
566
Linus Torvalds1da177e2005-04-16 15:20:36 -0700567source "arch/sparc/Kconfig.debug"
568
569source "security/Kconfig"
570
571source "crypto/Kconfig"
572
573source "lib/Kconfig"