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