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