Merge tag 'powerpc-4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[cascardo/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"