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