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