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