blob: aa13a9d95ea2774123cc89e31d32df902a58840b [file] [log] [blame]
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001# For a description of the syntax of this configuration file,
2# see Documentation/kbuild/kconfig-language.txt.
3#
4
5mainmenu "Linux/PowerPC Kernel Configuration"
6
7config PPC64
8 bool "64-bit kernel"
9 default n
10 help
11 This option selects whether a 32-bit or a 64-bit kernel
12 will be built.
13
14config PPC32
15 bool
16 default y if !PPC64
17
18config 64BIT
19 bool
20 default y if PPC64
21
22config PPC_MERGE
23 def_bool y
24
25config MMU
26 bool
27 default y
28
29config UID16
30 bool
31
32config GENERIC_HARDIRQS
33 bool
34 default y
35
36config RWSEM_GENERIC_SPINLOCK
37 bool
38
39config RWSEM_XCHGADD_ALGORITHM
40 bool
41 default y
42
43config GENERIC_CALIBRATE_DELAY
44 bool
45 default y
46
47config PPC
48 bool
49 default y
50
51config EARLY_PRINTK
52 bool
53 default y if PPC64
54
55config COMPAT
56 bool
57 default y if PPC64
58
59config SYSVIPC_COMPAT
60 bool
61 depends on COMPAT && SYSVIPC
62 default y
63
64# All PPC32s use generic nvram driver through ppc_md
65config GENERIC_NVRAM
66 bool
67 default y if PPC32
68
69config SCHED_NO_NO_OMIT_FRAME_POINTER
70 bool
71 default y
72
73config ARCH_MAY_HAVE_PC_FDC
74 bool
75 default y
76
77menu "Processor support"
78choice
79 prompt "Processor Type"
80 depends on PPC32
81 default 6xx
82
83config 6xx
84 bool "6xx/7xx/74xx"
85 select PPC_FPU
86 help
87 There are four families of PowerPC chips supported. The more common
88 types (601, 603, 604, 740, 750, 7400), the Motorola embedded
89 versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
90 embedded versions (403 and 405) and the high end 64 bit Power
91 processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
92
93 Unless you are building a kernel for one of the embedded processor
94 systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
95 Note that the kernel runs in 32-bit mode even on 64-bit chips.
96
97config PPC_52xx
98 bool "Freescale 52xx"
99
100config PPC_82xx
101 bool "Freescale 82xx"
102
103config PPC_83xx
104 bool "Freescale 83xx"
105
106config 40x
107 bool "AMCC 40x"
108
109config 44x
110 bool "AMCC 44x"
111
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000112config 8xx
113 bool "Freescale 8xx"
114
115config E200
116 bool "Freescale e200"
117
118config E500
119 bool "Freescale e500"
120endchoice
121
122config POWER4_ONLY
123 bool "Optimize for POWER4"
Paul Mackerras187a0062005-10-06 12:49:05 +1000124 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000125 default n
126 ---help---
127 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
128 The resulting binary will not work on POWER3 or RS64 processors
129 when compiled with binutils 2.15 or later.
130
131config POWER3
132 bool
Paul Mackerras187a0062005-10-06 12:49:05 +1000133 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000134 default y if !POWER4_ONLY
135
136config POWER4
Paul Mackerras187a0062005-10-06 12:49:05 +1000137 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000138 def_bool y
139
140config PPC_FPU
Paul Mackerras187a0062005-10-06 12:49:05 +1000141 bool
142 default y if PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000143
144config BOOKE
145 bool
146 depends on E200 || E500
147 default y
148
149config FSL_BOOKE
150 bool
151 depends on E200 || E500
152 default y
153
154config PTE_64BIT
155 bool
156 depends on 44x || E500
157 default y if 44x
158 default y if E500 && PHYS_64BIT
159
160config PHYS_64BIT
161 bool 'Large physical address support' if E500
162 depends on 44x || E500
163 default y if 44x
164 ---help---
165 This option enables kernel support for larger than 32-bit physical
166 addresses. This features is not be available on all e500 cores.
167
168 If in doubt, say N here.
169
170config ALTIVEC
171 bool "AltiVec Support"
172 depends on 6xx || POWER4
173 ---help---
174 This option enables kernel support for the Altivec extensions to the
175 PowerPC processor. The kernel currently supports saving and restoring
176 altivec registers, and turning on the 'altivec enable' bit so user
177 processes can execute altivec instructions.
178
179 This option is only usefully if you have a processor that supports
180 altivec (G4, otherwise known as 74xx series), but does not have
181 any affect on a non-altivec cpu (it does, however add code to the
182 kernel).
183
184 If in doubt, say Y here.
185
186config SPE
187 bool "SPE Support"
188 depends on E200 || E500
189 ---help---
190 This option enables kernel support for the Signal Processing
191 Extensions (SPE) to the PowerPC processor. The kernel currently
192 supports saving and restoring SPE registers, and turning on the
193 'spe enable' bit so user processes can execute SPE instructions.
194
195 This option is only useful if you have a processor that supports
196 SPE (e500, otherwise known as 85xx series), but does not have any
197 effect on a non-spe cpu (it does, however add code to the kernel).
198
199 If in doubt, say Y here.
200
201config PPC_STD_MMU
202 bool
203 depends on 6xx || POWER3 || POWER4 || PPC64
204 default y
205
206config PPC_STD_MMU_32
207 def_bool y
208 depends on PPC_STD_MMU && PPC32
209
210config SMP
211 depends on PPC_STD_MMU
212 bool "Symmetric multi-processing support"
213 ---help---
214 This enables support for systems with more than one CPU. If you have
215 a system with only one CPU, say N. If you have a system with more
216 than one CPU, say Y. Note that the kernel does not currently
217 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
218 since they have inadequate hardware support for multiprocessor
219 operation.
220
221 If you say N here, the kernel will run on single and multiprocessor
222 machines, but will use only one CPU of a multiprocessor machine. If
223 you say Y here, the kernel will run on single-processor machines.
224 On a single-processor machine, the kernel will run faster if you say
225 N here.
226
227 If you don't know what to do here, say N.
228
229config NR_CPUS
230 int "Maximum number of CPUs (2-32)"
231 range 2 128
232 depends on SMP
233 default "32" if PPC64
234 default "4"
235
236config NOT_COHERENT_CACHE
237 bool
238 depends on 4xx || 8xx || E200
239 default y
240endmenu
241
242source "init/Kconfig"
243
244menu "Platform support"
245 depends on PPC64 || 6xx
246
247choice
248 prompt "Machine type"
249 default PPC_MULTIPLATFORM
250
251config PPC_MULTIPLATFORM
252 bool "Generic desktop/server/laptop"
253 help
254 Select this option if configuring for an IBM pSeries or
255 RS/6000 machine, an Apple machine, or a PReP, CHRP,
256 Maple or Cell-based machine.
257
258config PPC_ISERIES
259 bool "IBM Legacy iSeries"
260 depends on PPC64
261
262config EMBEDDED6xx
263 bool "Embedded 6xx/7xx/7xxx-based board"
264 depends on PPC32
265
266config APUS
267 bool "Amiga-APUS"
268 depends on PPC32 && BROKEN
269 help
270 Select APUS if configuring for a PowerUP Amiga.
271 More information is available at:
272 <http://linux-apus.sourceforge.net/>.
273endchoice
274
275config PPC_PSERIES
276 depends on PPC_MULTIPLATFORM && PPC64
277 bool " IBM pSeries & new (POWER5-based) iSeries"
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000278 select PPC_I8259
Paul Mackerras033ef332005-10-26 17:05:24 +1000279 select PPC_RTAS
280 select RTAS_ERROR_LOGGING
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500281 select RTAS_FW
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000282 default y
283
284config PPC_CHRP
285 bool " Common Hardware Reference Platform (CHRP) based machines"
286 depends on PPC_MULTIPLATFORM && PPC32
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000287 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000288 select PPC_INDIRECT_PCI
Paul Mackerras033ef332005-10-26 17:05:24 +1000289 select PPC_RTAS
Paul Mackerras830825d2005-10-26 17:16:38 +1000290 select PPC_MPC106
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000291 default y
292
293config PPC_PMAC
294 bool " Apple PowerMac based machines"
295 depends on PPC_MULTIPLATFORM
Paul Mackerras25635c72005-10-26 16:36:55 +1000296 select PPC_INDIRECT_PCI if PPC32
Paul Mackerrasb6a4ce52005-10-26 22:54:17 +1000297 select PPC_MPC106 if PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000298 default y
299
300config PPC_PMAC64
301 bool
302 depends on PPC_PMAC && POWER4
Paul Mackerras35499c02005-10-22 16:02:39 +1000303 select U3_DART
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000304 default y
305
306config PPC_PREP
307 bool " PowerPC Reference Platform (PReP) based machines"
308 depends on PPC_MULTIPLATFORM && PPC32
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000309 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000310 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000311 default y
312
313config PPC_MAPLE
314 depends on PPC_MULTIPLATFORM && PPC64
315 bool " Maple 970FX Evaluation Board"
316 select U3_DART
317 select MPIC_BROKEN_U3
318 default n
319 help
320 This option enables support for the Maple 970FX Evaluation Board.
321 For more informations, refer to <http://www.970eval.com>
322
Arnd Bergmannf3f66f52005-10-31 20:08:37 -0500323config PPC_CELL
324 bool " Cell Broadband Processor Architecture"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000325 depends on PPC_MULTIPLATFORM && PPC64
Paul Mackerras033ef332005-10-26 17:05:24 +1000326 select PPC_RTAS
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500327 select RTAS_FW
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000328
329config PPC_OF
330 bool
Paul Mackerras187a0062005-10-06 12:49:05 +1000331 depends on PPC_MULTIPLATFORM # for now
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000332 default y
333
334config XICS
335 depends on PPC_PSERIES
336 bool
337 default y
338
339config U3_DART
340 bool
341 depends on PPC_MULTIPLATFORM && PPC64
342 default n
343
344config MPIC
Paul Mackerrasbbd0abd2005-10-26 21:45:56 +1000345 depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000346 bool
347 default y
348
Paul Mackerras033ef332005-10-26 17:05:24 +1000349config PPC_RTAS
350 bool
351 default n
352
353config RTAS_ERROR_LOGGING
354 bool
355 depends on PPC_RTAS
356 default n
357
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500358config RTAS_FW
359 bool
360 depends on PPC_RTAS
361 default n
362
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000363config MPIC_BROKEN_U3
364 bool
365 depends on PPC_MAPLE
366 default y
367
Arnd Bergmannf3f66f52005-10-31 20:08:37 -0500368config CELL_IIC
369 depends on PPC_CELL
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000370 bool
371 default y
372
373config IBMVIO
374 depends on PPC_PSERIES || PPC_ISERIES
375 bool
376 default y
377
Paul Mackerras830825d2005-10-26 17:16:38 +1000378config PPC_MPC106
379 bool
380 default n
381
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000382source "drivers/cpufreq/Kconfig"
383
384config CPU_FREQ_PMAC
385 bool "Support for Apple PowerBooks"
386 depends on CPU_FREQ && ADB_PMU && PPC32
387 select CPU_FREQ_TABLE
388 help
389 This adds support for frequency switching on Apple PowerBooks,
390 this currently includes some models of iBook & Titanium
391 PowerBook.
392
393config PPC601_SYNC_FIX
394 bool "Workarounds for PPC601 bugs"
395 depends on 6xx && (PPC_PREP || PPC_PMAC)
396 help
397 Some versions of the PPC601 (the first PowerPC chip) have bugs which
398 mean that extra synchronization instructions are required near
399 certain instructions, typically those that make major changes to the
400 CPU state. These extra instructions reduce performance slightly.
401 If you say N here, these extra instructions will not be included,
402 resulting in a kernel which will run faster but may not run at all
403 on some systems with the PPC601 chip.
404
405 If in doubt, say Y here.
406
407config TAU
408 bool "Thermal Management Support"
409 depends on 6xx
410 help
411 G3 and G4 processors have an on-chip temperature sensor called the
412 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
413 temperature within 2-4 degrees Celsius. This option shows the current
414 on-die temperature in /proc/cpuinfo if the cpu supports it.
415
416 Unfortunately, on some chip revisions, this sensor is very inaccurate
417 and in some cases, does not work at all, so don't assume the cpu
418 temp is actually what /proc/cpuinfo says it is.
419
420config TAU_INT
421 bool "Interrupt driven TAU driver (DANGEROUS)"
422 depends on TAU
423 ---help---
424 The TAU supports an interrupt driven mode which causes an interrupt
425 whenever the temperature goes out of range. This is the fastest way
426 to get notified the temp has exceeded a range. With this option off,
427 a timer is used to re-check the temperature periodically.
428
429 However, on some cpus it appears that the TAU interrupt hardware
430 is buggy and can cause a situation which would lead unexplained hard
431 lockups.
432
433 Unless you are extending the TAU driver, or enjoy kernel/hardware
434 debugging, leave this option off.
435
436config TAU_AVERAGE
437 bool "Average high and low temp"
438 depends on TAU
439 ---help---
440 The TAU hardware can compare the temperature to an upper and lower
441 bound. The default behavior is to show both the upper and lower
442 bound in /proc/cpuinfo. If the range is large, the temperature is
443 either changing a lot, or the TAU hardware is broken (likely on some
444 G4's). If the range is small (around 4 degrees), the temperature is
445 relatively stable. If you say Y here, a single temperature value,
446 halfway between the upper and lower bounds, will be reported in
447 /proc/cpuinfo.
448
449 If in doubt, say N here.
450endmenu
451
452source arch/powerpc/platforms/embedded6xx/Kconfig
453source arch/powerpc/platforms/4xx/Kconfig
454source arch/powerpc/platforms/85xx/Kconfig
455source arch/powerpc/platforms/8xx/Kconfig
456
457menu "Kernel options"
458
459config HIGHMEM
460 bool "High memory support"
461 depends on PPC32
462
463source kernel/Kconfig.hz
464source kernel/Kconfig.preempt
465source "fs/Kconfig.binfmt"
466
467# We optimistically allocate largepages from the VM, so make the limit
468# large enough (16MB). This badly named config option is actually
469# max order + 1
470config FORCE_MAX_ZONEORDER
471 int
472 depends on PPC64
473 default "13"
474
475config MATH_EMULATION
476 bool "Math emulation"
477 depends on 4xx || 8xx || E200 || E500
478 ---help---
479 Some PowerPC chips designed for embedded applications do not have
480 a floating-point unit and therefore do not implement the
481 floating-point instructions in the PowerPC instruction set. If you
482 say Y here, the kernel will include code to emulate a floating-point
483 unit, which will allow programs that use floating-point
484 instructions to run.
485
486config IOMMU_VMERGE
487 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
488 depends on EXPERIMENTAL && PPC64
489 default n
490 help
491 Cause IO segments sent to a device for DMA to be merged virtually
492 by the IOMMU when they happen to have been allocated contiguously.
493 This doesn't add pressure to the IOMMU allocator. However, some
494 drivers don't support getting large merged segments coming back
495 from *_map_sg(). Say Y if you know the drivers you are using are
496 properly handling this case.
497
498config HOTPLUG_CPU
499 bool "Support for enabling/disabling CPUs"
500 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
501 ---help---
502 Say Y here to be able to disable and re-enable individual
503 CPUs at runtime on SMP machines.
504
505 Say N if you are unsure.
506
507config KEXEC
508 bool "kexec system call (EXPERIMENTAL)"
509 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
510 help
511 kexec is a system call that implements the ability to shutdown your
512 current kernel, and to start another kernel. It is like a reboot
513 but it is indepedent of the system firmware. And like a reboot
514 you can start any kernel with it, not just Linux.
515
516 The name comes from the similiarity to the exec system call.
517
518 It is an ongoing process to be certain the hardware in a machine
519 is properly shutdown, so do not be surprised if this code does not
520 initially work for you. It may help to enable device hotplugging
521 support. As of this writing the exact hardware interface is
522 strongly in flux, so no good recommendation can be made.
523
524config EMBEDDEDBOOT
525 bool
526 depends on 8xx || 8260
527 default y
528
529config PC_KEYBOARD
530 bool "PC PS/2 style Keyboard"
531 depends on 4xx || CPM2
532
533config PPCBUG_NVRAM
534 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
535 default y if PPC_PREP
536
537config IRQ_ALL_CPUS
538 bool "Distribute interrupts on all CPUs by default"
539 depends on SMP && !MV64360
540 help
541 This option gives the kernel permission to distribute IRQs across
542 multiple CPUs. Saying N here will route all IRQs to the first
543 CPU. Generally saying Y is safe, although some problems have been
544 reported with SMP Power Macintoshes with this option enabled.
545
546source "arch/powerpc/platforms/pseries/Kconfig"
547
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700548config NUMA
549 bool "NUMA support"
550 depends on PPC64
551 default y if SMP && PPC_PSERIES
552
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000553config ARCH_SELECT_MEMORY_MODEL
554 def_bool y
555 depends on PPC64
556
557config ARCH_FLATMEM_ENABLE
558 def_bool y
559 depends on PPC64 && !NUMA
560
561config ARCH_DISCONTIGMEM_ENABLE
562 def_bool y
563 depends on SMP && PPC_PSERIES
564
565config ARCH_DISCONTIGMEM_DEFAULT
566 def_bool y
567 depends on ARCH_DISCONTIGMEM_ENABLE
568
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000569config ARCH_SPARSEMEM_ENABLE
570 def_bool y
571 depends on ARCH_DISCONTIGMEM_ENABLE
572
573source "mm/Kconfig"
574
575config HAVE_ARCH_EARLY_PFN_TO_NID
576 def_bool y
577 depends on NEED_MULTIPLE_NODES
578
579# Some NUMA nodes have memory ranges that span
580# other nodes. Even though a pfn is valid and
581# between a node's start and end pfns, it may not
582# reside on that node.
583#
584# This is a relatively temporary hack that should
585# be able to go away when sparsemem is fully in
586# place
587
588config NODES_SPAN_OTHER_NODES
589 def_bool y
590 depends on NEED_MULTIPLE_NODES
591
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000592config SCHED_SMT
593 bool "SMT (Hyperthreading) scheduler support"
594 depends on PPC64 && SMP
595 default off
596 help
597 SMT scheduler support improves the CPU scheduler's decision making
598 when dealing with POWER5 cpus at a cost of slightly increased
599 overhead in some places. If unsure say N here.
600
601config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000602 bool "Support for device tree in /proc"
603 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000604 help
605 This option adds a device-tree directory under /proc which contains
606 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000607 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000608
609source "arch/powerpc/platforms/prep/Kconfig"
610
611config CMDLINE_BOOL
612 bool "Default bootloader kernel arguments"
613 depends on !PPC_ISERIES
614
615config CMDLINE
616 string "Initial kernel command string"
617 depends on CMDLINE_BOOL
618 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
619 help
620 On some platforms, there is currently no way for the boot loader to
621 pass arguments to the kernel. For these platforms, you can supply
622 some command-line options at build time by entering them here. In
623 most cases you will need to specify the root device here.
624
625if !44x || BROKEN
626source kernel/power/Kconfig
627endif
628
629config SECCOMP
630 bool "Enable seccomp to safely compute untrusted bytecode"
631 depends on PROC_FS
632 default y
633 help
634 This kernel feature is useful for number crunching applications
635 that may need to compute untrusted bytecode during their
636 execution. By using pipes or other transports made available to
637 the process as file descriptors supporting the read/write
638 syscalls, it's possible to isolate those applications in
639 their own address space using seccomp. Once seccomp is
640 enabled via /proc/<pid>/seccomp, it cannot be disabled
641 and the task is only allowed to execute a few safe syscalls
642 defined by each seccomp mode.
643
644 If unsure, say Y. Only embedded should say N here.
645
646endmenu
647
648config ISA_DMA_API
649 bool
650 default y
651
652menu "Bus options"
653
654config ISA
655 bool "Support for ISA-bus hardware"
656 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000657 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000658 help
659 Find out whether you have ISA slots on your motherboard. ISA is the
660 name of a bus system, i.e. the way the CPU talks to the other stuff
661 inside your box. If you have an Apple machine, say N here; if you
662 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
663 you have an embedded board, consult your board documentation.
664
665config GENERIC_ISA_DMA
666 bool
667 depends on PPC64 || POWER4 || 6xx && !CPM2
668 default y
669
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000670config PPC_I8259
671 bool
672 default y if 85xx
673 default n
674
Paul Mackerras25635c72005-10-26 16:36:55 +1000675config PPC_INDIRECT_PCI
676 bool
677 depends on PCI
678 default y if 40x || 44x || 85xx || 83xx
679 default n
680
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000681config EISA
682 bool
683
684config SBUS
685 bool
686
687# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
688config MCA
689 bool
690
691config PCI
692 bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
693 default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
694 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
695 default PCI_QSPAN if !4xx && !CPM2 && 8xx
696 help
697 Find out whether your system includes a PCI bus. PCI is the name of
698 a bus system, i.e. the way the CPU talks to the other stuff inside
699 your box. If you say Y here, the kernel will include drivers and
700 infrastructure code to support PCI bus devices.
701
702config PCI_DOMAINS
703 bool
704 default PCI
705
706config MPC83xx_PCI2
707 bool " Supprt for 2nd PCI host controller"
708 depends on PCI && MPC834x
709 default y if MPC834x_SYS
710
711config PCI_QSPAN
712 bool "QSpan PCI"
713 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000714 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000715 help
716 Say Y here if you have a system based on a Motorola 8xx-series
717 embedded processor with a QSPAN PCI interface, otherwise say N.
718
719config PCI_8260
720 bool
721 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +1000722 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000723 default y
724
725config 8260_PCI9
726 bool " Enable workaround for MPC826x erratum PCI 9"
727 depends on PCI_8260 && !ADS8272
728 default y
729
730choice
731 prompt " IDMA channel for PCI 9 workaround"
732 depends on 8260_PCI9
733
734config 8260_PCI9_IDMA1
735 bool "IDMA1"
736
737config 8260_PCI9_IDMA2
738 bool "IDMA2"
739
740config 8260_PCI9_IDMA3
741 bool "IDMA3"
742
743config 8260_PCI9_IDMA4
744 bool "IDMA4"
745
746endchoice
747
748source "drivers/pci/Kconfig"
749
750source "drivers/pcmcia/Kconfig"
751
752source "drivers/pci/hotplug/Kconfig"
753
754endmenu
755
756menu "Advanced setup"
757 depends on PPC32
758
759config ADVANCED_OPTIONS
760 bool "Prompt for advanced kernel configuration options"
761 help
762 This option will enable prompting for a variety of advanced kernel
763 configuration options. These options can cause the kernel to not
764 work if they are set incorrectly, but can be used to optimize certain
765 aspects of kernel memory management.
766
767 Unless you know what you are doing, say N here.
768
769comment "Default settings for advanced configuration options are used"
770 depends on !ADVANCED_OPTIONS
771
772config HIGHMEM_START_BOOL
773 bool "Set high memory pool address"
774 depends on ADVANCED_OPTIONS && HIGHMEM
775 help
776 This option allows you to set the base address of the kernel virtual
777 area used to map high memory pages. This can be useful in
778 optimizing the layout of kernel virtual memory.
779
780 Say N here unless you know what you are doing.
781
782config HIGHMEM_START
783 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
784 default "0xfe000000"
785
786config LOWMEM_SIZE_BOOL
787 bool "Set maximum low memory"
788 depends on ADVANCED_OPTIONS
789 help
790 This option allows you to set the maximum amount of memory which
791 will be used as "low memory", that is, memory which the kernel can
792 access directly, without having to set up a kernel virtual mapping.
793 This can be useful in optimizing the layout of kernel virtual
794 memory.
795
796 Say N here unless you know what you are doing.
797
798config LOWMEM_SIZE
799 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
800 default "0x30000000"
801
802config KERNEL_START_BOOL
803 bool "Set custom kernel base address"
804 depends on ADVANCED_OPTIONS
805 help
806 This option allows you to set the kernel virtual address at which
807 the kernel will map low memory (the kernel image will be linked at
808 this address). This can be useful in optimizing the virtual memory
809 layout of the system.
810
811 Say N here unless you know what you are doing.
812
813config KERNEL_START
814 hex "Virtual address of kernel base" if KERNEL_START_BOOL
815 default "0xc0000000"
816
817config TASK_SIZE_BOOL
818 bool "Set custom user task size"
819 depends on ADVANCED_OPTIONS
820 help
821 This option allows you to set the amount of virtual address space
822 allocated to user tasks. This can be useful in optimizing the
823 virtual memory layout of the system.
824
825 Say N here unless you know what you are doing.
826
827config TASK_SIZE
828 hex "Size of user task space" if TASK_SIZE_BOOL
829 default "0x80000000"
830
831config CONSISTENT_START_BOOL
832 bool "Set custom consistent memory pool address"
833 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
834 help
835 This option allows you to set the base virtual address
836 of the the consistent memory pool. This pool of virtual
837 memory is used to make consistent memory allocations.
838
839config CONSISTENT_START
840 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
841 default "0xff100000" if NOT_COHERENT_CACHE
842
843config CONSISTENT_SIZE_BOOL
844 bool "Set custom consistent memory pool size"
845 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
846 help
847 This option allows you to set the size of the the
848 consistent memory pool. This pool of virtual memory
849 is used to make consistent memory allocations.
850
851config CONSISTENT_SIZE
852 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
853 default "0x00200000" if NOT_COHERENT_CACHE
854
855config BOOT_LOAD_BOOL
856 bool "Set the boot link/load address"
857 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
858 help
859 This option allows you to set the initial load address of the zImage
860 or zImage.initrd file. This can be useful if you are on a board
861 which has a small amount of memory.
862
863 Say N here unless you know what you are doing.
864
865config BOOT_LOAD
866 hex "Link/load address for booting" if BOOT_LOAD_BOOL
867 default "0x00400000" if 40x || 8xx || 8260
868 default "0x01000000" if 44x
869 default "0x00800000"
870
871config PIN_TLB
872 bool "Pinned Kernel TLBs (860 ONLY)"
873 depends on ADVANCED_OPTIONS && 8xx
874endmenu
875
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000876if PPC64
877config KERNEL_START
878 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000879 default "0xc000000000000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000880endif
881
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000882source "net/Kconfig"
883
884source "drivers/Kconfig"
885
886source "fs/Kconfig"
887
888# XXX source "arch/ppc/8xx_io/Kconfig"
889
890# XXX source "arch/ppc/8260_io/Kconfig"
891
892source "arch/powerpc/platforms/iseries/Kconfig"
893
894source "lib/Kconfig"
895
896source "arch/powerpc/oprofile/Kconfig"
897
898source "arch/powerpc/Kconfig.debug"
899
900source "security/Kconfig"
901
902config KEYS_COMPAT
903 bool
904 depends on COMPAT && KEYS
905 default y
906
907source "crypto/Kconfig"