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