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