blob: cd8c585a6b02a96f923b62ecc206e3dd178ae31e [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
Sam Ravnborg35da3e32008-11-15 13:40:12 -08007config SPARC
8 bool
9 default y
10 select HAVE_IDE
11 select HAVE_OPROFILE
Sam Ravnborg26b4c912008-11-16 20:01:17 -080012 select HAVE_ARCH_KGDB if !SMP || SPARC64
Sam Ravnborg35da3e32008-11-15 13:40:12 -080013 select HAVE_ARCH_TRACEHOOK
14 select ARCH_WANT_OPTIONAL_GPIOLIB
15 select RTC_CLASS
16 select RTC_DRV_M48T59
17
18# Identify this as a Sparc32 build
19config SPARC32
20 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -080021 default y if ARCH = "sparc"
Sam Ravnborg35da3e32008-11-15 13:40:12 -080022 help
23 SPARC is a family of RISC microprocessors designed and marketed by
24 Sun Microsystems, incorporated. They are very widely found in Sun
25 workstations and clones. This port covers the original 32-bit SPARC;
26 it is old and stable and usually considered one of the "big three"
27 along with the Intel and Alpha ports. The UltraLinux project
28 maintains both the SPARC32 and SPARC64 ports; its web page is
29 available at <http://www.ultralinux.org/>.
30
Sam Ravnborg26b4c912008-11-16 20:01:17 -080031config SPARC64
32 bool
33 default y if ARCH = "sparc64"
34 select HAVE_FUNCTION_TRACER
35 select HAVE_KRETPROBES
36 select HAVE_KPROBES
37 select HAVE_LMB
38 select USE_GENERIC_SMP_HELPERS if SMP
39 select RTC_DRV_CMOS
40 select RTC_DRV_BQ4802
41 select RTC_DRV_SUN4V
42 select RTC_DRV_STARFIRE
43
Sam Ravnborg5e538792008-12-02 23:17:12 -080044config ARCH_DEFCONFIG
45 string
46 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
47 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
48
Sam Ravnborgfe6875e2008-12-26 15:35:16 -080049# CONFIG_BITS can be used at source level to get 32/64 bits
50config BITS
51 int
52 default 32 if SPARC32
53 default 64 if SPARC64
Sam Ravnborg5e538792008-12-02 23:17:12 -080054
Sam Ravnborg26b4c912008-11-16 20:01:17 -080055config 64BIT
56 def_bool y if SPARC64
57
58config GENERIC_TIME
59 bool
60 default y if SPARC64
61
62config GENERIC_CMOS_UPDATE
63 bool
64 default y if SPARC64
65
66config GENERIC_CLOCKEVENTS
67 bool
68 default y if SPARC64
69
70config IOMMU_HELPER
71 bool
72 default y if SPARC64
73
74config QUICKLIST
75 bool
76 default y if SPARC64
77
78config STACKTRACE_SUPPORT
79 bool
80 default y if SPARC64
81
82config LOCKDEP_SUPPORT
83 bool
84 default y if SPARC64
85
David S. Miller6a5726d2008-11-28 01:19:41 -080086config HAVE_LATENCYTOP_SUPPORT
87 bool
88 default y if SPARC64
89
Sam Ravnborg26b4c912008-11-16 20:01:17 -080090config AUDIT_ARCH
91 bool
David S. Miller7e7e93a2008-12-05 22:18:40 -080092 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -080093
94config HAVE_SETUP_PER_CPU_AREA
95 def_bool y if SPARC64
96
97config GENERIC_HARDIRQS_NO__DO_IRQ
98 bool
99 def_bool y if SPARC64
100
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101config MMU
102 bool
103 default y
104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105config HIGHMEM
106 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800107 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800109config ZONE_DMA
110 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800111 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800112
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113config GENERIC_ISA_DMA
114 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800115 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700116
David S. Miller15df0f32008-08-20 23:03:24 -0700117config GENERIC_GPIO
118 bool
119 help
120 Generic GPIO API support
121
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700122config ARCH_NO_VIRT_TO_BUS
123 def_bool y
124
Stephen Rothwell97e873e2007-05-01 16:26:07 +1000125config OF
126 def_bool y
127
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128source "init/Kconfig"
129
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700130source "kernel/Kconfig.freezer"
131
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800132menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134config SMP
135 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136 ---help---
137 This enables support for systems with more than one CPU. If you have
138 a system with only one CPU, say N. If you have a system with more
139 than one CPU, say Y.
140
141 If you say N here, the kernel will run on single and multiprocessor
142 machines, but will use only one CPU of a multiprocessor machine. If
143 you say Y here, the kernel will run on many, but not all,
144 singleprocessor machines. On a singleprocessor machine, the kernel
145 will run faster if you say N here.
146
147 People using multiprocessor machines who say Y here should also say
148 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
149 Management" code will be disabled if you say Y here.
150
Adrian Bunk03502fa2008-02-03 15:50:21 +0200151 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
152 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153
154 If you don't know what to do here, say N.
155
156config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800157 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800159 range 2 32 if SPARC32
160 range 2 1024 if SPARC64
161 default 32 if SPARC32
162 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800164source kernel/Kconfig.hz
165
166config RWSEM_GENERIC_SPINLOCK
167 bool
168 default y if SPARC32
169
170config RWSEM_XCHGADD_ALGORITHM
171 bool
172 default y if SPARC64
173
174config GENERIC_FIND_NEXT_BIT
175 bool
176 default y
177
178config GENERIC_HWEIGHT
179 bool
180 default y if !ULTRA_HAS_POPULATION_COUNT
181
182config GENERIC_CALIBRATE_DELAY
183 bool
184 default y
185
186config ARCH_MAY_HAVE_PC_FDC
187 bool
188 default y
189
190config ARCH_HAS_ILOG2_U32
191 bool
192 default n
193
194config ARCH_HAS_ILOG2_U64
195 bool
196 default n
197
198config EMULATED_CMPXCHG
199 bool
200 default y if SPARC32
201 help
202 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
203 is emulated, and therefore it is not completely atomic.
204
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800205# Makefile helpers
206config SPARC32_SMP
207 bool
208 default y
209 depends on SPARC32 && SMP
210
211config SPARC64_SMP
212 bool
213 default y
214 depends on SPARC64 && SMP
215
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800216choice
217 prompt "Kernel page size" if SPARC64
218 default SPARC64_PAGE_SIZE_8KB
219
220config SPARC64_PAGE_SIZE_8KB
221 bool "8KB"
222 help
223 This lets you select the page size of the kernel.
224
225 8KB and 64KB work quite well, since SPARC ELF sections
226 provide for up to 64KB alignment.
227
228 If you don't know what to do, choose 8KB.
229
230config SPARC64_PAGE_SIZE_64KB
231 bool "64KB"
232
233endchoice
234
235config SECCOMP
236 bool "Enable seccomp to safely compute untrusted bytecode"
237 depends on SPARC64 && PROC_FS
238 default y
239 help
240 This kernel feature is useful for number crunching applications
241 that may need to compute untrusted bytecode during their
242 execution. By using pipes or other transports made available to
243 the process as file descriptors supporting the read/write
244 syscalls, it's possible to isolate those applications in
245 their own address space using seccomp. Once seccomp is
246 enabled via /proc/<pid>/seccomp, it cannot be disabled
247 and the task is only allowed to execute a few safe syscalls
248 defined by each seccomp mode.
249
250 If unsure, say Y. Only embedded should say N here.
251
252config HOTPLUG_CPU
253 bool "Support for hot-pluggable CPUs"
254 depends on SPARC64 && SMP
255 select HOTPLUG
256 help
257 Say Y here to experiment with turning CPUs off and on. CPUs
258 can be controlled through /sys/devices/system/cpu/cpu#.
259 Say N if you want to disable CPU hotplug.
260
261config GENERIC_HARDIRQS
262 bool
263 default y if SPARC64
264
265source "kernel/time/Kconfig"
266
267if SPARC64
268source "drivers/cpufreq/Kconfig"
269
270config US3_FREQ
271 tristate "UltraSPARC-III CPU Frequency driver"
272 depends on CPU_FREQ
273 select CPU_FREQ_TABLE
274 help
275 This adds the CPUFreq driver for UltraSPARC-III processors.
276
277 For details, take a look at <file:Documentation/cpu-freq>.
278
279 If in doubt, say N.
280
281config US2E_FREQ
282 tristate "UltraSPARC-IIe CPU Frequency driver"
283 depends on CPU_FREQ
284 select CPU_FREQ_TABLE
285 help
286 This adds the CPUFreq driver for UltraSPARC-IIe processors.
287
288 For details, take a look at <file:Documentation/cpu-freq>.
289
290 If in doubt, say N.
291
292endif
293
294config US3_MC
295 tristate "UltraSPARC-III Memory Controller driver"
296 depends on SPARC64
297 default y
298 help
299 This adds a driver for the UltraSPARC-III memory controller.
300 Loading this driver allows exact mnemonic strings to be
301 printed in the event of a memory error, so that the faulty DIMM
302 on the motherboard can be matched to the error.
303
304 If in doubt, say Y, as this information can be very useful.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305
306# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800307config GENERIC_LOCKBREAK
308 bool
309 default y
310 depends on SPARC64 && SMP && PREEMPT
311
312choice
313 prompt "SPARC64 Huge TLB Page Size"
314 depends on SPARC64 && HUGETLB_PAGE
315 default HUGETLB_PAGE_SIZE_4MB
316
317config HUGETLB_PAGE_SIZE_4MB
318 bool "4MB"
319
320config HUGETLB_PAGE_SIZE_512K
321 bool "512K"
322
323config HUGETLB_PAGE_SIZE_64K
324 depends on !SPARC64_PAGE_SIZE_64KB
325 bool "64K"
326
327endchoice
328
329config NUMA
330 bool "NUMA support"
331 depends on SPARC64 && SMP
332
333config NODES_SHIFT
334 int
335 default "4"
336 depends on NEED_MULTIPLE_NODES
337
338# Some NUMA nodes have memory ranges that span
339# other nodes. Even though a pfn is valid and
340# between a node's start and end pfns, it may not
341# reside on that node. See memmap_init_zone()
342# for details.
343config NODES_SPAN_OTHER_NODES
344 def_bool y
345 depends on NEED_MULTIPLE_NODES
346
347config ARCH_POPULATES_NODE_MAP
348 def_bool y if SPARC64
349
350config ARCH_SELECT_MEMORY_MODEL
351 def_bool y if SPARC64
352
353config ARCH_SPARSEMEM_ENABLE
354 def_bool y if SPARC64
355 select SPARSEMEM_VMEMMAP_ENABLE
356
357config ARCH_SPARSEMEM_DEFAULT
358 def_bool y if SPARC64
359
360source "mm/Kconfig"
361
362config SCHED_SMT
363 bool "SMT (Hyperthreading) scheduler support"
364 depends on SPARC64 && SMP
365 default y
366 help
367 SMT scheduler support improves the CPU scheduler's decision making
368 when dealing with SPARC cpus at a cost of slightly increased overhead
369 in some places. If unsure say N here.
370
371config SCHED_MC
372 bool "Multi-core scheduler support"
373 depends on SPARC64 && SMP
374 default y
375 help
376 Multi-core scheduler support improves the CPU scheduler's decision
377 making when dealing with multi-core CPU chips at a cost of slightly
378 increased overhead in some places. If unsure say N here.
379
380if SPARC64
381source "kernel/Kconfig.preempt"
382endif
383
384config CMDLINE_BOOL
385 bool "Default bootloader kernel arguments"
386 depends on SPARC64
387
388config CMDLINE
389 string "Initial kernel command string"
390 depends on CMDLINE_BOOL
391 default "console=ttyS0,9600 root=/dev/sda1"
392 help
393 Say Y here if you want to be able to pass default arguments to
394 the kernel. This will be overridden by the bootloader, if you
395 use one (such as SILO). This is most useful if you want to boot
396 a kernel from TFTP, and want default options to be available
397 with having them passed on the command line.
398
399 NOTE: This option WILL override the PROM bootargs setting!
400
401config SUN_PM
402 bool
403 default y if SPARC32
404 help
405 Enable power management and CPU standby features on supported
406 SPARC platforms.
407
408config SPARC_LED
409 tristate "Sun4m LED driver"
410 depends on SPARC32
411 help
412 This driver toggles the front-panel LED on sun4m systems
413 in a user-specifiable manner. Its state can be probed
414 by reading /proc/led and its blinking mode can be changed
415 via writes to /proc/led
416
Linus Torvalds1da177e2005-04-16 15:20:36 -0700417config SERIAL_CONSOLE
418 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800419 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700420 default y
421 ---help---
422 If you say Y here, it will be possible to use a serial port as the
423 system console (the system console is the device which receives all
424 kernel messages and warnings and which allows logins in single user
425 mode). This could be useful if some terminal or printer is connected
426 to that serial port.
427
428 Even if you say Y here, the currently visible virtual console
429 (/dev/tty0) will still be used as the system console by default, but
430 you can alter that using a kernel command line option such as
431 "console=ttyS1". (Try "man bootparam" or see the documentation of
432 your boot loader (silo) about how to pass options to the kernel at
433 boot time.)
434
435 If you don't have a graphics card installed and you say Y here, the
436 kernel will automatically use the first serial line, /dev/ttyS0, as
437 system console.
438
439 If unsure, say N.
440
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800441endmenu
442
443menu "Bus options (PCI etc.)"
444config ISA
445 bool
446 help
447 ISA is found on Espresso only and is not supported currently.
448
449config ISAPNP
450 bool
451 help
452 ISAPNP is not supported
453
454config EISA
455 bool
456 help
457 EISA is not supported.
458
459config MCA
460 bool
461 help
462 MCA is not supported.
463
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800464config SBUS
465 bool
466 default y
467
468config SBUSCHAR
469 bool
470 default y
471
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800472config SUN_IO
473 bool
474 default y
475
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800476config SUN_LDOMS
477 bool "Sun Logical Domains support"
478 depends on SPARC64
479 help
480 Say Y here is you want to support virtual devices via
481 Logical Domains.
482
Linus Torvalds1da177e2005-04-16 15:20:36 -0700483config PCI
484 bool "Support for PCI and PS/2 keyboard/mouse"
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800485 select ARCH_SUPPORTS_MSI if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700486 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800487 Find out whether your system includes a PCI bus. PCI is the name of
488 a bus system, i.e. the way the CPU talks to the other stuff inside
489 your box. If you say Y here, the kernel will include drivers and
490 infrastructure code to support PCI bus devices.
491
Linus Torvalds1da177e2005-04-16 15:20:36 -0700492 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
493 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
494 All of these platforms are extremely obscure, so say N if unsure.
495
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800496config PCI_DOMAINS
497 def_bool PCI if SPARC64
498
Matthew Wilcox36e23592007-07-10 10:54:40 -0600499config PCI_SYSCALL
500 def_bool PCI
501
Linus Torvalds1da177e2005-04-16 15:20:36 -0700502source "drivers/pci/Kconfig"
503
David S. Millerc6afec52008-11-23 21:50:16 -0800504source "drivers/pcmcia/Kconfig"
505
Linus Torvalds1da177e2005-04-16 15:20:36 -0700506config SUN_OPENPROMFS
507 tristate "Openprom tree appears in /proc/openprom"
508 help
509 If you say Y, the OpenPROM device tree will be available as a
510 virtual file system, which you can mount to /proc/openprom by "mount
511 -t openpromfs none /proc/openprom".
512
513 To compile the /proc/openprom support as a module, choose M here: the
514 module will be called openpromfs.
515
516 Only choose N if you know in advance that you will not need to modify
517 OpenPROM settings on the running system.
518
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800519# Makefile helpers
520config SPARC32_PCI
521 bool
522 default y
523 depends on SPARC32 && PCI
524
525config SPARC64_PCI
526 bool
527 default y
528 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700529
530endmenu
531
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800532menu "Executable file formats"
533
534source "fs/Kconfig.binfmt"
535
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800536config COMPAT
537 bool
538 depends on SPARC64
539 default y
540 select COMPAT_BINFMT_ELF
541
542config SYSVIPC_COMPAT
543 bool
544 depends on COMPAT && SYSVIPC
545 default y
546
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800547endmenu
548
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700549source "net/Kconfig"
550
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700551source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700552
Linus Torvalds1da177e2005-04-16 15:20:36 -0700553source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700554
Linus Torvalds1da177e2005-04-16 15:20:36 -0700555source "fs/Kconfig"
556
Linus Torvalds1da177e2005-04-16 15:20:36 -0700557source "arch/sparc/Kconfig.debug"
558
559source "security/Kconfig"
560
561source "crypto/Kconfig"
562
563source "lib/Kconfig"