[PATCH] Kprobes: Make kprobe modules more portable
[linux-2.6.git] / arch / sparc64 / Kconfig
1 # $Id: config.in,v 1.158 2002/01/24 22:14:44 davem Exp $
2 # For a description of the syntax of this configuration file,
3 # see the Configure script.
4 #
5
6 mainmenu "Linux/UltraSPARC Kernel Configuration"
7
8 config SPARC
9         bool
10         default y
11
12 config SPARC64
13         bool
14         default y
15         help
16           SPARC is a family of RISC microprocessors designed and marketed by
17           Sun Microsystems, incorporated.  This port covers the newer 64-bit
18           UltraSPARC.  The UltraLinux project maintains both the SPARC32 and
19           SPARC64 ports; its web page is available at
20           <http://www.ultralinux.org/>.
21
22 config 64BIT
23         def_bool y
24
25 config MMU
26         bool
27         default y
28
29 config TIME_INTERPOLATION
30         bool
31         default y
32
33 config ARCH_MAY_HAVE_PC_FDC
34         bool
35         default y
36
37 config AUDIT_ARCH
38         bool
39         default y
40
41 choice
42         prompt "Kernel page size"
43         default SPARC64_PAGE_SIZE_8KB
44
45 config SPARC64_PAGE_SIZE_8KB
46         bool "8KB"
47         help
48           This lets you select the page size of the kernel.
49
50           8KB and 64KB work quite well, since Sparc ELF sections
51           provide for up to 64KB alignment.
52
53           Therefore, 512KB and 4MB are for expert hackers only.
54
55           If you don't know what to do, choose 8KB.
56
57 config SPARC64_PAGE_SIZE_64KB
58         bool "64KB"
59
60 config SPARC64_PAGE_SIZE_512KB
61         bool "512KB"
62
63 config SPARC64_PAGE_SIZE_4MB
64         bool "4MB"
65
66 endchoice
67
68 config SECCOMP
69         bool "Enable seccomp to safely compute untrusted bytecode"
70         depends on PROC_FS
71         default y
72         help
73           This kernel feature is useful for number crunching applications
74           that may need to compute untrusted bytecode during their
75           execution. By using pipes or other transports made available to
76           the process as file descriptors supporting the read/write
77           syscalls, it's possible to isolate those applications in
78           their own address space using seccomp. Once seccomp is
79           enabled via /proc/<pid>/seccomp, it cannot be disabled
80           and the task is only allowed to execute a few safe syscalls
81           defined by each seccomp mode.
82
83           If unsure, say Y. Only embedded should say N here.
84
85 source kernel/Kconfig.hz
86
87 source "init/Kconfig"
88
89 config SYSVIPC_COMPAT
90         bool
91         depends on COMPAT && SYSVIPC
92         default y
93
94 config GENERIC_HARDIRQS
95         bool
96         default y
97
98 menu "General machine setup"
99
100 config SMP
101         bool "Symmetric multi-processing support"
102         ---help---
103           This enables support for systems with more than one CPU. If you have
104           a system with only one CPU, say N. If you have a system with more than
105           one CPU, say Y.
106
107           If you say N here, the kernel will run on single and multiprocessor
108           machines, but will use only one CPU of a multiprocessor machine. If
109           you say Y here, the kernel will run on many, but not all,
110           singleprocessor machines. On a singleprocessor machine, the kernel
111           will run faster if you say N here.
112
113           People using multiprocessor machines who say Y here should also say
114           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
115           Management" code will be disabled if you say Y here.
116
117           See also the <file:Documentation/smp.txt>,
118           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
119           <http://www.tldp.org/docs.html#howto>.
120
121           If you don't know what to do here, say N.
122
123 config PREEMPT
124         bool "Preemptible Kernel"
125         help
126           This option reduces the latency of the kernel when reacting to
127           real-time or interactive events by allowing a low priority process to
128           be preempted even if it is in kernel mode executing a system call.
129           This allows applications to run more reliably even when the system is
130           under load.
131
132           Say Y here if you are building a kernel for a desktop, embedded
133           or real-time system.  Say N if you are unsure.
134
135 config NR_CPUS
136         int "Maximum number of CPUs (2-64)"
137         range 2 64
138         depends on SMP
139         default "32"
140
141 source "drivers/cpufreq/Kconfig"
142
143 config US3_FREQ
144         tristate "UltraSPARC-III CPU Frequency driver"
145         depends on CPU_FREQ
146         select CPU_FREQ_TABLE
147         help
148           This adds the CPUFreq driver for UltraSPARC-III processors.
149
150           For details, take a look at <file:Documentation/cpu-freq>.
151
152           If in doubt, say N.
153
154 config US2E_FREQ
155         tristate "UltraSPARC-IIe CPU Frequency driver"
156         depends on CPU_FREQ
157         select CPU_FREQ_TABLE
158         help
159           This adds the CPUFreq driver for UltraSPARC-IIe processors.
160
161           For details, take a look at <file:Documentation/cpu-freq>.
162
163           If in doubt, say N.
164
165 # Global things across all Sun machines.
166 config RWSEM_GENERIC_SPINLOCK
167         bool
168
169 config RWSEM_XCHGADD_ALGORITHM
170         bool
171         default y
172
173 config GENERIC_FIND_NEXT_BIT
174         bool
175         default y
176
177 config GENERIC_HWEIGHT
178         bool
179         default y if !ULTRA_HAS_POPULATION_COUNT
180
181 config GENERIC_CALIBRATE_DELAY
182         bool
183         default y
184
185 choice
186         prompt "SPARC64 Huge TLB Page Size"
187         depends on HUGETLB_PAGE
188         default HUGETLB_PAGE_SIZE_4MB
189
190 config HUGETLB_PAGE_SIZE_4MB
191         bool "4MB"
192
193 config HUGETLB_PAGE_SIZE_512K
194         depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB
195         bool "512K"
196
197 config HUGETLB_PAGE_SIZE_64K
198         depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64KB
199         bool "64K"
200
201 endchoice
202
203 endmenu
204
205 config ARCH_SELECT_MEMORY_MODEL
206         def_bool y
207
208 config ARCH_SPARSEMEM_ENABLE
209         def_bool y
210
211 config ARCH_SPARSEMEM_DEFAULT
212         def_bool y
213
214 config LARGE_ALLOCS
215         def_bool y
216
217 source "mm/Kconfig"
218
219 config GENERIC_ISA_DMA
220         bool
221         default y
222
223 config ISA
224         bool
225         help
226           Find out whether you have ISA slots on your motherboard.  ISA is the
227           name of a bus system, i.e. the way the CPU talks to the other stuff
228           inside your box.  Other bus systems are PCI, EISA, MicroChannel
229           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
230           newer boards don't support it.  If you have ISA, say Y, otherwise N.
231
232 config ISAPNP
233         bool
234         help
235           Say Y here if you would like support for ISA Plug and Play devices.
236           Some information is in <file:Documentation/isapnp.txt>.
237
238           To compile this driver as a module, choose M here: the
239           module will be called isapnp.
240
241           If unsure, say Y.
242
243 config EISA
244         bool
245         ---help---
246           The Extended Industry Standard Architecture (EISA) bus was
247           developed as an open alternative to the IBM MicroChannel bus.
248
249           The EISA bus provided some of the features of the IBM MicroChannel
250           bus while maintaining backward compatibility with cards made for
251           the older ISA bus.  The EISA bus saw limited use between 1988 and
252           1995 when it was made obsolete by the PCI bus.
253
254           Say Y here if you are building a kernel for an EISA-based machine.
255
256           Otherwise, say N.
257
258 config MCA
259         bool
260         help
261           MicroChannel Architecture is found in some IBM PS/2 machines and
262           laptops.  It is a bus system similar to PCI or ISA. See
263           <file:Documentation/mca.txt> (and especially the web page given
264           there) before attempting to build an MCA bus kernel.
265
266 config PCMCIA
267         tristate
268         ---help---
269           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
270           computer.  These are credit-card size devices such as network cards,
271           modems or hard drives often used with laptops computers.  There are
272           actually two varieties of these cards: the older 16 bit PCMCIA cards
273           and the newer 32 bit CardBus cards.  If you want to use CardBus
274           cards, you need to say Y here and also to "CardBus support" below.
275
276           To use your PC-cards, you will need supporting software from David
277           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
278           for location).  Please also read the PCMCIA-HOWTO, available from
279           <http://www.tldp.org/docs.html#howto>.
280
281           To compile this driver as modules, choose M here: the
282           modules will be called pcmcia_core and ds.
283
284 config SBUS
285         bool
286         default y
287
288 config SBUSCHAR
289         bool
290         default y
291
292 config SUN_AUXIO
293         bool
294         default y
295
296 config SUN_IO
297         bool
298         default y
299
300 config PCI
301         bool "PCI support"
302         help
303           Find out whether you have a PCI motherboard. PCI is the name of a
304           bus system, i.e. the way the CPU talks to the other stuff inside
305           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
306           VESA. If you have PCI, say Y, otherwise N.
307
308           The PCI-HOWTO, available from
309           <http://www.tldp.org/docs.html#howto>, contains valuable
310           information about which PCI hardware does work under Linux and which
311           doesn't.
312
313 config PCI_DOMAINS
314         bool
315         default PCI
316
317 source "drivers/pci/Kconfig"
318
319 config SUN_OPENPROMFS
320         tristate "Openprom tree appears in /proc/openprom"
321         help
322           If you say Y, the OpenPROM device tree will be available as a
323           virtual file system, which you can mount to /proc/openprom by "mount
324           -t openpromfs none /proc/openprom".
325
326           To compile the /proc/openprom support as a module, choose M here: the
327           module will be called openpromfs.  If unsure, choose M.
328
329 config SPARC32_COMPAT
330         bool "Kernel support for Linux/Sparc 32bit binary compatibility"
331         help
332           This allows you to run 32-bit binaries on your Ultra.
333           Everybody wants this; say Y.
334
335 config COMPAT
336         bool
337         depends on SPARC32_COMPAT
338         default y
339
340 config BINFMT_ELF32
341         bool "Kernel support for 32-bit ELF binaries"
342         depends on SPARC32_COMPAT
343         help
344           This allows you to run 32-bit Linux/ELF binaries on your Ultra.
345           Everybody wants this; say Y.
346
347 config BINFMT_AOUT32
348         bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
349         depends on SPARC32_COMPAT
350         help
351           This allows you to run 32-bit a.out format binaries on your Ultra.
352           If you want to run SunOS binaries (see SunOS binary emulation below)
353           or other a.out binaries, say Y. If unsure, say N.
354
355 menu "Executable file formats"
356
357 source "fs/Kconfig.binfmt"
358
359 config SUNOS_EMUL
360         bool "SunOS binary emulation"
361         depends on BINFMT_AOUT32
362         help
363           This allows you to run most SunOS binaries.  If you want to do this,
364           say Y here and place appropriate files in /usr/gnemul/sunos. See
365           <http://www.ultralinux.org/faq.html> for more information.  If you
366           want to run SunOS binaries on an Ultra you must also say Y to
367           "Kernel support for 32-bit a.out binaries" above.
368
369 config SOLARIS_EMUL
370         tristate "Solaris binary emulation (EXPERIMENTAL)"
371         depends on SPARC32_COMPAT && EXPERIMENTAL
372         help
373           This is experimental code which will enable you to run (many)
374           Solaris binaries on your SPARC Linux machine.
375
376           To compile this code as a module, choose M here: the
377           module will be called solaris.
378
379 endmenu
380
381 config SCHED_SMT
382         bool "SMT (Hyperthreading) scheduler support"
383         depends on SMP
384         default y
385         help
386           SMT scheduler support improves the CPU scheduler's decision making
387           when dealing with UltraSPARC cpus at a cost of slightly increased
388           overhead in some places. If unsure say N here.
389
390 config CMDLINE_BOOL
391         bool "Default bootloader kernel arguments"
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 source "net/Kconfig"
407
408 source "drivers/Kconfig"
409
410 source "drivers/sbus/char/Kconfig"
411
412 source "drivers/fc4/Kconfig"
413
414 source "fs/Kconfig"
415
416 menu "Instrumentation Support"
417         depends on EXPERIMENTAL
418
419 source "arch/sparc64/oprofile/Kconfig"
420
421 config KPROBES
422         bool "Kprobes (EXPERIMENTAL)"
423         depends on KALLSYMS && EXPERIMENTAL && MODULES
424         help
425           Kprobes allows you to trap at almost any kernel address and
426           execute a callback function.  register_kprobe() establishes
427           a probepoint and specifies the callback.  Kprobes is useful
428           for kernel debugging, non-intrusive instrumentation and testing.
429           If in doubt, say "N".
430 endmenu
431
432 source "arch/sparc64/Kconfig.debug"
433
434 source "security/Kconfig"
435
436 source "crypto/Kconfig"
437
438 source "lib/Kconfig"