]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/sparc/Kconfig
Merge branch 'master' into for-next
[karo-tx-linux.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 64BIT
8         bool "64-bit kernel" if ARCH = "sparc"
9         default ARCH = "sparc64"
10         help
11           SPARC is a family of RISC microprocessors designed and marketed by
12           Sun Microsystems, incorporated.  They are very widely found in Sun
13           workstations and clones.
14
15           Say yes to build a 64-bit kernel - formerly known as sparc64
16           Say no to build a 32-bit kernel - formerly known as sparc
17
18 config SPARC
19         bool
20         default y
21         select HAVE_IDE
22         select HAVE_OPROFILE
23         select HAVE_ARCH_KGDB if !SMP || SPARC64
24         select HAVE_ARCH_TRACEHOOK
25         select ARCH_WANT_OPTIONAL_GPIOLIB
26         select RTC_CLASS
27         select RTC_DRV_M48T59
28
29 config SPARC32
30         def_bool !64BIT
31
32 config SPARC64
33         def_bool 64BIT
34         select ARCH_SUPPORTS_MSI
35         select HAVE_FUNCTION_TRACER
36         select HAVE_KRETPROBES
37         select HAVE_KPROBES
38         select HAVE_LMB
39         select HAVE_SYSCALL_WRAPPERS
40         select HAVE_DYNAMIC_FTRACE
41         select HAVE_FTRACE_MCOUNT_RECORD
42         select USE_GENERIC_SMP_HELPERS if SMP
43         select RTC_DRV_CMOS
44         select RTC_DRV_BQ4802
45         select RTC_DRV_SUN4V
46         select RTC_DRV_STARFIRE
47
48 config ARCH_DEFCONFIG
49         string
50         default "arch/sparc/configs/sparc32_defconfig" if SPARC32
51         default "arch/sparc/configs/sparc64_defconfig" if SPARC64
52
53 # CONFIG_BITS can be used at source level to get 32/64 bits
54 config BITS
55         int
56         default 32 if SPARC32
57         default 64 if SPARC64
58
59 config GENERIC_TIME
60         bool
61         default y if SPARC64
62
63 config GENERIC_CMOS_UPDATE
64         bool
65         default y if SPARC64
66
67 config GENERIC_CLOCKEVENTS
68         bool
69         default y if SPARC64
70
71 config IOMMU_HELPER
72         bool
73         default y if SPARC64
74
75 config QUICKLIST
76         bool
77         default y if SPARC64
78
79 config STACKTRACE_SUPPORT
80         bool
81         default y if SPARC64
82
83 config LOCKDEP_SUPPORT
84         bool
85         default y if SPARC64
86
87 config HAVE_LATENCYTOP_SUPPORT
88         bool
89         default y if SPARC64
90
91 config AUDIT_ARCH
92         bool
93         default y
94
95 config HAVE_SETUP_PER_CPU_AREA
96         def_bool y if SPARC64
97
98 config GENERIC_HARDIRQS_NO__DO_IRQ
99         bool
100         def_bool y if SPARC64
101
102 config MMU
103         bool
104         default y
105
106 config HIGHMEM
107         bool
108         default y if SPARC32
109
110 config ZONE_DMA
111         bool
112         default y if SPARC32
113
114 config GENERIC_ISA_DMA
115         bool
116         default y if SPARC32
117
118 config GENERIC_GPIO
119         bool
120         help
121           Generic GPIO API support
122
123 config ARCH_NO_VIRT_TO_BUS
124         def_bool y
125
126 config OF
127         def_bool y
128
129 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
130         def_bool y if SPARC64
131
132 source "init/Kconfig"
133
134 source "kernel/Kconfig.freezer"
135
136 menu "Processor type and features"
137
138 config SMP
139         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
140         ---help---
141           This enables support for systems with more than one CPU. If you have
142           a system with only one CPU, say N. If you have a system with more
143           than one CPU, say Y.
144
145           If you say N here, the kernel will run on single and multiprocessor
146           machines, but will use only one CPU of a multiprocessor machine. If
147           you say Y here, the kernel will run on many, but not all,
148           singleprocessor machines. On a singleprocessor machine, the kernel
149           will run faster if you say N here.
150
151           People using multiprocessor machines who say Y here should also say
152           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
153           Management" code will be disabled if you say Y here.
154
155           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
156           available at <http://www.tldp.org/docs.html#howto>.
157
158           If you don't know what to do here, say N.
159
160 config NR_CPUS
161         int "Maximum number of CPUs"
162         depends on SMP
163         range 2 32 if SPARC32
164         range 2 1024 if SPARC64
165         default 32 if SPARC32
166         default 64 if SPARC64
167
168 source kernel/Kconfig.hz
169
170 config RWSEM_GENERIC_SPINLOCK
171         bool
172         default y if SPARC32
173
174 config RWSEM_XCHGADD_ALGORITHM
175         bool
176         default y if SPARC64
177
178 config GENERIC_FIND_NEXT_BIT
179         bool
180         default y
181
182 config GENERIC_HWEIGHT
183         bool
184         default y if !ULTRA_HAS_POPULATION_COUNT
185
186 config GENERIC_CALIBRATE_DELAY
187         bool
188         default y
189
190 config ARCH_MAY_HAVE_PC_FDC
191         bool
192         default y
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 SBUS
441         bool
442         default y
443
444 config SBUSCHAR
445         bool
446         default y
447
448 config SUN_LDOMS
449         bool "Sun Logical Domains support"
450         depends on SPARC64
451         help
452           Say Y here is you want to support virtual devices via
453           Logical Domains.
454
455 config PCI
456         bool "Support for PCI and PS/2 keyboard/mouse"
457         help
458           Find out whether your system includes a PCI bus. PCI is the name of
459           a bus system, i.e. the way the CPU talks to the other stuff inside
460           your box.  If you say Y here, the kernel will include drivers and
461           infrastructure code to support PCI bus devices.
462
463           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
464           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
465           All of these platforms are extremely obscure, so say N if unsure.
466
467 config PCI_DOMAINS
468         def_bool PCI if SPARC64
469
470 config PCI_SYSCALL
471         def_bool PCI
472
473 source "drivers/pci/Kconfig"
474
475 source "drivers/pcmcia/Kconfig"
476
477 config SUN_OPENPROMFS
478         tristate "Openprom tree appears in /proc/openprom"
479         help
480           If you say Y, the OpenPROM device tree will be available as a
481           virtual file system, which you can mount to /proc/openprom by "mount
482           -t openpromfs none /proc/openprom".
483
484           To compile the /proc/openprom support as a module, choose M here: the
485           module will be called openpromfs.
486
487           Only choose N if you know in advance that you will not need to modify
488           OpenPROM settings on the running system.
489
490 # Makefile helpers
491 config SPARC32_PCI
492         bool
493         default y
494         depends on SPARC32 && PCI
495
496 config SPARC64_PCI
497         bool
498         default y
499         depends on SPARC64 && PCI
500
501 endmenu
502
503 menu "Executable file formats"
504
505 source "fs/Kconfig.binfmt"
506
507 config COMPAT
508         bool
509         depends on SPARC64
510         default y
511         select COMPAT_BINFMT_ELF
512
513 config SYSVIPC_COMPAT
514         bool
515         depends on COMPAT && SYSVIPC
516         default y
517
518 endmenu
519
520 source "net/Kconfig"
521
522 source "drivers/Kconfig"
523
524 source "drivers/sbus/char/Kconfig"
525
526 source "fs/Kconfig"
527
528 source "arch/sparc/Kconfig.debug"
529
530 source "security/Kconfig"
531
532 source "crypto/Kconfig"
533
534 source "lib/Kconfig"