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