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