Pull sn-features into release branch
[linux-2.6] / arch / ppc64 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 config 64BIT
7         def_bool y
8
9 config MMU
10         bool
11         default y
12
13 config UID16
14         bool
15
16 config RWSEM_GENERIC_SPINLOCK
17         bool
18
19 config RWSEM_XCHGADD_ALGORITHM
20         bool
21         default y
22
23 config GENERIC_CALIBRATE_DELAY
24         bool
25         default y
26
27 config GENERIC_ISA_DMA
28         bool
29         default y
30
31 config HAVE_DEC_LOCK
32         bool
33         default y
34
35 config EARLY_PRINTK
36         bool
37         default y
38
39 config COMPAT
40         bool
41         default y
42
43 config SCHED_NO_NO_OMIT_FRAME_POINTER
44         bool
45         default y
46
47 config ARCH_MAY_HAVE_PC_FDC
48         bool
49         default y
50
51 # We optimistically allocate largepages from the VM, so make the limit
52 # large enough (16MB). This badly named config option is actually
53 # max order + 1
54 config FORCE_MAX_ZONEORDER
55         int
56         default "13"
57
58 source "init/Kconfig"
59
60 config SYSVIPC_COMPAT
61         bool
62         depends on COMPAT && SYSVIPC
63         default y
64
65 menu "Platform support"
66
67 choice
68         prompt "Platform Type"
69         default PPC_MULTIPLATFORM
70
71 config PPC_ISERIES
72         bool "IBM Legacy iSeries"
73
74 config PPC_MULTIPLATFORM
75         bool "Generic"
76
77 endchoice
78
79 config PPC_PSERIES
80         depends on PPC_MULTIPLATFORM
81         bool "  IBM pSeries & new iSeries"
82         default y
83
84 config PPC_BPA
85         bool "  Broadband Processor Architecture"
86         depends on PPC_MULTIPLATFORM
87
88 config PPC_PMAC
89         depends on PPC_MULTIPLATFORM
90         bool "  Apple G5 based machines"
91         default y
92         select U3_DART
93
94 config PPC_MAPLE
95         depends on PPC_MULTIPLATFORM
96         bool "  Maple 970FX Evaluation Board"
97         select U3_DART
98         select MPIC_BROKEN_U3
99         default n
100         help
101           This option enables support for the Maple 970FX Evaluation Board.
102           For more informations, refer to <http://www.970eval.com>
103
104 config PPC
105         bool
106         default y
107
108 config PPC64
109         bool
110         default y
111
112 config PPC_OF
113         depends on PPC_MULTIPLATFORM
114         bool
115         default y
116
117 config XICS
118         depends on PPC_PSERIES
119         bool
120         default y
121
122 config MPIC
123         depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE
124         bool
125         default y
126
127 config BPA_IIC
128         depends on PPC_BPA
129         bool
130         default y
131
132 # VMX is pSeries only for now until somebody writes the iSeries
133 # exception vectors for it
134 config ALTIVEC
135         bool "Support for VMX (Altivec) vector unit"
136         depends on PPC_MULTIPLATFORM
137         default y
138
139 config PPC_SPLPAR
140         depends on PPC_PSERIES
141         bool "Support for shared-processor logical partitions"
142         default n
143         help
144           Enabling this option will make the kernel run more efficiently
145           on logically-partitioned pSeries systems which use shared
146           processors, that is, which share physical processors between
147           two or more partitions.
148
149 config KEXEC
150         bool "kexec system call (EXPERIMENTAL)"
151         depends on PPC_MULTIPLATFORM && EXPERIMENTAL
152         help
153           kexec is a system call that implements the ability to shutdown your
154           current kernel, and to start another kernel.  It is like a reboot
155           but it is indepedent of the system firmware.  And like a reboot
156           you can start any kernel with it, not just Linux.
157
158           The name comes from the similiarity to the exec system call.
159
160           It is an ongoing process to be certain the hardware in a machine
161           is properly shutdown, so do not be surprised if this code does not
162           initially work for you.  It may help to enable device hotplugging
163           support.  As of this writing the exact hardware interface is
164           strongly in flux, so no good recommendation can be made.
165
166 config IBMVIO
167         depends on PPC_PSERIES || PPC_ISERIES
168         bool
169         default y
170
171 config U3_DART
172         bool 
173         depends on PPC_MULTIPLATFORM
174         default n
175
176 config MPIC_BROKEN_U3
177         bool
178         depends on PPC_MAPLE
179         default y
180
181 config PPC_PMAC64
182         bool
183         depends on PPC_PMAC
184         default y
185
186 config BOOTX_TEXT
187         bool "Support for early boot text console"
188         depends PPC_OF
189         help
190           Say Y here to see progress messages from the boot firmware in text
191           mode. Requires an Open Firmware compatible video card.
192
193 config POWER4_ONLY
194         bool "Optimize for POWER4"
195         default n
196         ---help---
197           Cause the compiler to optimize for POWER4 processors. The resulting
198           binary will not work on POWER3 or RS64 processors when compiled with
199           binutils 2.15 or later.
200
201 config IOMMU_VMERGE
202         bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
203         depends on EXPERIMENTAL
204         default n
205         help
206           Cause IO segments sent to a device for DMA to be merged virtually
207           by the IOMMU when they happen to have been allocated contiguously.
208           This doesn't add pressure to the IOMMU allocator. However, some
209           drivers don't support getting large merged segments coming back
210           from *_map_sg(). Say Y if you know the drivers you are using are
211           properly handling this case.
212
213 config SMP
214         bool "Symmetric multi-processing support"
215         ---help---
216           This enables support for systems with more than one CPU. If you have
217           a system with only one CPU, say N. If you have a system with more
218           than one CPU, say Y.
219
220           If you say N here, the kernel will run on single and multiprocessor
221           machines, but will use only one CPU of a multiprocessor machine. If
222           you say Y here, the kernel will run on single-processor machines.
223           On a single-processor machine, the kernel will run faster if you say
224           N here.
225
226           If you don't know what to do here, say Y.
227
228 config NR_CPUS
229         int "Maximum number of CPUs (2-128)"
230         range 2 128
231         depends on SMP
232         default "32"
233
234 config HMT
235         bool "Hardware multithreading"
236         depends on SMP && PPC_PSERIES && BROKEN
237         help
238           This option enables hardware multithreading on RS64 cpus.
239           pSeries systems p620 and p660 have such a cpu type.
240
241 config ARCH_SELECT_MEMORY_MODEL
242         def_bool y
243
244 config ARCH_FLATMEM_ENABLE
245        def_bool y
246        depends on !NUMA
247
248 config ARCH_DISCONTIGMEM_ENABLE
249         def_bool y
250         depends on SMP && PPC_PSERIES
251
252 config ARCH_DISCONTIGMEM_DEFAULT
253         def_bool y
254         depends on ARCH_DISCONTIGMEM_ENABLE
255
256 config ARCH_FLATMEM_ENABLE
257         def_bool y
258
259 config ARCH_SPARSEMEM_ENABLE
260         def_bool y
261         depends on ARCH_DISCONTIGMEM_ENABLE
262
263 source "mm/Kconfig"
264
265 config HAVE_ARCH_EARLY_PFN_TO_NID
266         def_bool y
267         depends on NEED_MULTIPLE_NODES
268
269 # Some NUMA nodes have memory ranges that span
270 # other nodes.  Even though a pfn is valid and
271 # between a node's start and end pfns, it may not
272 # reside on that node.
273 #
274 # This is a relatively temporary hack that should
275 # be able to go away when sparsemem is fully in
276 # place
277 config NODES_SPAN_OTHER_NODES
278         def_bool y
279         depends on NEED_MULTIPLE_NODES
280
281 config NUMA
282         bool "NUMA support"
283         default y if DISCONTIGMEM || SPARSEMEM
284
285 config SCHED_SMT
286         bool "SMT (Hyperthreading) scheduler support"
287         depends on SMP
288         default off
289         help
290           SMT scheduler support improves the CPU scheduler's decision making
291           when dealing with POWER5 cpus at a cost of slightly increased
292           overhead in some places. If unsure say N here.
293
294 source "kernel/Kconfig.preempt"
295 source kernel/Kconfig.hz
296
297 config EEH
298         bool "PCI Extended Error Handling (EEH)" if EMBEDDED
299         depends on PPC_PSERIES
300         default y if !EMBEDDED
301
302 #
303 # Use the generic interrupt handling code in kernel/irq/:
304 #
305 config GENERIC_HARDIRQS
306         bool
307         default y
308
309 config PPC_RTAS
310         bool
311         depends on PPC_PSERIES || PPC_BPA
312         default y
313
314 config RTAS_PROC
315         bool "Proc interface to RTAS"
316         depends on PPC_RTAS
317         default y
318
319 config RTAS_FLASH
320         tristate "Firmware flash interface"
321         depends on RTAS_PROC
322
323 config SCANLOG
324         tristate "Scanlog dump interface"
325         depends on RTAS_PROC && PPC_PSERIES
326
327 config LPARCFG
328         tristate "LPAR Configuration Data"
329         depends on PPC_PSERIES || PPC_ISERIES
330         help
331         Provide system capacity information via human readable
332         <key word>=<value> pairs through a /proc/ppc64/lparcfg interface.
333
334 config SECCOMP
335         bool "Enable seccomp to safely compute untrusted bytecode"
336         depends on PROC_FS
337         default y
338         help
339           This kernel feature is useful for number crunching applications
340           that may need to compute untrusted bytecode during their
341           execution. By using pipes or other transports made available to
342           the process as file descriptors supporting the read/write
343           syscalls, it's possible to isolate those applications in
344           their own address space using seccomp. Once seccomp is
345           enabled via /proc/<pid>/seccomp, it cannot be disabled
346           and the task is only allowed to execute a few safe syscalls
347           defined by each seccomp mode.
348
349           If unsure, say Y. Only embedded should say N here.
350
351 source "fs/Kconfig.binfmt"
352
353 config HOTPLUG_CPU
354         bool "Support for hot-pluggable CPUs"
355         depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
356         select HOTPLUG
357         ---help---
358           Say Y here to be able to turn CPUs off and on.
359
360           Say N if you are unsure.
361
362 config PROC_DEVICETREE
363         bool "Support for Open Firmware device tree in /proc"
364         depends on !PPC_ISERIES
365         help
366           This option adds a device-tree directory under /proc which contains
367           an image of the device tree that the kernel copies from Open
368           Firmware. If unsure, say Y here.
369
370 config CMDLINE_BOOL
371         bool "Default bootloader kernel arguments"
372         depends on !PPC_ISERIES
373
374 config CMDLINE
375         string "Initial kernel command string"
376         depends on CMDLINE_BOOL
377         default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
378         help
379           On some platforms, there is currently no way for the boot loader to
380           pass arguments to the kernel. For these platforms, you can supply
381           some command-line options at build time by entering them here.  In
382           most cases you will need to specify the root device here.
383
384 endmenu
385
386 config ISA_DMA_API
387         bool
388         default y
389
390 menu "Bus Options"
391
392 config ISA
393         bool
394         help
395           Find out whether you have ISA slots on your motherboard.  ISA is the
396           name of a bus system, i.e. the way the CPU talks to the other stuff
397           inside your box.  If you have an Apple machine, say N here; if you
398           have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
399           you have an embedded board, consult your board documentation.
400
401 config SBUS
402         bool
403
404 config MCA
405         bool
406
407 config EISA
408         bool
409
410 config PCI
411         bool "support for PCI devices" if (EMBEDDED && PPC_ISERIES)
412         default y
413         help
414           Find out whether your system includes a PCI bus. PCI is the name of
415           a bus system, i.e. the way the CPU talks to the other stuff inside
416           your box.  If you say Y here, the kernel will include drivers and
417           infrastructure code to support PCI bus devices.
418
419 config PCI_DOMAINS
420         bool
421         default PCI
422
423 source "drivers/pci/Kconfig"
424
425 source "drivers/pcmcia/Kconfig"
426
427 source "drivers/pci/hotplug/Kconfig"
428
429 endmenu
430
431 source "net/Kconfig"
432
433 source "drivers/Kconfig"
434
435 source "fs/Kconfig"
436
437 menu "iSeries device drivers"
438         depends on PPC_ISERIES
439
440 config VIOCONS
441         tristate "iSeries Virtual Console Support"
442
443 config VIODASD
444         tristate "iSeries Virtual I/O disk support"
445         help
446           If you are running on an iSeries system and you want to use
447           virtual disks created and managed by OS/400, say Y.
448
449 config VIOCD
450         tristate "iSeries Virtual I/O CD support"
451         help
452           If you are running Linux on an IBM iSeries system and you want to
453           read a CD drive owned by OS/400, say Y here.
454
455 config VIOTAPE
456         tristate "iSeries Virtual Tape Support"
457         help
458           If you are running Linux on an iSeries system and you want Linux
459           to read and/or write a tape drive owned by OS/400, say Y here.
460
461 endmenu
462
463 config VIOPATH
464         bool
465         depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || VETH
466         default y
467
468 source "arch/ppc64/oprofile/Kconfig"
469
470 source "arch/ppc64/Kconfig.debug"
471
472 source "security/Kconfig"
473
474 config KEYS_COMPAT
475         bool
476         depends on COMPAT && KEYS
477         default y
478
479 source "crypto/Kconfig"
480
481 source "lib/Kconfig"