Merge branches 'sh/pio-death', 'sh/nommu', 'sh/clkfwk', 'sh/core' and 'sh/intc-extens...
[deliverable/linux.git] / arch / sparc / Kconfig
1 config 64BIT
2 bool "64-bit kernel" if ARCH = "sparc"
3 default ARCH = "sparc64"
4 help
5 SPARC is a family of RISC microprocessors designed and marketed by
6 Sun Microsystems, incorporated. They are very widely found in Sun
7 workstations and clones.
8
9 Say yes to build a 64-bit kernel - formerly known as sparc64
10 Say no to build a 32-bit kernel - formerly known as sparc
11
12 config SPARC
13 bool
14 default y
15 select OF
16 select OF_PROMTREE
17 select HAVE_IDE
18 select HAVE_OPROFILE
19 select HAVE_ARCH_KGDB if !SMP || SPARC64
20 select HAVE_ARCH_TRACEHOOK
21 select ARCH_WANT_OPTIONAL_GPIOLIB
22 select RTC_CLASS
23 select RTC_DRV_M48T59
24 select HAVE_IRQ_WORK
25 select HAVE_DMA_ATTRS
26 select HAVE_DMA_API_DEBUG
27 select HAVE_ARCH_JUMP_LABEL
28
29 config SPARC32
30 def_bool !64BIT
31
32 config SPARC64
33 def_bool 64BIT
34 select ARCH_SUPPORTS_MSI
35 select HAVE_FUNCTION_TRACER
36 select HAVE_FUNCTION_GRAPH_TRACER
37 select HAVE_FUNCTION_GRAPH_FP_TEST
38 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
39 select HAVE_KRETPROBES
40 select HAVE_KPROBES
41 select HAVE_MEMBLOCK
42 select HAVE_SYSCALL_WRAPPERS
43 select HAVE_DYNAMIC_FTRACE
44 select HAVE_FTRACE_MCOUNT_RECORD
45 select HAVE_SYSCALL_TRACEPOINTS
46 select USE_GENERIC_SMP_HELPERS if SMP
47 select RTC_DRV_CMOS
48 select RTC_DRV_BQ4802
49 select RTC_DRV_SUN4V
50 select RTC_DRV_STARFIRE
51 select HAVE_PERF_EVENTS
52 select PERF_USE_VMALLOC
53
54 config ARCH_DEFCONFIG
55 string
56 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
57 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
58
59 # CONFIG_BITS can be used at source level to get 32/64 bits
60 config BITS
61 int
62 default 32 if SPARC32
63 default 64 if SPARC64
64
65 config ARCH_USES_GETTIMEOFFSET
66 bool
67 default y if SPARC32
68
69 config GENERIC_CMOS_UPDATE
70 bool
71 default y
72
73 config GENERIC_CLOCKEVENTS
74 bool
75 default y if SPARC64
76
77 config IOMMU_HELPER
78 bool
79 default y if SPARC64
80
81 config QUICKLIST
82 bool
83 default y if SPARC64
84
85 config STACKTRACE_SUPPORT
86 bool
87 default y if SPARC64
88
89 config LOCKDEP_SUPPORT
90 bool
91 default y if SPARC64
92
93 config HAVE_LATENCYTOP_SUPPORT
94 bool
95 default y if SPARC64
96
97 config AUDIT_ARCH
98 bool
99 default y
100
101 config HAVE_SETUP_PER_CPU_AREA
102 def_bool y if SPARC64
103
104 config NEED_PER_CPU_EMBED_FIRST_CHUNK
105 def_bool y if SPARC64
106
107 config NEED_PER_CPU_PAGE_FIRST_CHUNK
108 def_bool y if SPARC64
109
110 config GENERIC_HARDIRQS_NO__DO_IRQ
111 bool
112 def_bool y if SPARC64
113
114 config MMU
115 bool
116 default y
117
118 config HIGHMEM
119 bool
120 default y if SPARC32
121
122 config ZONE_DMA
123 bool
124 default y if SPARC32
125
126 config NEED_DMA_MAP_STATE
127 def_bool y
128
129 config NEED_SG_DMA_LENGTH
130 def_bool y
131
132 config GENERIC_ISA_DMA
133 bool
134 default y if SPARC32
135
136 config GENERIC_GPIO
137 bool
138 help
139 Generic GPIO API support
140
141 config ARCH_NO_VIRT_TO_BUS
142 def_bool y
143
144 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
145 def_bool y if SPARC64
146
147 source "init/Kconfig"
148
149 source "kernel/Kconfig.freezer"
150
151 menu "Processor type and features"
152
153 config SMP
154 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
155 ---help---
156 This enables support for systems with more than one CPU. If you have
157 a system with only one CPU, say N. If you have a system with more
158 than one CPU, say Y.
159
160 If you say N here, the kernel will run on single and multiprocessor
161 machines, but will use only one CPU of a multiprocessor machine. If
162 you say Y here, the kernel will run on many, but not all,
163 singleprocessor machines. On a singleprocessor machine, the kernel
164 will run faster if you say N here.
165
166 People using multiprocessor machines who say Y here should also say
167 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
168 Management" code will be disabled if you say Y here.
169
170 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
171 available at <http://www.tldp.org/docs.html#howto>.
172
173 If you don't know what to do here, say N.
174
175 config NR_CPUS
176 int "Maximum number of CPUs"
177 depends on SMP
178 range 2 32 if SPARC32
179 range 2 1024 if SPARC64
180 default 32 if SPARC32
181 default 64 if SPARC64
182
183 source kernel/Kconfig.hz
184
185 config RWSEM_GENERIC_SPINLOCK
186 bool
187 default y if SPARC32
188
189 config RWSEM_XCHGADD_ALGORITHM
190 bool
191 default y if SPARC64
192
193 config GENERIC_FIND_NEXT_BIT
194 bool
195 default y
196
197 config GENERIC_HWEIGHT
198 bool
199 default y if !ULTRA_HAS_POPULATION_COUNT
200
201 config GENERIC_CALIBRATE_DELAY
202 bool
203 default y
204
205 config ARCH_MAY_HAVE_PC_FDC
206 bool
207 default y
208
209 config EMULATED_CMPXCHG
210 bool
211 default y if SPARC32
212 help
213 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
214 is emulated, and therefore it is not completely atomic.
215
216 # Makefile helpers
217 config SPARC32_SMP
218 bool
219 default y
220 depends on SPARC32 && SMP
221
222 config SPARC64_SMP
223 bool
224 default y
225 depends on SPARC64 && SMP
226
227 config EARLYFB
228 bool "Support for early boot text console"
229 default y
230 depends on SPARC64
231 help
232 Say Y here to enable a faster early framebuffer boot console.
233
234 choice
235 prompt "Kernel page size" if SPARC64
236 default SPARC64_PAGE_SIZE_8KB
237
238 config SPARC64_PAGE_SIZE_8KB
239 bool "8KB"
240 help
241 This lets you select the page size of the kernel.
242
243 8KB and 64KB work quite well, since SPARC ELF sections
244 provide for up to 64KB alignment.
245
246 If you don't know what to do, choose 8KB.
247
248 config SPARC64_PAGE_SIZE_64KB
249 bool "64KB"
250
251 endchoice
252
253 config SECCOMP
254 bool "Enable seccomp to safely compute untrusted bytecode"
255 depends on SPARC64 && PROC_FS
256 default y
257 help
258 This kernel feature is useful for number crunching applications
259 that may need to compute untrusted bytecode during their
260 execution. By using pipes or other transports made available to
261 the process as file descriptors supporting the read/write
262 syscalls, it's possible to isolate those applications in
263 their own address space using seccomp. Once seccomp is
264 enabled via /proc/<pid>/seccomp, it cannot be disabled
265 and the task is only allowed to execute a few safe syscalls
266 defined by each seccomp mode.
267
268 If unsure, say Y. Only embedded should say N here.
269
270 config HOTPLUG_CPU
271 bool "Support for hot-pluggable CPUs"
272 depends on SPARC64 && SMP
273 select HOTPLUG
274 help
275 Say Y here to experiment with turning CPUs off and on. CPUs
276 can be controlled through /sys/devices/system/cpu/cpu#.
277 Say N if you want to disable CPU hotplug.
278
279 config GENERIC_HARDIRQS
280 bool
281 default y if SPARC64
282
283 source "kernel/time/Kconfig"
284
285 if SPARC64
286 source "drivers/cpufreq/Kconfig"
287
288 config US3_FREQ
289 tristate "UltraSPARC-III CPU Frequency driver"
290 depends on CPU_FREQ
291 select CPU_FREQ_TABLE
292 help
293 This adds the CPUFreq driver for UltraSPARC-III processors.
294
295 For details, take a look at <file:Documentation/cpu-freq>.
296
297 If in doubt, say N.
298
299 config US2E_FREQ
300 tristate "UltraSPARC-IIe CPU Frequency driver"
301 depends on CPU_FREQ
302 select CPU_FREQ_TABLE
303 help
304 This adds the CPUFreq driver for UltraSPARC-IIe processors.
305
306 For details, take a look at <file:Documentation/cpu-freq>.
307
308 If in doubt, say N.
309
310 endif
311
312 config US3_MC
313 tristate "UltraSPARC-III Memory Controller driver"
314 depends on SPARC64
315 default y
316 help
317 This adds a driver for the UltraSPARC-III memory controller.
318 Loading this driver allows exact mnemonic strings to be
319 printed in the event of a memory error, so that the faulty DIMM
320 on the motherboard can be matched to the error.
321
322 If in doubt, say Y, as this information can be very useful.
323
324 # Global things across all Sun machines.
325 config GENERIC_LOCKBREAK
326 bool
327 default y
328 depends on SPARC64 && SMP && PREEMPT
329
330 choice
331 prompt "SPARC64 Huge TLB Page Size"
332 depends on SPARC64 && HUGETLB_PAGE
333 default HUGETLB_PAGE_SIZE_4MB
334
335 config HUGETLB_PAGE_SIZE_4MB
336 bool "4MB"
337
338 config HUGETLB_PAGE_SIZE_512K
339 bool "512K"
340
341 config HUGETLB_PAGE_SIZE_64K
342 depends on !SPARC64_PAGE_SIZE_64KB
343 bool "64K"
344
345 endchoice
346
347 config NUMA
348 bool "NUMA support"
349 depends on SPARC64 && SMP
350
351 config NODES_SHIFT
352 int
353 default "4"
354 depends on NEED_MULTIPLE_NODES
355
356 # Some NUMA nodes have memory ranges that span
357 # other nodes. Even though a pfn is valid and
358 # between a node's start and end pfns, it may not
359 # reside on that node. See memmap_init_zone()
360 # for details.
361 config NODES_SPAN_OTHER_NODES
362 def_bool y
363 depends on NEED_MULTIPLE_NODES
364
365 config ARCH_POPULATES_NODE_MAP
366 def_bool y if SPARC64
367
368 config ARCH_SELECT_MEMORY_MODEL
369 def_bool y if SPARC64
370
371 config ARCH_SPARSEMEM_ENABLE
372 def_bool y if SPARC64
373 select SPARSEMEM_VMEMMAP_ENABLE
374
375 config ARCH_SPARSEMEM_DEFAULT
376 def_bool y if SPARC64
377
378 source "mm/Kconfig"
379
380 config SCHED_SMT
381 bool "SMT (Hyperthreading) scheduler support"
382 depends on SPARC64 && SMP
383 default y
384 help
385 SMT scheduler support improves the CPU scheduler's decision making
386 when dealing with SPARC cpus at a cost of slightly increased overhead
387 in some places. If unsure say N here.
388
389 config SCHED_MC
390 bool "Multi-core scheduler support"
391 depends on SPARC64 && SMP
392 default y
393 help
394 Multi-core scheduler support improves the CPU scheduler's decision
395 making when dealing with multi-core CPU chips at a cost of slightly
396 increased overhead in some places. If unsure say N here.
397
398 if SPARC64
399 source "kernel/Kconfig.preempt"
400 endif
401
402 config CMDLINE_BOOL
403 bool "Default bootloader kernel arguments"
404 depends on SPARC64
405
406 config CMDLINE
407 string "Initial kernel command string"
408 depends on CMDLINE_BOOL
409 default "console=ttyS0,9600 root=/dev/sda1"
410 help
411 Say Y here if you want to be able to pass default arguments to
412 the kernel. This will be overridden by the bootloader, if you
413 use one (such as SILO). This is most useful if you want to boot
414 a kernel from TFTP, and want default options to be available
415 with having them passed on the command line.
416
417 NOTE: This option WILL override the PROM bootargs setting!
418
419 config SUN_PM
420 bool
421 default y if SPARC32
422 help
423 Enable power management and CPU standby features on supported
424 SPARC platforms.
425
426 config SPARC_LED
427 tristate "Sun4m LED driver"
428 depends on SPARC32
429 help
430 This driver toggles the front-panel LED on sun4m systems
431 in a user-specifiable manner. Its state can be probed
432 by reading /proc/led and its blinking mode can be changed
433 via writes to /proc/led
434
435 config SERIAL_CONSOLE
436 bool
437 depends on SPARC32
438 default y
439 ---help---
440 If you say Y here, it will be possible to use a serial port as the
441 system console (the system console is the device which receives all
442 kernel messages and warnings and which allows logins in single user
443 mode). This could be useful if some terminal or printer is connected
444 to that serial port.
445
446 Even if you say Y here, the currently visible virtual console
447 (/dev/tty0) will still be used as the system console by default, but
448 you can alter that using a kernel command line option such as
449 "console=ttyS1". (Try "man bootparam" or see the documentation of
450 your boot loader (silo) about how to pass options to the kernel at
451 boot time.)
452
453 If you don't have a graphics card installed and you say Y here, the
454 kernel will automatically use the first serial line, /dev/ttyS0, as
455 system console.
456
457 If unsure, say N.
458
459 config SPARC_LEON
460 bool "Sparc Leon processor family"
461 depends on SPARC32
462 ---help---
463 If you say Y here if you are running on a SPARC-LEON processor.
464 The LEON processor is a synthesizable VHDL model of the
465 SPARC-v8 standard. LEON is part of the GRLIB collection of
466 IP cores that are distributed under GPL. GRLIB can be downloaded
467 from www.gaisler.com. You can download a sparc-linux cross-compilation
468 toolchain at www.gaisler.com.
469
470 endmenu
471
472 menu "Bus options (PCI etc.)"
473 config SBUS
474 bool
475 default y
476
477 config SBUSCHAR
478 bool
479 default y
480
481 config SUN_LDOMS
482 bool "Sun Logical Domains support"
483 depends on SPARC64
484 help
485 Say Y here is you want to support virtual devices via
486 Logical Domains.
487
488 config PCI
489 bool "Support for PCI and PS/2 keyboard/mouse"
490 help
491 Find out whether your system includes a PCI bus. PCI is the name of
492 a bus system, i.e. the way the CPU talks to the other stuff inside
493 your box. If you say Y here, the kernel will include drivers and
494 infrastructure code to support PCI bus devices.
495
496 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
497 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
498 All of these platforms are extremely obscure, so say N if unsure.
499
500 config PCI_DOMAINS
501 def_bool PCI if SPARC64
502
503 config PCI_SYSCALL
504 def_bool PCI
505
506 source "drivers/pci/Kconfig"
507
508 source "drivers/pcmcia/Kconfig"
509
510 config SUN_OPENPROMFS
511 tristate "Openprom tree appears in /proc/openprom"
512 help
513 If you say Y, the OpenPROM device tree will be available as a
514 virtual file system, which you can mount to /proc/openprom by "mount
515 -t openpromfs none /proc/openprom".
516
517 To compile the /proc/openprom support as a module, choose M here: the
518 module will be called openpromfs.
519
520 Only choose N if you know in advance that you will not need to modify
521 OpenPROM settings on the running system.
522
523 # Makefile helpers
524 config SPARC32_PCI
525 bool
526 default y
527 depends on SPARC32 && PCI
528
529 config SPARC64_PCI
530 bool
531 default y
532 depends on SPARC64 && PCI
533
534 endmenu
535
536 menu "Executable file formats"
537
538 source "fs/Kconfig.binfmt"
539
540 config COMPAT
541 bool
542 depends on SPARC64
543 default y
544 select COMPAT_BINFMT_ELF
545
546 config SYSVIPC_COMPAT
547 bool
548 depends on COMPAT && SYSVIPC
549 default y
550
551 endmenu
552
553 source "net/Kconfig"
554
555 source "drivers/Kconfig"
556
557 source "drivers/sbus/char/Kconfig"
558
559 source "fs/Kconfig"
560
561 source "arch/sparc/Kconfig.debug"
562
563 source "security/Kconfig"
564
565 source "crypto/Kconfig"
566
567 source "lib/Kconfig"
This page took 0.046073 seconds and 5 git commands to generate.