]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/sparc/Kconfig
ee5eacc5a6499c8d3cf856ca6ae02307ebbf69a2
[mirror_ubuntu-artful-kernel.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 SYSCTL_EXCEPTION_TRACE
22 select ARCH_WANT_OPTIONAL_GPIOLIB
23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
24 select RTC_CLASS
25 select RTC_DRV_M48T59
26 select HAVE_DMA_ATTRS
27 select HAVE_DMA_API_DEBUG
28 select HAVE_ARCH_JUMP_LABEL
29 select HAVE_GENERIC_HARDIRQS
30 select GENERIC_IRQ_SHOW
31 select ARCH_WANT_IPC_PARSE_VERSION
32 select USE_GENERIC_SMP_HELPERS if SMP
33 select GENERIC_PCI_IOMAP
34 select HAVE_NMI_WATCHDOG if SPARC64
35 select HAVE_BPF_JIT
36 select HAVE_DEBUG_BUGVERBOSE
37 select GENERIC_SMP_IDLE_THREAD
38 select GENERIC_CMOS_UPDATE
39 select GENERIC_CLOCKEVENTS
40 select GENERIC_IDLE_LOOP
41 select GENERIC_STRNCPY_FROM_USER
42 select GENERIC_STRNLEN_USER
43 select MODULES_USE_ELF_RELA
44 select ODD_RT_SIGACTION
45 select OLD_SIGSUSPEND
46
47 config SPARC32
48 def_bool !64BIT
49 select GENERIC_ATOMIC64
50 select CLZ_TAB
51 select HAVE_UID16
52 select OLD_SIGACTION
53
54 config SPARC64
55 def_bool 64BIT
56 select ARCH_SUPPORTS_MSI
57 select HAVE_FUNCTION_TRACER
58 select HAVE_FUNCTION_GRAPH_TRACER
59 select HAVE_FUNCTION_GRAPH_FP_TEST
60 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
61 select HAVE_KRETPROBES
62 select HAVE_KPROBES
63 select HAVE_RCU_TABLE_FREE if SMP
64 select HAVE_MEMBLOCK
65 select HAVE_MEMBLOCK_NODE_MAP
66 select HAVE_SYSCALL_WRAPPERS
67 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
68 select HAVE_DYNAMIC_FTRACE
69 select HAVE_FTRACE_MCOUNT_RECORD
70 select HAVE_SYSCALL_TRACEPOINTS
71 select HAVE_DEBUG_KMEMLEAK
72 select RTC_DRV_CMOS
73 select RTC_DRV_BQ4802
74 select RTC_DRV_SUN4V
75 select RTC_DRV_STARFIRE
76 select HAVE_PERF_EVENTS
77 select PERF_USE_VMALLOC
78 select IRQ_PREFLOW_FASTEOI
79 select ARCH_HAVE_NMI_SAFE_CMPXCHG
80 select HAVE_C_RECORDMCOUNT
81 select NO_BOOTMEM
82
83 config ARCH_DEFCONFIG
84 string
85 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
86 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
87
88 config IOMMU_HELPER
89 bool
90 default y if SPARC64
91
92 config STACKTRACE_SUPPORT
93 bool
94 default y if SPARC64
95
96 config LOCKDEP_SUPPORT
97 bool
98 default y if SPARC64
99
100 config HAVE_LATENCYTOP_SUPPORT
101 bool
102 default y if SPARC64
103
104 config AUDIT_ARCH
105 bool
106 default y
107
108 config HAVE_SETUP_PER_CPU_AREA
109 def_bool y if SPARC64
110
111 config NEED_PER_CPU_EMBED_FIRST_CHUNK
112 def_bool y if SPARC64
113
114 config NEED_PER_CPU_PAGE_FIRST_CHUNK
115 def_bool y if SPARC64
116
117 config MMU
118 bool
119 default y
120
121 config HIGHMEM
122 bool
123 default y if SPARC32
124
125 config ZONE_DMA
126 bool
127 default y if SPARC32
128
129 config NEED_DMA_MAP_STATE
130 def_bool y
131
132 config NEED_SG_DMA_LENGTH
133 def_bool y
134
135 config GENERIC_ISA_DMA
136 bool
137 default y if SPARC32
138
139 config GENERIC_GPIO
140 bool
141 help
142 Generic GPIO API support
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"
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_HWEIGHT
194 bool
195 default y
196
197 config GENERIC_CALIBRATE_DELAY
198 bool
199 default y
200
201 config ARCH_MAY_HAVE_PC_FDC
202 bool
203 default y
204
205 config EMULATED_CMPXCHG
206 bool
207 default y if SPARC32
208 help
209 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
210 is emulated, and therefore it is not completely atomic.
211
212 # Makefile helpers
213 config SPARC32_SMP
214 bool
215 default y
216 depends on SPARC32 && SMP
217
218 config SPARC64_SMP
219 bool
220 default y
221 depends on SPARC64 && SMP
222
223 config EARLYFB
224 bool "Support for early boot text console"
225 default y
226 depends on SPARC64
227 help
228 Say Y here to enable a faster early framebuffer boot console.
229
230 config SECCOMP
231 bool "Enable seccomp to safely compute untrusted bytecode"
232 depends on SPARC64 && PROC_FS
233 default y
234 help
235 This kernel feature is useful for number crunching applications
236 that may need to compute untrusted bytecode during their
237 execution. By using pipes or other transports made available to
238 the process as file descriptors supporting the read/write
239 syscalls, it's possible to isolate those applications in
240 their own address space using seccomp. Once seccomp is
241 enabled via /proc/<pid>/seccomp, it cannot be disabled
242 and the task is only allowed to execute a few safe syscalls
243 defined by each seccomp mode.
244
245 If unsure, say Y. Only embedded should say N here.
246
247 config HOTPLUG_CPU
248 bool "Support for hot-pluggable CPUs"
249 depends on SPARC64 && SMP
250 select HOTPLUG
251 help
252 Say Y here to experiment with turning CPUs off and on. CPUs
253 can be controlled through /sys/devices/system/cpu/cpu#.
254 Say N if you want to disable CPU hotplug.
255
256 if SPARC64
257 source "drivers/cpufreq/Kconfig"
258
259 config US3_FREQ
260 tristate "UltraSPARC-III CPU Frequency driver"
261 depends on CPU_FREQ
262 select CPU_FREQ_TABLE
263 help
264 This adds the CPUFreq driver for UltraSPARC-III processors.
265
266 For details, take a look at <file:Documentation/cpu-freq>.
267
268 If in doubt, say N.
269
270 config US2E_FREQ
271 tristate "UltraSPARC-IIe CPU Frequency driver"
272 depends on CPU_FREQ
273 select CPU_FREQ_TABLE
274 help
275 This adds the CPUFreq driver for UltraSPARC-IIe processors.
276
277 For details, take a look at <file:Documentation/cpu-freq>.
278
279 If in doubt, say N.
280
281 endif
282
283 config US3_MC
284 tristate "UltraSPARC-III Memory Controller driver"
285 depends on SPARC64
286 default y
287 help
288 This adds a driver for the UltraSPARC-III memory controller.
289 Loading this driver allows exact mnemonic strings to be
290 printed in the event of a memory error, so that the faulty DIMM
291 on the motherboard can be matched to the error.
292
293 If in doubt, say Y, as this information can be very useful.
294
295 # Global things across all Sun machines.
296 config GENERIC_LOCKBREAK
297 bool
298 default y
299 depends on SPARC64 && SMP && PREEMPT
300
301 config NUMA
302 bool "NUMA support"
303 depends on SPARC64 && SMP
304
305 config NODES_SHIFT
306 int
307 default "4"
308 depends on NEED_MULTIPLE_NODES
309
310 # Some NUMA nodes have memory ranges that span
311 # other nodes. Even though a pfn is valid and
312 # between a node's start and end pfns, it may not
313 # reside on that node. See memmap_init_zone()
314 # for details.
315 config NODES_SPAN_OTHER_NODES
316 def_bool y
317 depends on NEED_MULTIPLE_NODES
318
319 config ARCH_SELECT_MEMORY_MODEL
320 def_bool y if SPARC64
321
322 config ARCH_SPARSEMEM_ENABLE
323 def_bool y if SPARC64
324 select SPARSEMEM_VMEMMAP_ENABLE
325
326 config ARCH_SPARSEMEM_DEFAULT
327 def_bool y if SPARC64
328
329 source "mm/Kconfig"
330
331 config SCHED_SMT
332 bool "SMT (Hyperthreading) scheduler support"
333 depends on SPARC64 && SMP
334 default y
335 help
336 SMT scheduler support improves the CPU scheduler's decision making
337 when dealing with SPARC cpus at a cost of slightly increased overhead
338 in some places. If unsure say N here.
339
340 config SCHED_MC
341 bool "Multi-core scheduler support"
342 depends on SPARC64 && SMP
343 default y
344 help
345 Multi-core scheduler support improves the CPU scheduler's decision
346 making when dealing with multi-core CPU chips at a cost of slightly
347 increased overhead in some places. If unsure say N here.
348
349 source "kernel/Kconfig.preempt"
350
351 config CMDLINE_BOOL
352 bool "Default bootloader kernel arguments"
353 depends on SPARC64
354
355 config CMDLINE
356 string "Initial kernel command string"
357 depends on CMDLINE_BOOL
358 default "console=ttyS0,9600 root=/dev/sda1"
359 help
360 Say Y here if you want to be able to pass default arguments to
361 the kernel. This will be overridden by the bootloader, if you
362 use one (such as SILO). This is most useful if you want to boot
363 a kernel from TFTP, and want default options to be available
364 with having them passed on the command line.
365
366 NOTE: This option WILL override the PROM bootargs setting!
367
368 config SUN_PM
369 bool
370 default y if SPARC32
371 help
372 Enable power management and CPU standby features on supported
373 SPARC platforms.
374
375 config SPARC_LED
376 tristate "Sun4m LED driver"
377 depends on SPARC32
378 help
379 This driver toggles the front-panel LED on sun4m systems
380 in a user-specifiable manner. Its state can be probed
381 by reading /proc/led and its blinking mode can be changed
382 via writes to /proc/led
383
384 config SERIAL_CONSOLE
385 bool
386 depends on SPARC32
387 default y
388 ---help---
389 If you say Y here, it will be possible to use a serial port as the
390 system console (the system console is the device which receives all
391 kernel messages and warnings and which allows logins in single user
392 mode). This could be useful if some terminal or printer is connected
393 to that serial port.
394
395 Even if you say Y here, the currently visible virtual console
396 (/dev/tty0) will still be used as the system console by default, but
397 you can alter that using a kernel command line option such as
398 "console=ttyS1". (Try "man bootparam" or see the documentation of
399 your boot loader (silo) about how to pass options to the kernel at
400 boot time.)
401
402 If you don't have a graphics card installed and you say Y here, the
403 kernel will automatically use the first serial line, /dev/ttyS0, as
404 system console.
405
406 If unsure, say N.
407
408 config SPARC_LEON
409 bool "Sparc Leon processor family"
410 depends on SPARC32
411 ---help---
412 If you say Y here if you are running on a SPARC-LEON processor.
413 The LEON processor is a synthesizable VHDL model of the
414 SPARC-v8 standard. LEON is part of the GRLIB collection of
415 IP cores that are distributed under GPL. GRLIB can be downloaded
416 from www.gaisler.com. You can download a sparc-linux cross-compilation
417 toolchain at www.gaisler.com.
418
419 if SPARC_LEON
420 menu "U-Boot options"
421
422 config UBOOT_LOAD_ADDR
423 hex "uImage Load Address"
424 default 0x40004000
425 ---help---
426 U-Boot kernel load address, the address in physical address space
427 where u-boot will place the Linux kernel before booting it.
428 This address is normally the base address of main memory + 0x4000.
429
430 config UBOOT_FLASH_ADDR
431 hex "uImage.o Load Address"
432 default 0x00080000
433 ---help---
434 Optional setting only affecting the uImage.o ELF-image used to
435 download the uImage file to the target using a ELF-loader other than
436 U-Boot. It may for example be used to download an uImage to FLASH with
437 the GRMON utility before even starting u-boot.
438
439 config UBOOT_ENTRY_ADDR
440 hex "uImage Entry Address"
441 default 0xf0004000
442 ---help---
443 Do not change this unless you know what you're doing. This is
444 hardcoded by the SPARC32 and LEON port.
445
446 This is the virtual address u-boot jumps to when booting the Linux
447 Kernel.
448
449 endmenu
450 endif
451
452 endmenu
453
454 menu "Bus options (PCI etc.)"
455 config SBUS
456 bool
457 default y
458
459 config SBUSCHAR
460 bool
461 default y
462
463 config SUN_LDOMS
464 bool "Sun Logical Domains support"
465 depends on SPARC64
466 help
467 Say Y here is you want to support virtual devices via
468 Logical Domains.
469
470 config PCI
471 bool "Support for PCI and PS/2 keyboard/mouse"
472 help
473 Find out whether your system includes a PCI bus. PCI is the name of
474 a bus system, i.e. the way the CPU talks to the other stuff inside
475 your box. If you say Y here, the kernel will include drivers and
476 infrastructure code to support PCI bus devices.
477
478 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
479 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
480 All of these platforms are extremely obscure, so say N if unsure.
481
482 config PCI_DOMAINS
483 def_bool PCI if SPARC64
484
485 config PCI_SYSCALL
486 def_bool PCI
487
488 config PCIC_PCI
489 bool
490 depends on PCI && SPARC32 && !SPARC_LEON
491 default y
492
493 config LEON_PCI
494 bool
495 depends on PCI && SPARC_LEON
496 default y
497
498 config GRPCI2
499 bool "GRPCI2 Host Bridge Support"
500 depends on LEON_PCI
501 default y
502 help
503 Say Y here to include the GRPCI2 Host Bridge Driver.
504
505 source "drivers/pci/Kconfig"
506
507 source "drivers/pcmcia/Kconfig"
508
509 config SUN_OPENPROMFS
510 tristate "Openprom tree appears in /proc/openprom"
511 help
512 If you say Y, the OpenPROM device tree will be available as a
513 virtual file system, which you can mount to /proc/openprom by "mount
514 -t openpromfs none /proc/openprom".
515
516 To compile the /proc/openprom support as a module, choose M here: the
517 module will be called openpromfs.
518
519 Only choose N if you know in advance that you will not need to modify
520 OpenPROM settings on the running system.
521
522 # Makefile helper
523 config SPARC64_PCI
524 bool
525 default y
526 depends on SPARC64 && PCI
527
528 endmenu
529
530 menu "Executable file formats"
531
532 source "fs/Kconfig.binfmt"
533
534 config COMPAT
535 bool
536 depends on SPARC64
537 default y
538 select COMPAT_BINFMT_ELF
539 select HAVE_UID16
540 select ARCH_WANT_OLD_COMPAT_IPC
541 select COMPAT_OLD_SIGACTION
542
543 config SYSVIPC_COMPAT
544 bool
545 depends on COMPAT && SYSVIPC
546 default y
547
548 config KEYS_COMPAT
549 def_bool y if COMPAT && KEYS
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"