blob: 964ded4a757f7ae98e90e90e7ca8f51dc1f03587 [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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000281 default y
282
283config PPC_CHRP
284 bool " Common Hardware Reference Platform (CHRP) based machines"
285 depends on PPC_MULTIPLATFORM && PPC32
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000286 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000287 select PPC_INDIRECT_PCI
Paul Mackerras033ef332005-10-26 17:05:24 +1000288 select PPC_RTAS
Paul Mackerras830825d2005-10-26 17:16:38 +1000289 select PPC_MPC106
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000290 default y
291
292config PPC_PMAC
293 bool " Apple PowerMac based machines"
294 depends on PPC_MULTIPLATFORM
Paul Mackerras25635c72005-10-26 16:36:55 +1000295 select PPC_INDIRECT_PCI if PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000296 default y
297
298config PPC_PMAC64
299 bool
300 depends on PPC_PMAC && POWER4
Paul Mackerras35499c02005-10-22 16:02:39 +1000301 select U3_DART
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000302 default y
303
304config PPC_PREP
305 bool " PowerPC Reference Platform (PReP) based machines"
306 depends on PPC_MULTIPLATFORM && PPC32
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000307 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000308 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000309 default y
310
311config PPC_MAPLE
312 depends on PPC_MULTIPLATFORM && PPC64
313 bool " Maple 970FX Evaluation Board"
314 select U3_DART
315 select MPIC_BROKEN_U3
316 default n
317 help
318 This option enables support for the Maple 970FX Evaluation Board.
319 For more informations, refer to <http://www.970eval.com>
320
321config PPC_BPA
322 bool " Broadband Processor Architecture"
323 depends on PPC_MULTIPLATFORM && PPC64
Paul Mackerras033ef332005-10-26 17:05:24 +1000324 select PPC_RTAS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000325
326config PPC_OF
327 bool
Paul Mackerras187a0062005-10-06 12:49:05 +1000328 depends on PPC_MULTIPLATFORM # for now
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000329 default y
330
331config XICS
332 depends on PPC_PSERIES
333 bool
334 default y
335
336config U3_DART
337 bool
338 depends on PPC_MULTIPLATFORM && PPC64
339 default n
340
341config MPIC
342 depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE
343 bool
344 default y
345
Paul Mackerras033ef332005-10-26 17:05:24 +1000346config PPC_RTAS
347 bool
348 default n
349
350config RTAS_ERROR_LOGGING
351 bool
352 depends on PPC_RTAS
353 default n
354
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000355config MPIC_BROKEN_U3
356 bool
357 depends on PPC_MAPLE
358 default y
359
360config BPA_IIC
361 depends on PPC_BPA
362 bool
363 default y
364
365config IBMVIO
366 depends on PPC_PSERIES || PPC_ISERIES
367 bool
368 default y
369
Paul Mackerras830825d2005-10-26 17:16:38 +1000370config PPC_MPC106
371 bool
372 default n
373
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000374source "drivers/cpufreq/Kconfig"
375
376config CPU_FREQ_PMAC
377 bool "Support for Apple PowerBooks"
378 depends on CPU_FREQ && ADB_PMU && PPC32
379 select CPU_FREQ_TABLE
380 help
381 This adds support for frequency switching on Apple PowerBooks,
382 this currently includes some models of iBook & Titanium
383 PowerBook.
384
385config PPC601_SYNC_FIX
386 bool "Workarounds for PPC601 bugs"
387 depends on 6xx && (PPC_PREP || PPC_PMAC)
388 help
389 Some versions of the PPC601 (the first PowerPC chip) have bugs which
390 mean that extra synchronization instructions are required near
391 certain instructions, typically those that make major changes to the
392 CPU state. These extra instructions reduce performance slightly.
393 If you say N here, these extra instructions will not be included,
394 resulting in a kernel which will run faster but may not run at all
395 on some systems with the PPC601 chip.
396
397 If in doubt, say Y here.
398
399config TAU
400 bool "Thermal Management Support"
401 depends on 6xx
402 help
403 G3 and G4 processors have an on-chip temperature sensor called the
404 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
405 temperature within 2-4 degrees Celsius. This option shows the current
406 on-die temperature in /proc/cpuinfo if the cpu supports it.
407
408 Unfortunately, on some chip revisions, this sensor is very inaccurate
409 and in some cases, does not work at all, so don't assume the cpu
410 temp is actually what /proc/cpuinfo says it is.
411
412config TAU_INT
413 bool "Interrupt driven TAU driver (DANGEROUS)"
414 depends on TAU
415 ---help---
416 The TAU supports an interrupt driven mode which causes an interrupt
417 whenever the temperature goes out of range. This is the fastest way
418 to get notified the temp has exceeded a range. With this option off,
419 a timer is used to re-check the temperature periodically.
420
421 However, on some cpus it appears that the TAU interrupt hardware
422 is buggy and can cause a situation which would lead unexplained hard
423 lockups.
424
425 Unless you are extending the TAU driver, or enjoy kernel/hardware
426 debugging, leave this option off.
427
428config TAU_AVERAGE
429 bool "Average high and low temp"
430 depends on TAU
431 ---help---
432 The TAU hardware can compare the temperature to an upper and lower
433 bound. The default behavior is to show both the upper and lower
434 bound in /proc/cpuinfo. If the range is large, the temperature is
435 either changing a lot, or the TAU hardware is broken (likely on some
436 G4's). If the range is small (around 4 degrees), the temperature is
437 relatively stable. If you say Y here, a single temperature value,
438 halfway between the upper and lower bounds, will be reported in
439 /proc/cpuinfo.
440
441 If in doubt, say N here.
442endmenu
443
444source arch/powerpc/platforms/embedded6xx/Kconfig
445source arch/powerpc/platforms/4xx/Kconfig
446source arch/powerpc/platforms/85xx/Kconfig
447source arch/powerpc/platforms/8xx/Kconfig
448
449menu "Kernel options"
450
451config HIGHMEM
452 bool "High memory support"
453 depends on PPC32
454
455source kernel/Kconfig.hz
456source kernel/Kconfig.preempt
457source "fs/Kconfig.binfmt"
458
459# We optimistically allocate largepages from the VM, so make the limit
460# large enough (16MB). This badly named config option is actually
461# max order + 1
462config FORCE_MAX_ZONEORDER
463 int
464 depends on PPC64
465 default "13"
466
467config MATH_EMULATION
468 bool "Math emulation"
469 depends on 4xx || 8xx || E200 || E500
470 ---help---
471 Some PowerPC chips designed for embedded applications do not have
472 a floating-point unit and therefore do not implement the
473 floating-point instructions in the PowerPC instruction set. If you
474 say Y here, the kernel will include code to emulate a floating-point
475 unit, which will allow programs that use floating-point
476 instructions to run.
477
478config IOMMU_VMERGE
479 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
480 depends on EXPERIMENTAL && PPC64
481 default n
482 help
483 Cause IO segments sent to a device for DMA to be merged virtually
484 by the IOMMU when they happen to have been allocated contiguously.
485 This doesn't add pressure to the IOMMU allocator. However, some
486 drivers don't support getting large merged segments coming back
487 from *_map_sg(). Say Y if you know the drivers you are using are
488 properly handling this case.
489
490config HOTPLUG_CPU
491 bool "Support for enabling/disabling CPUs"
492 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
493 ---help---
494 Say Y here to be able to disable and re-enable individual
495 CPUs at runtime on SMP machines.
496
497 Say N if you are unsure.
498
499config KEXEC
500 bool "kexec system call (EXPERIMENTAL)"
501 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
502 help
503 kexec is a system call that implements the ability to shutdown your
504 current kernel, and to start another kernel. It is like a reboot
505 but it is indepedent of the system firmware. And like a reboot
506 you can start any kernel with it, not just Linux.
507
508 The name comes from the similiarity to the exec system call.
509
510 It is an ongoing process to be certain the hardware in a machine
511 is properly shutdown, so do not be surprised if this code does not
512 initially work for you. It may help to enable device hotplugging
513 support. As of this writing the exact hardware interface is
514 strongly in flux, so no good recommendation can be made.
515
516config EMBEDDEDBOOT
517 bool
518 depends on 8xx || 8260
519 default y
520
521config PC_KEYBOARD
522 bool "PC PS/2 style Keyboard"
523 depends on 4xx || CPM2
524
525config PPCBUG_NVRAM
526 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
527 default y if PPC_PREP
528
529config IRQ_ALL_CPUS
530 bool "Distribute interrupts on all CPUs by default"
531 depends on SMP && !MV64360
532 help
533 This option gives the kernel permission to distribute IRQs across
534 multiple CPUs. Saying N here will route all IRQs to the first
535 CPU. Generally saying Y is safe, although some problems have been
536 reported with SMP Power Macintoshes with this option enabled.
537
538source "arch/powerpc/platforms/pseries/Kconfig"
539
540config ARCH_SELECT_MEMORY_MODEL
541 def_bool y
542 depends on PPC64
543
544config ARCH_FLATMEM_ENABLE
545 def_bool y
546 depends on PPC64 && !NUMA
547
548config ARCH_DISCONTIGMEM_ENABLE
549 def_bool y
550 depends on SMP && PPC_PSERIES
551
552config ARCH_DISCONTIGMEM_DEFAULT
553 def_bool y
554 depends on ARCH_DISCONTIGMEM_ENABLE
555
556config ARCH_FLATMEM_ENABLE
557 def_bool y
558 depends on PPC64
559
560config ARCH_SPARSEMEM_ENABLE
561 def_bool y
562 depends on ARCH_DISCONTIGMEM_ENABLE
563
564source "mm/Kconfig"
565
566config HAVE_ARCH_EARLY_PFN_TO_NID
567 def_bool y
568 depends on NEED_MULTIPLE_NODES
569
570# Some NUMA nodes have memory ranges that span
571# other nodes. Even though a pfn is valid and
572# between a node's start and end pfns, it may not
573# reside on that node.
574#
575# This is a relatively temporary hack that should
576# be able to go away when sparsemem is fully in
577# place
578
579config NODES_SPAN_OTHER_NODES
580 def_bool y
581 depends on NEED_MULTIPLE_NODES
582
583config NUMA
584 bool "NUMA support"
585 default y if DISCONTIGMEM || SPARSEMEM
586
587config SCHED_SMT
588 bool "SMT (Hyperthreading) scheduler support"
589 depends on PPC64 && SMP
590 default off
591 help
592 SMT scheduler support improves the CPU scheduler's decision making
593 when dealing with POWER5 cpus at a cost of slightly increased
594 overhead in some places. If unsure say N here.
595
596config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000597 bool "Support for device tree in /proc"
598 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000599 help
600 This option adds a device-tree directory under /proc which contains
601 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000602 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000603
604source "arch/powerpc/platforms/prep/Kconfig"
605
606config CMDLINE_BOOL
607 bool "Default bootloader kernel arguments"
608 depends on !PPC_ISERIES
609
610config CMDLINE
611 string "Initial kernel command string"
612 depends on CMDLINE_BOOL
613 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
614 help
615 On some platforms, there is currently no way for the boot loader to
616 pass arguments to the kernel. For these platforms, you can supply
617 some command-line options at build time by entering them here. In
618 most cases you will need to specify the root device here.
619
620if !44x || BROKEN
621source kernel/power/Kconfig
622endif
623
624config SECCOMP
625 bool "Enable seccomp to safely compute untrusted bytecode"
626 depends on PROC_FS
627 default y
628 help
629 This kernel feature is useful for number crunching applications
630 that may need to compute untrusted bytecode during their
631 execution. By using pipes or other transports made available to
632 the process as file descriptors supporting the read/write
633 syscalls, it's possible to isolate those applications in
634 their own address space using seccomp. Once seccomp is
635 enabled via /proc/<pid>/seccomp, it cannot be disabled
636 and the task is only allowed to execute a few safe syscalls
637 defined by each seccomp mode.
638
639 If unsure, say Y. Only embedded should say N here.
640
641endmenu
642
643config ISA_DMA_API
644 bool
645 default y
646
647menu "Bus options"
648
649config ISA
650 bool "Support for ISA-bus hardware"
651 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000652 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000653 help
654 Find out whether you have ISA slots on your motherboard. ISA is the
655 name of a bus system, i.e. the way the CPU talks to the other stuff
656 inside your box. If you have an Apple machine, say N here; if you
657 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
658 you have an embedded board, consult your board documentation.
659
660config GENERIC_ISA_DMA
661 bool
662 depends on PPC64 || POWER4 || 6xx && !CPM2
663 default y
664
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000665config PPC_I8259
666 bool
667 default y if 85xx
668 default n
669
Paul Mackerras25635c72005-10-26 16:36:55 +1000670config PPC_INDIRECT_PCI
671 bool
672 depends on PCI
673 default y if 40x || 44x || 85xx || 83xx
674 default n
675
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000676config EISA
677 bool
678
679config SBUS
680 bool
681
682# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
683config MCA
684 bool
685
686config PCI
687 bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
688 default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
689 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
690 default PCI_QSPAN if !4xx && !CPM2 && 8xx
691 help
692 Find out whether your system includes a PCI bus. PCI is the name of
693 a bus system, i.e. the way the CPU talks to the other stuff inside
694 your box. If you say Y here, the kernel will include drivers and
695 infrastructure code to support PCI bus devices.
696
697config PCI_DOMAINS
698 bool
699 default PCI
700
701config MPC83xx_PCI2
702 bool " Supprt for 2nd PCI host controller"
703 depends on PCI && MPC834x
704 default y if MPC834x_SYS
705
706config PCI_QSPAN
707 bool "QSpan PCI"
708 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000709 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000710 help
711 Say Y here if you have a system based on a Motorola 8xx-series
712 embedded processor with a QSPAN PCI interface, otherwise say N.
713
714config PCI_8260
715 bool
716 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +1000717 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000718 default y
719
720config 8260_PCI9
721 bool " Enable workaround for MPC826x erratum PCI 9"
722 depends on PCI_8260 && !ADS8272
723 default y
724
725choice
726 prompt " IDMA channel for PCI 9 workaround"
727 depends on 8260_PCI9
728
729config 8260_PCI9_IDMA1
730 bool "IDMA1"
731
732config 8260_PCI9_IDMA2
733 bool "IDMA2"
734
735config 8260_PCI9_IDMA3
736 bool "IDMA3"
737
738config 8260_PCI9_IDMA4
739 bool "IDMA4"
740
741endchoice
742
743source "drivers/pci/Kconfig"
744
745source "drivers/pcmcia/Kconfig"
746
747source "drivers/pci/hotplug/Kconfig"
748
749endmenu
750
751menu "Advanced setup"
752 depends on PPC32
753
754config ADVANCED_OPTIONS
755 bool "Prompt for advanced kernel configuration options"
756 help
757 This option will enable prompting for a variety of advanced kernel
758 configuration options. These options can cause the kernel to not
759 work if they are set incorrectly, but can be used to optimize certain
760 aspects of kernel memory management.
761
762 Unless you know what you are doing, say N here.
763
764comment "Default settings for advanced configuration options are used"
765 depends on !ADVANCED_OPTIONS
766
767config HIGHMEM_START_BOOL
768 bool "Set high memory pool address"
769 depends on ADVANCED_OPTIONS && HIGHMEM
770 help
771 This option allows you to set the base address of the kernel virtual
772 area used to map high memory pages. This can be useful in
773 optimizing the layout of kernel virtual memory.
774
775 Say N here unless you know what you are doing.
776
777config HIGHMEM_START
778 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
779 default "0xfe000000"
780
781config LOWMEM_SIZE_BOOL
782 bool "Set maximum low memory"
783 depends on ADVANCED_OPTIONS
784 help
785 This option allows you to set the maximum amount of memory which
786 will be used as "low memory", that is, memory which the kernel can
787 access directly, without having to set up a kernel virtual mapping.
788 This can be useful in optimizing the layout of kernel virtual
789 memory.
790
791 Say N here unless you know what you are doing.
792
793config LOWMEM_SIZE
794 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
795 default "0x30000000"
796
797config KERNEL_START_BOOL
798 bool "Set custom kernel base address"
799 depends on ADVANCED_OPTIONS
800 help
801 This option allows you to set the kernel virtual address at which
802 the kernel will map low memory (the kernel image will be linked at
803 this address). This can be useful in optimizing the virtual memory
804 layout of the system.
805
806 Say N here unless you know what you are doing.
807
808config KERNEL_START
809 hex "Virtual address of kernel base" if KERNEL_START_BOOL
810 default "0xc0000000"
811
812config TASK_SIZE_BOOL
813 bool "Set custom user task size"
814 depends on ADVANCED_OPTIONS
815 help
816 This option allows you to set the amount of virtual address space
817 allocated to user tasks. This can be useful in optimizing the
818 virtual memory layout of the system.
819
820 Say N here unless you know what you are doing.
821
822config TASK_SIZE
823 hex "Size of user task space" if TASK_SIZE_BOOL
824 default "0x80000000"
825
826config CONSISTENT_START_BOOL
827 bool "Set custom consistent memory pool address"
828 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
829 help
830 This option allows you to set the base virtual address
831 of the the consistent memory pool. This pool of virtual
832 memory is used to make consistent memory allocations.
833
834config CONSISTENT_START
835 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
836 default "0xff100000" if NOT_COHERENT_CACHE
837
838config CONSISTENT_SIZE_BOOL
839 bool "Set custom consistent memory pool size"
840 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
841 help
842 This option allows you to set the size of the the
843 consistent memory pool. This pool of virtual memory
844 is used to make consistent memory allocations.
845
846config CONSISTENT_SIZE
847 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
848 default "0x00200000" if NOT_COHERENT_CACHE
849
850config BOOT_LOAD_BOOL
851 bool "Set the boot link/load address"
852 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
853 help
854 This option allows you to set the initial load address of the zImage
855 or zImage.initrd file. This can be useful if you are on a board
856 which has a small amount of memory.
857
858 Say N here unless you know what you are doing.
859
860config BOOT_LOAD
861 hex "Link/load address for booting" if BOOT_LOAD_BOOL
862 default "0x00400000" if 40x || 8xx || 8260
863 default "0x01000000" if 44x
864 default "0x00800000"
865
866config PIN_TLB
867 bool "Pinned Kernel TLBs (860 ONLY)"
868 depends on ADVANCED_OPTIONS && 8xx
869endmenu
870
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000871if PPC64
872config KERNEL_START
873 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000874 default "0xc000000000000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000875endif
876
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000877source "net/Kconfig"
878
879source "drivers/Kconfig"
880
881source "fs/Kconfig"
882
883# XXX source "arch/ppc/8xx_io/Kconfig"
884
885# XXX source "arch/ppc/8260_io/Kconfig"
886
887source "arch/powerpc/platforms/iseries/Kconfig"
888
889source "lib/Kconfig"
890
891source "arch/powerpc/oprofile/Kconfig"
892
893source "arch/powerpc/Kconfig.debug"
894
895source "security/Kconfig"
896
897config KEYS_COMPAT
898 bool
899 depends on COMPAT && KEYS
900 default y
901
902source "crypto/Kconfig"