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