]> Pileus Git - ~andy/linux/blob - arch/sparc/Kconfig
sparc: introduce CONFIG_BITS
[~andy/linux] / 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 # CONFIG_BITS can be used at source level to get 32/64 bits
50 config BITS
51         int
52         default 32 if SPARC32
53         default 64 if SPARC64
54
55 config 64BIT
56         def_bool y if SPARC64
57
58 config GENERIC_TIME
59         bool
60         default y if SPARC64
61
62 config GENERIC_CMOS_UPDATE
63         bool
64         default y if SPARC64
65
66 config GENERIC_CLOCKEVENTS
67         bool
68         default y if SPARC64
69
70 config IOMMU_HELPER
71         bool
72         default y if SPARC64
73
74 config QUICKLIST
75         bool
76         default y if SPARC64
77
78 config STACKTRACE_SUPPORT
79         bool
80         default y if SPARC64
81
82 config LOCKDEP_SUPPORT
83         bool
84         default y if SPARC64
85
86 config HAVE_LATENCYTOP_SUPPORT
87         bool
88         default y if SPARC64
89
90 config AUDIT_ARCH
91         bool
92         default y
93
94 config HAVE_SETUP_PER_CPU_AREA
95         def_bool y if SPARC64
96
97 config GENERIC_HARDIRQS_NO__DO_IRQ
98         bool
99         def_bool y if SPARC64
100
101 config MMU
102         bool
103         default y
104
105 config HIGHMEM
106         bool
107         default y if SPARC32
108
109 config ZONE_DMA
110         bool
111         default y if SPARC32
112
113 config GENERIC_ISA_DMA
114         bool
115         default y if SPARC32
116
117 config GENERIC_GPIO
118         bool
119         help
120           Generic GPIO API support
121
122 config ARCH_NO_VIRT_TO_BUS
123         def_bool y
124
125 config OF
126         def_bool y
127
128 source "init/Kconfig"
129
130 source "kernel/Kconfig.freezer"
131
132 menu "Processor type and features"
133
134 config SMP
135         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
136         ---help---
137           This enables support for systems with more than one CPU. If you have
138           a system with only one CPU, say N. If you have a system with more
139           than one CPU, say Y.
140
141           If you say N here, the kernel will run on single and multiprocessor
142           machines, but will use only one CPU of a multiprocessor machine. If
143           you say Y here, the kernel will run on many, but not all,
144           singleprocessor machines. On a singleprocessor machine, the kernel
145           will run faster if you say N here.
146
147           People using multiprocessor machines who say Y here should also say
148           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
149           Management" code will be disabled if you say Y here.
150
151           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
152           available at <http://www.tldp.org/docs.html#howto>.
153
154           If you don't know what to do here, say N.
155
156 config NR_CPUS
157         int "Maximum number of CPUs"
158         depends on SMP
159         range 2 32 if SPARC32
160         range 2 1024 if SPARC64
161         default 32 if SPARC32
162         default 64 if SPARC64
163
164 source kernel/Kconfig.hz
165
166 config RWSEM_GENERIC_SPINLOCK
167         bool
168         default y if SPARC32
169
170 config RWSEM_XCHGADD_ALGORITHM
171         bool
172         default y if SPARC64
173
174 config GENERIC_FIND_NEXT_BIT
175         bool
176         default y
177
178 config GENERIC_HWEIGHT
179         bool
180         default y if !ULTRA_HAS_POPULATION_COUNT
181
182 config GENERIC_CALIBRATE_DELAY
183         bool
184         default y
185
186 config ARCH_MAY_HAVE_PC_FDC
187         bool
188         default y
189
190 config ARCH_HAS_ILOG2_U32
191         bool
192         default n
193
194 config ARCH_HAS_ILOG2_U64
195         bool
196         default n
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 ISA
445         bool
446         help
447           ISA is found on Espresso only and is not supported currently.
448
449 config ISAPNP
450         bool
451         help
452           ISAPNP is not supported
453
454 config EISA
455         bool
456         help
457           EISA is not supported.
458
459 config MCA
460         bool
461         help
462           MCA is not supported.
463
464 config SBUS
465         bool
466         default y
467
468 config SBUSCHAR
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"