Merge branch 'for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
[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 ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
16 select ARCH_MIGHT_HAVE_PC_SERIO
17 select OF
18 select OF_PROMTREE
19 select HAVE_IDE
20 select HAVE_OPROFILE
21 select HAVE_ARCH_KGDB if !SMP || SPARC64
22 select HAVE_ARCH_TRACEHOOK
23 select SYSCTL_EXCEPTION_TRACE
24 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
25 select RTC_CLASS
26 select RTC_DRV_M48T59
27 select RTC_SYSTOHC
28 select HAVE_DMA_API_DEBUG
29 select HAVE_ARCH_JUMP_LABEL if SPARC64
30 select GENERIC_IRQ_SHOW
31 select ARCH_WANT_IPC_PARSE_VERSION
32 select GENERIC_PCI_IOMAP
33 select HAVE_NMI_WATCHDOG if SPARC64
34 select HAVE_CBPF_JIT
35 select HAVE_DEBUG_BUGVERBOSE
36 select GENERIC_SMP_IDLE_THREAD
37 select GENERIC_CLOCKEVENTS
38 select GENERIC_STRNCPY_FROM_USER
39 select GENERIC_STRNLEN_USER
40 select MODULES_USE_ELF_RELA
41 select ODD_RT_SIGACTION
42 select OLD_SIGSUSPEND
43 select ARCH_HAS_SG_CHAIN
44
45 config SPARC32
46 def_bool !64BIT
47 select GENERIC_ATOMIC64
48 select CLZ_TAB
49 select HAVE_UID16
50 select OLD_SIGACTION
51
52 config SPARC64
53 def_bool 64BIT
54 select HAVE_FUNCTION_TRACER
55 select HAVE_FUNCTION_GRAPH_TRACER
56 select HAVE_FUNCTION_GRAPH_FP_TEST
57 select HAVE_KRETPROBES
58 select HAVE_KPROBES
59 select HAVE_RCU_TABLE_FREE if SMP
60 select HAVE_MEMBLOCK
61 select HAVE_MEMBLOCK_NODE_MAP
62 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
63 select HAVE_DYNAMIC_FTRACE
64 select HAVE_FTRACE_MCOUNT_RECORD
65 select HAVE_SYSCALL_TRACEPOINTS
66 select HAVE_CONTEXT_TRACKING
67 select HAVE_DEBUG_KMEMLEAK
68 select SPARSE_IRQ
69 select RTC_DRV_CMOS
70 select RTC_DRV_BQ4802
71 select RTC_DRV_SUN4V
72 select RTC_DRV_STARFIRE
73 select HAVE_PERF_EVENTS
74 select PERF_USE_VMALLOC
75 select IRQ_PREFLOW_FASTEOI
76 select ARCH_HAVE_NMI_SAFE_CMPXCHG
77 select HAVE_C_RECORDMCOUNT
78 select NO_BOOTMEM
79 select HAVE_ARCH_AUDITSYSCALL
80 select ARCH_SUPPORTS_ATOMIC_RMW
81
82 config ARCH_DEFCONFIG
83 string
84 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
85 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
86
87 config ARCH_PROC_KCORE_TEXT
88 def_bool y
89
90 config IOMMU_HELPER
91 bool
92 default y if SPARC64
93
94 config STACKTRACE_SUPPORT
95 bool
96 default y if SPARC64
97
98 config LOCKDEP_SUPPORT
99 bool
100 default y if SPARC64
101
102 config ARCH_HIBERNATION_POSSIBLE
103 def_bool y if SPARC64
104
105 config AUDIT_ARCH
106 bool
107 default y
108
109 config HAVE_SETUP_PER_CPU_AREA
110 def_bool y if SPARC64
111
112 config NEED_PER_CPU_EMBED_FIRST_CHUNK
113 def_bool y if SPARC64
114
115 config NEED_PER_CPU_PAGE_FIRST_CHUNK
116 def_bool y if SPARC64
117
118 config MMU
119 bool
120 default y
121
122 config HIGHMEM
123 bool
124 default y if SPARC32
125
126 config ZONE_DMA
127 bool
128 default y if SPARC32
129
130 config NEED_DMA_MAP_STATE
131 def_bool y
132
133 config NEED_SG_DMA_LENGTH
134 def_bool y
135
136 config GENERIC_ISA_DMA
137 bool
138 default y if SPARC32
139
140 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
141 def_bool y if SPARC64
142
143 config PGTABLE_LEVELS
144 default 4 if 64BIT
145 default 3
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 uni- 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 uniprocessor machines. On a uniprocessor 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 help
251 Say Y here to experiment with turning CPUs off and on. CPUs
252 can be controlled through /sys/devices/system/cpu/cpu#.
253 Say N if you want to disable CPU hotplug.
254
255 if SPARC64
256 source "drivers/cpufreq/Kconfig"
257 endif
258
259 config US3_MC
260 tristate "UltraSPARC-III Memory Controller driver"
261 depends on SPARC64
262 default y
263 help
264 This adds a driver for the UltraSPARC-III memory controller.
265 Loading this driver allows exact mnemonic strings to be
266 printed in the event of a memory error, so that the faulty DIMM
267 on the motherboard can be matched to the error.
268
269 If in doubt, say Y, as this information can be very useful.
270
271 # Global things across all Sun machines.
272 config GENERIC_LOCKBREAK
273 bool
274 default y
275 depends on SPARC64 && SMP && PREEMPT
276
277 config NUMA
278 bool "NUMA support"
279 depends on SPARC64 && SMP
280
281 config NODES_SHIFT
282 int
283 default "4"
284 depends on NEED_MULTIPLE_NODES
285
286 # Some NUMA nodes have memory ranges that span
287 # other nodes. Even though a pfn is valid and
288 # between a node's start and end pfns, it may not
289 # reside on that node. See memmap_init_zone()
290 # for details.
291 config NODES_SPAN_OTHER_NODES
292 def_bool y
293 depends on NEED_MULTIPLE_NODES
294
295 config ARCH_SELECT_MEMORY_MODEL
296 def_bool y if SPARC64
297
298 config ARCH_SPARSEMEM_ENABLE
299 def_bool y if SPARC64
300 select SPARSEMEM_VMEMMAP_ENABLE
301
302 config ARCH_SPARSEMEM_DEFAULT
303 def_bool y if SPARC64
304
305 source "mm/Kconfig"
306
307 if SPARC64
308 source "kernel/power/Kconfig"
309 endif
310
311 config SCHED_SMT
312 bool "SMT (Hyperthreading) scheduler support"
313 depends on SPARC64 && SMP
314 default y
315 help
316 SMT scheduler support improves the CPU scheduler's decision making
317 when dealing with SPARC cpus at a cost of slightly increased overhead
318 in some places. If unsure say N here.
319
320 config SCHED_MC
321 bool "Multi-core scheduler support"
322 depends on SPARC64 && SMP
323 default y
324 help
325 Multi-core scheduler support improves the CPU scheduler's decision
326 making when dealing with multi-core CPU chips at a cost of slightly
327 increased overhead in some places. If unsure say N here.
328
329 source "kernel/Kconfig.preempt"
330
331 config CMDLINE_BOOL
332 bool "Default bootloader kernel arguments"
333 depends on SPARC64
334
335 config CMDLINE
336 string "Initial kernel command string"
337 depends on CMDLINE_BOOL
338 default "console=ttyS0,9600 root=/dev/sda1"
339 help
340 Say Y here if you want to be able to pass default arguments to
341 the kernel. This will be overridden by the bootloader, if you
342 use one (such as SILO). This is most useful if you want to boot
343 a kernel from TFTP, and want default options to be available
344 with having them passed on the command line.
345
346 NOTE: This option WILL override the PROM bootargs setting!
347
348 config SUN_PM
349 bool
350 default y if SPARC32
351 help
352 Enable power management and CPU standby features on supported
353 SPARC platforms.
354
355 config SPARC_LED
356 tristate "Sun4m LED driver"
357 depends on SPARC32
358 help
359 This driver toggles the front-panel LED on sun4m systems
360 in a user-specifiable manner. Its state can be probed
361 by reading /proc/led and its blinking mode can be changed
362 via writes to /proc/led
363
364 config SERIAL_CONSOLE
365 bool
366 depends on SPARC32
367 default y
368 ---help---
369 If you say Y here, it will be possible to use a serial port as the
370 system console (the system console is the device which receives all
371 kernel messages and warnings and which allows logins in single user
372 mode). This could be useful if some terminal or printer is connected
373 to that serial port.
374
375 Even if you say Y here, the currently visible virtual console
376 (/dev/tty0) will still be used as the system console by default, but
377 you can alter that using a kernel command line option such as
378 "console=ttyS1". (Try "man bootparam" or see the documentation of
379 your boot loader (silo) about how to pass options to the kernel at
380 boot time.)
381
382 If you don't have a graphics card installed and you say Y here, the
383 kernel will automatically use the first serial line, /dev/ttyS0, as
384 system console.
385
386 If unsure, say N.
387
388 config SPARC_LEON
389 bool "Sparc Leon processor family"
390 depends on SPARC32
391 select USB_EHCI_BIG_ENDIAN_MMIO
392 select USB_EHCI_BIG_ENDIAN_DESC
393 ---help---
394 If you say Y here if you are running on a SPARC-LEON processor.
395 The LEON processor is a synthesizable VHDL model of the
396 SPARC-v8 standard. LEON is part of the GRLIB collection of
397 IP cores that are distributed under GPL. GRLIB can be downloaded
398 from www.gaisler.com. You can download a sparc-linux cross-compilation
399 toolchain at www.gaisler.com.
400
401 if SPARC_LEON
402 menu "U-Boot options"
403
404 config UBOOT_LOAD_ADDR
405 hex "uImage Load Address"
406 default 0x40004000
407 ---help---
408 U-Boot kernel load address, the address in physical address space
409 where u-boot will place the Linux kernel before booting it.
410 This address is normally the base address of main memory + 0x4000.
411
412 config UBOOT_FLASH_ADDR
413 hex "uImage.o Load Address"
414 default 0x00080000
415 ---help---
416 Optional setting only affecting the uImage.o ELF-image used to
417 download the uImage file to the target using a ELF-loader other than
418 U-Boot. It may for example be used to download an uImage to FLASH with
419 the GRMON utility before even starting u-boot.
420
421 config UBOOT_ENTRY_ADDR
422 hex "uImage Entry Address"
423 default 0xf0004000
424 ---help---
425 Do not change this unless you know what you're doing. This is
426 hardcoded by the SPARC32 and LEON port.
427
428 This is the virtual address u-boot jumps to when booting the Linux
429 Kernel.
430
431 endmenu
432 endif
433
434 endmenu
435
436 menu "Bus options (PCI etc.)"
437 config SBUS
438 bool
439 default y
440
441 config SBUSCHAR
442 bool
443 default y
444
445 config SUN_LDOMS
446 bool "Sun Logical Domains support"
447 depends on SPARC64
448 help
449 Say Y here is you want to support virtual devices via
450 Logical Domains.
451
452 config PCI
453 bool "Support for PCI and PS/2 keyboard/mouse"
454 help
455 Find out whether your system includes a PCI bus. PCI is the name of
456 a bus system, i.e. the way the CPU talks to the other stuff inside
457 your box. If you say Y here, the kernel will include drivers and
458 infrastructure code to support PCI bus devices.
459
460 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
461 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
462 All of these platforms are extremely obscure, so say N if unsure.
463
464 config PCI_DOMAINS
465 def_bool PCI if SPARC64
466
467 config PCI_SYSCALL
468 def_bool PCI
469
470 config PCIC_PCI
471 bool
472 depends on PCI && SPARC32 && !SPARC_LEON
473 default y
474
475 config LEON_PCI
476 bool
477 depends on PCI && SPARC_LEON
478 default y
479
480 config SPARC_GRPCI1
481 bool "GRPCI Host Bridge Support"
482 depends on LEON_PCI
483 default y
484 help
485 Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
486 PCI host controller is typically found in GRLIB SPARC32/LEON
487 systems. The driver has one property (all_pci_errors) controlled
488 from the bootloader that makes the GRPCI to generate interrupts
489 on detected PCI Parity and System errors.
490
491 config SPARC_GRPCI2
492 bool "GRPCI2 Host Bridge Support"
493 depends on LEON_PCI
494 default y
495 help
496 Say Y here to include the GRPCI2 Host Bridge Driver.
497
498 source "drivers/pci/Kconfig"
499
500 source "drivers/pcmcia/Kconfig"
501
502 config SUN_OPENPROMFS
503 tristate "Openprom tree appears in /proc/openprom"
504 help
505 If you say Y, the OpenPROM device tree will be available as a
506 virtual file system, which you can mount to /proc/openprom by "mount
507 -t openpromfs none /proc/openprom".
508
509 To compile the /proc/openprom support as a module, choose M here: the
510 module will be called openpromfs.
511
512 Only choose N if you know in advance that you will not need to modify
513 OpenPROM settings on the running system.
514
515 # Makefile helpers
516 config SPARC64_PCI
517 bool
518 default y
519 depends on SPARC64 && PCI
520
521 config SPARC64_PCI_MSI
522 bool
523 default y
524 depends on SPARC64_PCI && PCI_MSI
525
526 endmenu
527
528 menu "Executable file formats"
529
530 source "fs/Kconfig.binfmt"
531
532 config COMPAT
533 bool
534 depends on SPARC64
535 default y
536 select COMPAT_BINFMT_ELF
537 select HAVE_UID16
538 select ARCH_WANT_OLD_COMPAT_IPC
539 select COMPAT_OLD_SIGACTION
540
541 config SYSVIPC_COMPAT
542 bool
543 depends on COMPAT && SYSVIPC
544 default y
545
546 config KEYS_COMPAT
547 def_bool y if COMPAT && KEYS
548
549 endmenu
550
551 source "net/Kconfig"
552
553 source "drivers/Kconfig"
554
555 source "drivers/sbus/char/Kconfig"
556
557 source "fs/Kconfig"
558
559 source "arch/sparc/Kconfig.debug"
560
561 source "security/Kconfig"
562
563 source "crypto/Kconfig"
564
565 source "lib/Kconfig"
This page took 0.041816 seconds and 6 git commands to generate.