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