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