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