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