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