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