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