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