• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
7source "arch/powerpc/platforms/Kconfig.cputype"
8
9config PPC32
10	bool
11	default y if !PPC64
12
13config 64BIT
14	bool
15	default y if PPC64
16
17config WORD_SIZE
18	int
19	default 64 if PPC64
20	default 32 if !PPC64
21
22config ARCH_PHYS_ADDR_T_64BIT
23       def_bool PPC64 || PHYS_64BIT
24
25config MMU
26	bool
27	default y
28
29config GENERIC_CMOS_UPDATE
30	def_bool y
31
32config GENERIC_TIME
33	def_bool y
34
35config GENERIC_TIME_VSYSCALL
36	def_bool y
37
38config GENERIC_CLOCKEVENTS
39	def_bool y
40
41config GENERIC_HARDIRQS
42	bool
43	default y
44
45config HAVE_SETUP_PER_CPU_AREA
46	def_bool PPC64
47
48config IRQ_PER_CPU
49	bool
50	default y
51
52config STACKTRACE_SUPPORT
53	bool
54	default y
55
56config HAVE_LATENCYTOP_SUPPORT
57	def_bool y
58
59config TRACE_IRQFLAGS_SUPPORT
60	bool
61	depends on PPC64
62	default y
63
64config LOCKDEP_SUPPORT
65	bool
66	default y
67
68config RWSEM_GENERIC_SPINLOCK
69	bool
70
71config RWSEM_XCHGADD_ALGORITHM
72	bool
73	default y
74
75config GENERIC_LOCKBREAK
76	bool
77	default y
78	depends on SMP && PREEMPT
79
80config ARCH_HAS_ILOG2_U32
81	bool
82	default y
83
84config ARCH_HAS_ILOG2_U64
85	bool
86	default y if 64BIT
87
88config GENERIC_HWEIGHT
89	bool
90	default y
91
92config GENERIC_CALIBRATE_DELAY
93	bool
94	default y
95
96config GENERIC_FIND_NEXT_BIT
97	bool
98	default y
99
100config GENERIC_GPIO
101	bool
102	help
103	  Generic GPIO API support
104
105config ARCH_NO_VIRT_TO_BUS
106	def_bool PPC64
107
108config PPC
109	bool
110	default y
111	select HAVE_FTRACE_MCOUNT_RECORD
112	select HAVE_DYNAMIC_FTRACE
113	select HAVE_FUNCTION_TRACER
114	select ARCH_WANT_OPTIONAL_GPIOLIB
115	select HAVE_IDE
116	select HAVE_IOREMAP_PROT
117	select HAVE_EFFICIENT_UNALIGNED_ACCESS
118	select HAVE_KPROBES
119	select HAVE_ARCH_KGDB
120	select HAVE_KRETPROBES
121	select HAVE_ARCH_TRACEHOOK
122	select HAVE_LMB
123	select HAVE_DMA_ATTRS if PPC64
124	select USE_GENERIC_SMP_HELPERS if SMP
125	select HAVE_OPROFILE
126	select HAVE_SYSCALL_WRAPPERS if PPC64
127
128config EARLY_PRINTK
129	bool
130	default y
131
132config COMPAT
133	bool
134	default y if PPC64
135	select COMPAT_BINFMT_ELF
136
137config SYSVIPC_COMPAT
138	bool
139	depends on COMPAT && SYSVIPC
140	default y
141
142# All PPC32s use generic nvram driver through ppc_md
143config GENERIC_NVRAM
144	bool
145	default y if PPC32
146
147config SCHED_OMIT_FRAME_POINTER
148	bool
149	default y
150
151config ARCH_MAY_HAVE_PC_FDC
152	bool
153	default !PPC_PSERIES || PCI
154
155config PPC_OF
156	def_bool y
157
158config OF
159	def_bool y
160
161config PPC_UDBG_16550
162	bool
163	default n
164
165config GENERIC_TBSYNC
166	bool
167	default y if PPC32 && SMP
168	default n
169
170config AUDIT_ARCH
171	bool
172	default y
173
174config GENERIC_BUG
175	bool
176	default y
177	depends on BUG
178
179config SYS_SUPPORTS_APM_EMULATION
180	default y if PMAC_APM_EMU
181	bool
182
183config DEFAULT_UIMAGE
184	bool
185	help
186	  Used to allow a board to specify it wants a uImage built by default
187	default n
188
189config REDBOOT
190	bool
191
192config HIBERNATE_32
193	bool
194	depends on (PPC_PMAC && !SMP) || BROKEN
195	default y
196
197config HIBERNATE_64
198	bool
199	depends on BROKEN || (PPC_PMAC64 && EXPERIMENTAL)
200	default y
201
202config ARCH_HIBERNATION_POSSIBLE
203	bool
204	depends on (PPC64 && HIBERNATE_64) || (PPC32 && HIBERNATE_32)
205	default y
206
207config ARCH_SUSPEND_POSSIBLE
208	def_bool y
209	depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx
210
211config PPC_DCR_NATIVE
212	bool
213	default n
214
215config PPC_DCR_MMIO
216	bool
217	default n
218
219config PPC_DCR
220	bool
221	depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
222	default y
223
224config PPC_OF_PLATFORM_PCI
225	bool
226	depends on PCI
227	depends on PPC64 # not supported on 32 bits yet
228	default n
229
230source "init/Kconfig"
231
232source "kernel/Kconfig.freezer"
233
234source "arch/powerpc/sysdev/Kconfig"
235source "arch/powerpc/platforms/Kconfig"
236
237menu "Kernel options"
238
239config HIGHMEM
240	bool "High memory support"
241	depends on PPC32
242
243source kernel/time/Kconfig
244source kernel/Kconfig.hz
245source kernel/Kconfig.preempt
246source "fs/Kconfig.binfmt"
247
248config HUGETLB_PAGE_SIZE_VARIABLE
249	bool
250	depends on HUGETLB_PAGE
251	default y
252
253config MATH_EMULATION
254	bool "Math emulation"
255	depends on 4xx || 8xx || E200 || PPC_MPC832x || E500
256	---help---
257	  Some PowerPC chips designed for embedded applications do not have
258	  a floating-point unit and therefore do not implement the
259	  floating-point instructions in the PowerPC instruction set.  If you
260	  say Y here, the kernel will include code to emulate a floating-point
261	  unit, which will allow programs that use floating-point
262	  instructions to run.
263
264config 8XX_MINIMAL_FPEMU
265	bool "Minimal math emulation for 8xx"
266	depends on 8xx && !MATH_EMULATION
267	help
268	  Older arch/ppc kernels still emulated a few floating point
269	  instructions such as load and store, even when full math
270	  emulation is disabled.  Say "Y" here if you want to preserve
271	  this behavior.
272
273	  It is recommended that you build a soft-float userspace instead.
274
275config IOMMU_VMERGE
276	bool "Enable IOMMU virtual merging"
277	depends on PPC64
278	default y
279	help
280	  Cause IO segments sent to a device for DMA to be merged virtually
281	  by the IOMMU when they happen to have been allocated contiguously.
282	  This doesn't add pressure to the IOMMU allocator. However, some
283	  drivers don't support getting large merged segments coming back
284	  from *_map_sg().
285
286	  Most drivers don't have this problem; it is safe to say Y here.
287
288config IOMMU_HELPER
289	def_bool PPC64
290
291config PPC_NEED_DMA_SYNC_OPS
292	def_bool y
293	depends on NOT_COHERENT_CACHE
294
295config HOTPLUG_CPU
296	bool "Support for enabling/disabling CPUs"
297	depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
298	---help---
299	  Say Y here to be able to disable and re-enable individual
300	  CPUs at runtime on SMP machines.
301
302	  Say N if you are unsure.
303
304config ARCH_ENABLE_MEMORY_HOTPLUG
305	def_bool y
306
307config ARCH_HAS_WALK_MEMORY
308	def_bool y
309
310config ARCH_ENABLE_MEMORY_HOTREMOVE
311	def_bool y
312
313config KEXEC
314	bool "kexec system call (EXPERIMENTAL)"
315	depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
316	help
317	  kexec is a system call that implements the ability to shutdown your
318	  current kernel, and to start another kernel.  It is like a reboot
319	  but it is independent of the system firmware.   And like a reboot
320	  you can start any kernel with it, not just Linux.
321
322	  The name comes from the similarity to the exec system call.
323
324	  It is an ongoing process to be certain the hardware in a machine
325	  is properly shutdown, so do not be surprised if this code does not
326	  initially work for you.  It may help to enable device hotplugging
327	  support.  As of this writing the exact hardware interface is
328	  strongly in flux, so no good recommendation can be made.
329
330config CRASH_DUMP
331	bool "Build a kdump crash kernel"
332	depends on PPC64 || 6xx
333	select RELOCATABLE if PPC64
334	help
335	  Build a kernel suitable for use as a kdump capture kernel.
336	  The same kernel binary can be used as production kernel and dump
337	  capture kernel.
338
339config PHYP_DUMP
340	bool "Hypervisor-assisted dump (EXPERIMENTAL)"
341	depends on PPC_PSERIES && EXPERIMENTAL
342	help
343	  Hypervisor-assisted dump is meant to be a kdump replacement
344	  offering robustness and speed not possible without system
345	  hypervisor assistence.
346
347	  If unsure, say "N"
348
349config PPCBUG_NVRAM
350	bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
351	default y if PPC_PREP
352
353config IRQ_ALL_CPUS
354	bool "Distribute interrupts on all CPUs by default"
355	depends on SMP && !MV64360
356	help
357	  This option gives the kernel permission to distribute IRQs across
358	  multiple CPUs.  Saying N here will route all IRQs to the first
359	  CPU.  Generally saying Y is safe, although some problems have been
360	  reported with SMP Power Macintoshes with this option enabled.
361
362config NUMA
363	bool "NUMA support"
364	depends on PPC64
365	default y if SMP && PPC_PSERIES
366
367config NODES_SHIFT
368	int
369	default "4"
370	depends on NEED_MULTIPLE_NODES
371
372config ARCH_SELECT_MEMORY_MODEL
373	def_bool y
374	depends on PPC64
375
376config ARCH_FLATMEM_ENABLE
377	def_bool y
378	depends on (PPC64 && !NUMA) || PPC32
379
380config ARCH_SPARSEMEM_ENABLE
381	def_bool y
382	depends on PPC64
383	select SPARSEMEM_VMEMMAP_ENABLE
384
385config ARCH_SPARSEMEM_DEFAULT
386	def_bool y
387	depends on (SMP && PPC_PSERIES) || PPC_PS3
388
389config ARCH_POPULATES_NODE_MAP
390	def_bool y
391
392source "mm/Kconfig"
393
394config ARCH_MEMORY_PROBE
395	def_bool y
396	depends on MEMORY_HOTPLUG
397
398# Some NUMA nodes have memory ranges that span
399# other nodes.  Even though a pfn is valid and
400# between a node's start and end pfns, it may not
401# reside on that node.  See memmap_init_zone()
402# for details.
403config NODES_SPAN_OTHER_NODES
404	def_bool y
405	depends on NEED_MULTIPLE_NODES
406
407config PPC_HAS_HASH_64K
408	bool
409	depends on PPC64
410	default n
411
412choice
413	prompt "Page size"
414	default PPC_4K_PAGES
415	help
416	  Select the kernel logical page size. Increasing the page size
417	  will reduce software overhead at each page boundary, allow
418	  hardware prefetch mechanisms to be more effective, and allow
419	  larger dma transfers increasing IO efficiency and reducing
420	  overhead. However the utilization of memory will increase.
421	  For example, each cached file will using a multiple of the
422	  page size to hold its contents and the difference between the
423	  end of file and the end of page is wasted.
424
425	  Some dedicated systems, such as software raid serving with
426	  accelerated calculations, have shown significant increases.
427
428	  If you configure a 64 bit kernel for 64k pages but the
429	  processor does not support them, then the kernel will simulate
430	  them with 4k pages, loading them on demand, but with the
431	  reduced software overhead and larger internal fragmentation.
432	  For the 32 bit kernel, a large page option will not be offered
433	  unless it is supported by the configured processor.
434
435	  If unsure, choose 4K_PAGES.
436
437config PPC_4K_PAGES
438	bool "4k page size"
439
440config PPC_16K_PAGES
441	bool "16k page size" if 44x
442
443config PPC_64K_PAGES
444	bool "64k page size" if 44x || PPC_STD_MMU_64
445	select PPC_HAS_HASH_64K if PPC_STD_MMU_64
446
447endchoice
448
449config FORCE_MAX_ZONEORDER
450	int "Maximum zone order"
451	range 9 64 if PPC_STD_MMU_64 && PPC_64K_PAGES
452	default "9" if PPC_STD_MMU_64 && PPC_64K_PAGES
453	range 13 64 if PPC_STD_MMU_64 && !PPC_64K_PAGES
454	default "13" if PPC_STD_MMU_64 && !PPC_64K_PAGES
455	range 9 64 if PPC_STD_MMU_32 && PPC_16K_PAGES
456	default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES
457	range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES
458	default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES
459	range 11 64
460	default "11"
461	help
462	  The kernel memory allocator divides physically contiguous memory
463	  blocks into "zones", where each zone is a power of two number of
464	  pages.  This option selects the largest power of two that the kernel
465	  keeps in the memory allocator.  If you need to allocate very large
466	  blocks of physically contiguous memory, then you may need to
467	  increase this value.
468
469	  This config option is actually maximum order plus one. For example,
470	  a value of 11 means that the largest free memory block is 2^10 pages.
471
472	  The page size is not necessarily 4KB.  For example, on 64-bit
473	  systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES.  Keep
474	  this in mind when choosing a value for this option.
475
476config PPC_SUBPAGE_PROT
477	bool "Support setting protections for 4k subpages"
478	depends on PPC_STD_MMU_64 && PPC_64K_PAGES
479	help
480	  This option adds support for a system call to allow user programs
481	  to set access permissions (read/write, readonly, or no access)
482	  on the 4k subpages of each 64k page.
483
484config SCHED_SMT
485	bool "SMT (Hyperthreading) scheduler support"
486	depends on PPC64 && SMP
487	help
488	  SMT scheduler support improves the CPU scheduler's decision making
489	  when dealing with POWER5 cpus at a cost of slightly increased
490	  overhead in some places. If unsure say N here.
491
492config PROC_DEVICETREE
493	bool "Support for device tree in /proc"
494	depends on PROC_FS
495	help
496	  This option adds a device-tree directory under /proc which contains
497	  an image of the device tree that the kernel copies from Open
498	  Firmware or other boot firmware. If unsure, say Y here.
499
500config CMDLINE_BOOL
501	bool "Default bootloader kernel arguments"
502
503config CMDLINE
504	string "Initial kernel command string"
505	depends on CMDLINE_BOOL
506	default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
507	help
508	  On some platforms, there is currently no way for the boot loader to
509	  pass arguments to the kernel. For these platforms, you can supply
510	  some command-line options at build time by entering them here.  In
511	  most cases you will need to specify the root device here.
512
513config EXTRA_TARGETS
514	string "Additional default image types"
515	help
516	  List additional targets to be built by the bootwrapper here (separated
517	  by spaces).  This is useful for targets that depend of device tree
518	  files in the .dts directory.
519
520	  Targets in this list will be build as part of the default build
521	  target, or when the user does a 'make zImage' or a
522	  'make zImage.initrd'.
523
524	  If unsure, leave blank
525
526if !44x || BROKEN
527config ARCH_WANTS_FREEZER_CONTROL
528	def_bool y
529	depends on ADB_PMU
530
531source kernel/power/Kconfig
532endif
533
534config SECCOMP
535	bool "Enable seccomp to safely compute untrusted bytecode"
536	depends on PROC_FS
537	default y
538	help
539	  This kernel feature is useful for number crunching applications
540	  that may need to compute untrusted bytecode during their
541	  execution. By using pipes or other transports made available to
542	  the process as file descriptors supporting the read/write
543	  syscalls, it's possible to isolate those applications in
544	  their own address space using seccomp. Once seccomp is
545	  enabled via /proc/<pid>/seccomp, it cannot be disabled
546	  and the task is only allowed to execute a few safe syscalls
547	  defined by each seccomp mode.
548
549	  If unsure, say Y. Only embedded should say N here.
550
551endmenu
552
553config ISA_DMA_API
554	bool
555	default !PPC_ISERIES || PCI
556
557menu "Bus options"
558
559config ISA
560	bool "Support for ISA-bus hardware"
561	depends on PPC_PREP || PPC_CHRP
562	select PPC_I8259
563	help
564	  Find out whether you have ISA slots on your motherboard.  ISA is the
565	  name of a bus system, i.e. the way the CPU talks to the other stuff
566	  inside your box.  If you have an Apple machine, say N here; if you
567	  have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
568	  you have an embedded board, consult your board documentation.
569
570config ZONE_DMA
571	bool
572	default y
573
574config GENERIC_ISA_DMA
575	bool
576	depends on PPC64 || POWER4 || 6xx && !CPM2
577	default y
578
579config PPC_INDIRECT_PCI
580	bool
581	depends on PCI
582	default y if 40x || 44x
583	default n
584
585config EISA
586	bool
587
588config SBUS
589	bool
590
591config FSL_SOC
592	bool
593
594config FSL_PCI
595 	bool
596	select PPC_INDIRECT_PCI
597
598config 4xx_SOC
599	bool
600
601config FSL_LBC
602	bool
603	help
604	  Freescale Localbus support
605
606config FSL_GTM
607	bool
608	depends on PPC_83xx || QUICC_ENGINE || CPM2
609	help
610	  Freescale General-purpose Timers support
611
612# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
613config MCA
614	bool
615
616# Platforms that what PCI turned unconditionally just do select PCI
617# in their config node.  Platforms that want to choose at config
618# time should select PPC_PCI_CHOICE
619config PPC_PCI_CHOICE
620	bool
621
622config PCI
623	bool "PCI support" if PPC_PCI_CHOICE
624	default y if !40x && !CPM2 && !8xx && !PPC_83xx \
625		&& !PPC_85xx && !PPC_86xx
626	default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
627	default PCI_QSPAN if !4xx && !CPM2 && 8xx
628	select ARCH_SUPPORTS_MSI
629	help
630	  Find out whether your system includes a PCI bus. PCI is the name of
631	  a bus system, i.e. the way the CPU talks to the other stuff inside
632	  your box.  If you say Y here, the kernel will include drivers and
633	  infrastructure code to support PCI bus devices.
634
635config PCI_DOMAINS
636	def_bool PCI
637
638config PCI_SYSCALL
639	def_bool PCI
640
641config PCI_QSPAN
642	bool "QSpan PCI"
643	depends on !4xx && !CPM2 && 8xx
644	select PPC_I8259
645	help
646	  Say Y here if you have a system based on a Motorola 8xx-series
647	  embedded processor with a QSPAN PCI interface, otherwise say N.
648
649config PCI_8260
650	bool
651	depends on PCI && 8260
652	select PPC_INDIRECT_PCI
653	default y
654
655config 8260_PCI9
656	bool "Enable workaround for MPC826x erratum PCI 9"
657	depends on PCI_8260 && !8272
658	default y
659
660choice
661	prompt "IDMA channel for PCI 9 workaround"
662	depends on 8260_PCI9
663
664config 8260_PCI9_IDMA1
665	bool "IDMA1"
666
667config 8260_PCI9_IDMA2
668	bool "IDMA2"
669
670config 8260_PCI9_IDMA3
671	bool "IDMA3"
672
673config 8260_PCI9_IDMA4
674	bool "IDMA4"
675
676endchoice
677
678source "drivers/pci/pcie/Kconfig"
679
680source "drivers/pci/Kconfig"
681
682source "drivers/pcmcia/Kconfig"
683
684source "drivers/pci/hotplug/Kconfig"
685
686config HAS_RAPIDIO
687	bool
688	default n
689
690config RAPIDIO
691	bool "RapidIO support"
692	depends on HAS_RAPIDIO
693	help
694	  If you say Y here, the kernel will include drivers and
695	  infrastructure code to support RapidIO interconnect devices.
696
697source "drivers/rapidio/Kconfig"
698
699endmenu
700
701menu "Advanced setup"
702	depends on PPC32
703
704config ADVANCED_OPTIONS
705	bool "Prompt for advanced kernel configuration options"
706	help
707	  This option will enable prompting for a variety of advanced kernel
708	  configuration options.  These options can cause the kernel to not
709	  work if they are set incorrectly, but can be used to optimize certain
710	  aspects of kernel memory management.
711
712	  Unless you know what you are doing, say N here.
713
714comment "Default settings for advanced configuration options are used"
715	depends on !ADVANCED_OPTIONS
716
717config LOWMEM_SIZE_BOOL
718	bool "Set maximum low memory"
719	depends on ADVANCED_OPTIONS
720	help
721	  This option allows you to set the maximum amount of memory which
722	  will be used as "low memory", that is, memory which the kernel can
723	  access directly, without having to set up a kernel virtual mapping.
724	  This can be useful in optimizing the layout of kernel virtual
725	  memory.
726
727	  Say N here unless you know what you are doing.
728
729config LOWMEM_SIZE
730	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
731	default "0x30000000"
732
733config RELOCATABLE
734	bool "Build a relocatable kernel (EXPERIMENTAL)"
735	depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
736	help
737	  This builds a kernel image that is capable of running at the
738	  location the kernel is loaded at (some alignment restrictions may
739	  exist).
740
741	  One use is for the kexec on panic case where the recovery kernel
742	  must live at a different physical address than the primary
743	  kernel.
744
745	  Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
746	  it has been loaded at and the compile time physical addresses
747	  CONFIG_PHYSICAL_START is ignored.  However CONFIG_PHYSICAL_START
748	  setting can still be useful to bootwrappers that need to know the
749	  load location of the kernel (eg. u-boot/mkimage).
750
751config PAGE_OFFSET_BOOL
752	bool "Set custom page offset address"
753	depends on ADVANCED_OPTIONS
754	help
755	  This option allows you to set the kernel virtual address at which
756	  the kernel will map low memory.  This can be useful in optimizing
757	  the virtual memory layout of the system.
758
759	  Say N here unless you know what you are doing.
760
761config PAGE_OFFSET
762	hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
763	default "0xc0000000"
764
765config KERNEL_START_BOOL
766	bool "Set custom kernel base address"
767	depends on ADVANCED_OPTIONS
768	help
769	  This option allows you to set the kernel virtual address at which
770	  the kernel will be loaded.  Normally this should match PAGE_OFFSET
771	  however there are times (like kdump) that one might not want them
772	  to be the same.
773
774	  Say N here unless you know what you are doing.
775
776config KERNEL_START
777	hex "Virtual address of kernel base" if KERNEL_START_BOOL
778	default PAGE_OFFSET if PAGE_OFFSET_BOOL
779	default "0xc2000000" if CRASH_DUMP
780	default "0xc0000000"
781
782config PHYSICAL_START_BOOL
783	bool "Set physical address where the kernel is loaded"
784	depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
785	help
786	  This gives the physical address where the kernel is loaded.
787
788	  Say N here unless you know what you are doing.
789
790config PHYSICAL_START
791	hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
792	default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
793	default "0x00000000"
794
795config PHYSICAL_ALIGN
796	hex
797	default "0x10000000" if FSL_BOOKE
798	help
799	  This value puts the alignment restrictions on physical address
800	  where kernel is loaded and run from. Kernel is compiled for an
801	  address which meets above alignment restriction.
802
803config TASK_SIZE_BOOL
804	bool "Set custom user task size"
805	depends on ADVANCED_OPTIONS
806	help
807	  This option allows you to set the amount of virtual address space
808	  allocated to user tasks.  This can be useful in optimizing the
809	  virtual memory layout of the system.
810
811	  Say N here unless you know what you are doing.
812
813config TASK_SIZE
814	hex "Size of user task space" if TASK_SIZE_BOOL
815	default "0x80000000" if PPC_PREP || PPC_8xx
816	default "0xc0000000"
817
818config CONSISTENT_START_BOOL
819	bool "Set custom consistent memory pool address"
820	depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
821	help
822	  This option allows you to set the base virtual address
823	  of the consistent memory pool.  This pool of virtual
824	  memory is used to make consistent memory allocations.
825
826config CONSISTENT_START
827	hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
828	default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx)
829	default "0xff100000" if NOT_COHERENT_CACHE
830
831config CONSISTENT_SIZE_BOOL
832	bool "Set custom consistent memory pool size"
833	depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
834	help
835	  This option allows you to set the size of the
836	  consistent memory pool.  This pool of virtual memory
837	  is used to make consistent memory allocations.
838
839config CONSISTENT_SIZE
840	hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
841	default "0x00200000" if NOT_COHERENT_CACHE
842
843config PIN_TLB
844	bool "Pinned Kernel TLBs (860 ONLY)"
845	depends on ADVANCED_OPTIONS && 8xx
846endmenu
847
848if PPC64
849config RELOCATABLE
850	bool "Build a relocatable kernel"
851	help
852	  This builds a kernel image that is capable of running anywhere
853	  in the RMA (real memory area) at any 16k-aligned base address.
854	  The kernel is linked as a position-independent executable (PIE)
855	  and contains dynamic relocations which are processed early
856	  in the bootup process.
857
858	  One use is for the kexec on panic case where the recovery kernel
859	  must live at a different physical address than the primary
860	  kernel.
861
862config PAGE_OFFSET
863	hex
864	default "0xc000000000000000"
865config KERNEL_START
866	hex
867	default "0xc000000000000000"
868config PHYSICAL_START
869	hex
870	default "0x00000000"
871endif
872
873source "net/Kconfig"
874
875source "drivers/Kconfig"
876
877source "fs/Kconfig"
878
879source "arch/powerpc/sysdev/qe_lib/Kconfig"
880
881source "lib/Kconfig"
882
883source "arch/powerpc/Kconfig.debug"
884
885source "security/Kconfig"
886
887config KEYS_COMPAT
888	bool
889	depends on COMPAT && KEYS
890	default y
891
892source "crypto/Kconfig"
893
894config PPC_CLOCK
895	bool
896	default n
897	select HAVE_CLK
898
899config PPC_LIB_RHEAP
900	bool
901
902source "arch/powerpc/kvm/Kconfig"
903