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