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