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