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