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