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