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