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