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