Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / 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 MMU
8         bool
9         default y
10
11 config HIGHMEM
12         bool
13         default y
14
15 config ZONE_DMA
16         bool
17         default y
18
19 config GENERIC_ISA_DMA
20         bool
21         default y
22
23 config ARCH_NO_VIRT_TO_BUS
24         def_bool y
25
26 config OF
27         def_bool y
28
29 config HZ
30         int
31         default 100
32
33 source "init/Kconfig"
34
35 menu "General machine setup"
36
37 config SMP
38         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
39         ---help---
40           This enables support for systems with more than one CPU. If you have
41           a system with only one CPU, say N. If you have a system with more
42           than one CPU, say Y.
43
44           If you say N here, the kernel will run on single and multiprocessor
45           machines, but will use only one CPU of a multiprocessor machine. If
46           you say Y here, the kernel will run on many, but not all,
47           singleprocessor machines. On a singleprocessor machine, the kernel
48           will run faster if you say N here.
49
50           People using multiprocessor machines who say Y here should also say
51           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
52           Management" code will be disabled if you say Y here.
53
54           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
55           available at <http://www.tldp.org/docs.html#howto>.
56
57           If you don't know what to do here, say N.
58
59 config NR_CPUS
60         int "Maximum number of CPUs (2-32)"
61         range 2 32
62         depends on SMP
63         default "32"
64
65 config SPARC
66         bool
67         default y
68         select HAVE_IDE
69         select HAVE_OPROFILE
70         select HAVE_ARCH_KGDB if !SMP
71         select HAVE_ARCH_TRACEHOOK
72
73 # Identify this as a Sparc32 build
74 config SPARC32
75         bool
76         default y
77         help
78           SPARC is a family of RISC microprocessors designed and marketed by
79           Sun Microsystems, incorporated.  They are very widely found in Sun
80           workstations and clones. This port covers the original 32-bit SPARC;
81           it is old and stable and usually considered one of the "big three"
82           along with the Intel and Alpha ports.  The UltraLinux project
83           maintains both the SPARC32 and SPARC64 ports; its web page is
84           available at <http://www.ultralinux.org/>.
85
86 # Global things across all Sun machines.
87 config ISA
88         bool
89         help
90           ISA is found on Espresso only and is not supported currently.
91           Say N
92
93 config EISA
94         bool
95         help
96           EISA is not supported.
97           Say N
98
99 config MCA
100         bool
101         help
102           MCA is not supported.
103           Say N
104
105 config PCMCIA
106         tristate
107         ---help---
108           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
109           computer.  These are credit-card size devices such as network cards,
110           modems or hard drives often used with laptops computers.  There are
111           actually two varieties of these cards: the older 16 bit PCMCIA cards
112           and the newer 32 bit CardBus cards.  If you want to use CardBus
113           cards, you need to say Y here and also to "CardBus support" below.
114
115           To use your PC-cards, you will need supporting software from David
116           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
117           for location).  Please also read the PCMCIA-HOWTO, available from
118           <http://www.tldp.org/docs.html#howto>.
119
120           To compile this driver as modules, choose M here: the
121           modules will be called pcmcia_core and ds.
122
123 config SBUS
124         bool
125         default y
126
127 config SBUSCHAR
128         bool
129         default y
130
131 config SERIAL_CONSOLE
132         bool
133         default y
134         ---help---
135           If you say Y here, it will be possible to use a serial port as the
136           system console (the system console is the device which receives all
137           kernel messages and warnings and which allows logins in single user
138           mode). This could be useful if some terminal or printer is connected
139           to that serial port.
140
141           Even if you say Y here, the currently visible virtual console
142           (/dev/tty0) will still be used as the system console by default, but
143           you can alter that using a kernel command line option such as
144           "console=ttyS1". (Try "man bootparam" or see the documentation of
145           your boot loader (silo) about how to pass options to the kernel at
146           boot time.)
147
148           If you don't have a graphics card installed and you say Y here, the
149           kernel will automatically use the first serial line, /dev/ttyS0, as
150           system console.
151
152           If unsure, say N.
153
154 config SUN_AUXIO
155         bool
156         default y
157
158 config SUN_IO
159         bool
160         default y
161
162 config RWSEM_GENERIC_SPINLOCK
163         bool
164         default y
165
166 config RWSEM_XCHGADD_ALGORITHM
167         bool
168
169 config GENERIC_FIND_NEXT_BIT
170         bool
171         default y
172
173 config GENERIC_HWEIGHT
174         bool
175         default y
176
177 config GENERIC_CALIBRATE_DELAY
178         bool
179         default y
180
181 config ARCH_MAY_HAVE_PC_FDC
182         bool
183         default y
184
185 config ARCH_HAS_ILOG2_U32
186         bool
187         default n
188
189 config ARCH_HAS_ILOG2_U64
190         bool
191         default n
192
193 config EMULATED_CMPXCHG
194         bool
195         default y
196         help
197           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
198           is emulated, and therefore it is not completely atomic.
199
200 config SUN_PM
201         bool
202         default y
203         help
204           Enable power management and CPU standby features on supported
205           SPARC platforms.
206
207 config SUN4
208         bool "Support for SUN4 machines (disables SUN4[CDM] support)"
209         depends on !SMP
210         default n
211         help
212           Say Y here if, and only if, your machine is a sun4. Note that
213           a kernel compiled with this option will run only on sun4.
214           (And the current version will probably work only on sun4/330.)
215
216 if !SUN4
217
218 config PCI
219         bool "Support for PCI and PS/2 keyboard/mouse"
220         help
221           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
222           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
223           All of these platforms are extremely obscure, so say N if unsure.
224
225 config PCI_SYSCALL
226         def_bool PCI
227
228 source "drivers/pci/Kconfig"
229
230 endif
231
232 config NO_DMA
233         def_bool !PCI
234
235 config SUN_OPENPROMFS
236         tristate "Openprom tree appears in /proc/openprom"
237         help
238           If you say Y, the OpenPROM device tree will be available as a
239           virtual file system, which you can mount to /proc/openprom by "mount
240           -t openpromfs none /proc/openprom".
241
242           To compile the /proc/openprom support as a module, choose M here: the
243           module will be called openpromfs.
244
245           Only choose N if you know in advance that you will not need to modify
246           OpenPROM settings on the running system.
247
248 config SPARC_LED
249         tristate "Sun4m LED driver"
250         help
251           This driver toggles the front-panel LED on sun4m systems
252           in a user-specifiable manner.  Its state can be probed
253           by reading /proc/led and its blinking mode can be changed
254           via writes to /proc/led
255
256 source "fs/Kconfig.binfmt"
257
258 source "mm/Kconfig"
259
260 endmenu
261
262 source "net/Kconfig"
263
264 source "drivers/Kconfig"
265
266 if !SUN4
267 source "drivers/sbus/char/Kconfig"
268 endif
269
270 # This one must be before the filesystem configs. -DaveM
271
272 menu "Unix98 PTY support"
273
274 config UNIX98_PTYS
275         bool "Unix98 PTY support"
276         ---help---
277           A pseudo terminal (PTY) is a software device consisting of two
278           halves: a master and a slave. The slave device behaves identical to
279           a physical terminal; the master device is used by a process to
280           read data from and write data to the slave, thereby emulating a
281           terminal. Typical programs for the master side are telnet servers
282           and xterms.
283
284           Linux has traditionally used the BSD-like names /dev/ptyxx for
285           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
286           has a number of problems. The GNU C library glibc 2.1 and later,
287           however, supports the Unix98 naming standard: in order to acquire a
288           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
289           terminal is then made available to the process and the pseudo
290           terminal slave can be accessed as /dev/pts/<number>. What was
291           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
292
293           The entries in /dev/pts/ are created on the fly by a virtual
294           file system; therefore, if you say Y here you should say Y to
295           "/dev/pts file system for Unix98 PTYs" as well.
296
297           If you want to say Y here, you need to have the C library glibc 2.1
298           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
299           Read the instructions in <file:Documentation/Changes> pertaining to
300           pseudo terminals. It's safe to say N.
301
302 endmenu
303
304 source "fs/Kconfig"
305
306 source "arch/sparc/Kconfig.debug"
307
308 source "security/Kconfig"
309
310 source "crypto/Kconfig"
311
312 source "lib/Kconfig"