[POWERPC] Add support for FP emulation for the e300c2 core
[deliverable/linux.git] / arch / powerpc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/PowerPC Kernel Configuration"
6
7 config 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
14 config PPC32
15 bool
16 default y if !PPC64
17
18 config 64BIT
19 bool
20 default y if PPC64
21
22 config PPC_MERGE
23 def_bool y
24
25 config MMU
26 bool
27 default y
28
29 config GENERIC_HARDIRQS
30 bool
31 default y
32
33 config IRQ_PER_CPU
34 bool
35 default y
36
37 config RWSEM_GENERIC_SPINLOCK
38 bool
39
40 config RWSEM_XCHGADD_ALGORITHM
41 bool
42 default y
43
44 config GENERIC_HWEIGHT
45 bool
46 default y
47
48 config GENERIC_CALIBRATE_DELAY
49 bool
50 default y
51
52 config GENERIC_FIND_NEXT_BIT
53 bool
54 default y
55
56 config PPC
57 bool
58 default y
59
60 config EARLY_PRINTK
61 bool
62 default y
63
64 config COMPAT
65 bool
66 default y if PPC64
67
68 config SYSVIPC_COMPAT
69 bool
70 depends on COMPAT && SYSVIPC
71 default y
72
73 # All PPC32s use generic nvram driver through ppc_md
74 config GENERIC_NVRAM
75 bool
76 default y if PPC32
77
78 config SCHED_NO_NO_OMIT_FRAME_POINTER
79 bool
80 default y
81
82 config ARCH_MAY_HAVE_PC_FDC
83 bool
84 default y
85
86 config PPC_OF
87 def_bool y
88
89 config PPC_UDBG_16550
90 bool
91 default n
92
93 config GENERIC_TBSYNC
94 bool
95 default y if PPC32 && SMP
96 default n
97
98 config AUDIT_ARCH
99 bool
100 default y
101
102 config 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
108 menu "Processor support"
109 choice
110 prompt "Processor Type"
111 depends on PPC32
112 default 6xx
113
114 config CLASSIC32
115 bool "52xx/6xx/7xx/74xx"
116 select PPC_FPU
117 select 6xx
118 help
119 There are four families of PowerPC chips supported. The more common
120 types (601, 603, 604, 740, 750, 7400), the Motorola embedded
121 versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
122 embedded versions (403 and 405) and the high end 64 bit Power
123 processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
124
125 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
133
134 Note that the kernel runs in 32-bit mode even on 64-bit chips.
135
136 config PPC_82xx
137 bool "Freescale 82xx"
138 select 6xx
139 select PPC_FPU
140
141 config PPC_83xx
142 bool "Freescale 83xx"
143 select 6xx
144 select FSL_SOC
145 select 83xx
146 select PPC_FPU
147
148 config PPC_85xx
149 bool "Freescale 85xx"
150 select E500
151 select FSL_SOC
152 select 85xx
153
154 config 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
163 config 40x
164 bool "AMCC 40x"
165 select PPC_DCR_NATIVE
166
167 config 44x
168 bool "AMCC 44x"
169 select PPC_DCR_NATIVE
170
171 config 8xx
172 bool "Freescale 8xx"
173
174 config E200
175 bool "Freescale e200"
176
177 endchoice
178
179 config POWER4_ONLY
180 bool "Optimize for POWER4"
181 depends on PPC64
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
188 config POWER3
189 bool
190 depends on PPC64
191 default y if !POWER4_ONLY
192
193 config POWER4
194 depends on PPC64
195 def_bool y
196
197 config 6xx
198 bool
199
200 # this is temp to handle compat with arch=ppc
201 config 83xx
202 bool
203
204 # this is temp to handle compat with arch=ppc
205 config 85xx
206 bool
207
208 config E500
209 bool
210
211 config PPC_FPU
212 bool
213 default y if PPC64
214
215 config PPC_DCR_NATIVE
216 bool
217 default n
218
219 config PPC_DCR_MMIO
220 bool
221 default n
222
223 config PPC_DCR
224 bool
225 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
226 default y
227
228 config PPC_OF_PLATFORM_PCI
229 bool
230 depends on PPC64 # not supported on 32 bits yet
231 default n
232
233 config BOOKE
234 bool
235 depends on E200 || E500
236 default y
237
238 config FSL_BOOKE
239 bool
240 depends on E200 || E500
241 default y
242
243 config PTE_64BIT
244 bool
245 depends on 44x || E500
246 default y if 44x
247 default y if E500 && PHYS_64BIT
248
249 config PHYS_64BIT
250 bool 'Large physical address support' if E500
251 depends on 44x || E500
252 select RESOURCES_64BIT
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
260 config ALTIVEC
261 bool "AltiVec Support"
262 depends on CLASSIC32 || POWER4
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
276 config SPE
277 bool "SPE Support"
278 depends on E200 || E500
279 default y
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
292 config PPC_STD_MMU
293 bool
294 depends on 6xx || POWER3 || POWER4 || PPC64
295 default y
296
297 config PPC_STD_MMU_32
298 def_bool y
299 depends on PPC_STD_MMU && PPC32
300
301 config 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
316 config 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
335 config NR_CPUS
336 int "Maximum number of CPUs (2-128)"
337 range 2 128
338 depends on SMP
339 default "32" if PPC64
340 default "4"
341
342 config NOT_COHERENT_CACHE
343 bool
344 depends on 4xx || 8xx || E200
345 default y
346 endmenu
347
348 source "init/Kconfig"
349
350 menu "Platform support"
351 depends on PPC64 || CLASSIC32
352
353 choice
354 prompt "Machine type"
355 default PPC_MULTIPLATFORM
356
357 config 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
364 config EMBEDDED6xx
365 bool "Embedded 6xx/7xx/7xxx-based board"
366 depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
367
368 config 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/>.
375 endchoice
376
377 config 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
387 config PPC_PSERIES
388 depends on PPC_MULTIPLATFORM && PPC64
389 bool "IBM pSeries & new (POWER5-based) iSeries"
390 select MPIC
391 select PPC_I8259
392 select PPC_RTAS
393 select RTAS_ERROR_LOGGING
394 select PPC_UDBG_16550
395 select PPC_NATIVE
396 default y
397
398 config PPC_ISERIES
399 bool "IBM Legacy iSeries"
400 depends on PPC_MULTIPLATFORM && PPC64
401 select PPC_INDIRECT_IO
402
403 config PPC_CHRP
404 bool "Common Hardware Reference Platform (CHRP) based machines"
405 depends on PPC_MULTIPLATFORM && PPC32
406 select MPIC
407 select PPC_I8259
408 select PPC_INDIRECT_PCI
409 select PPC_RTAS
410 select PPC_MPC106
411 select PPC_UDBG_16550
412 select PPC_NATIVE
413 default y
414
415 config PPC_MPC52xx
416 bool
417 default n
418
419 config 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
425 select PPC_NATIVE
426 default y
427
428 config PPC_LITE5200
429 bool "Freescale Lite5200 Eval Board"
430 depends on PPC_MULTIPLATFORM && PPC32
431 select PPC_MPC52xx
432 default n
433
434 config PPC_PMAC
435 bool "Apple PowerMac based machines"
436 depends on PPC_MULTIPLATFORM
437 select MPIC
438 select PPC_INDIRECT_PCI if PPC32
439 select PPC_MPC106 if PPC32
440 select PPC_NATIVE
441 default y
442
443 config PPC_PMAC64
444 bool
445 depends on PPC_PMAC && POWER4
446 select MPIC
447 select U3_DART
448 select MPIC_BROKEN_U3
449 select GENERIC_TBSYNC
450 select PPC_970_NAP
451 default y
452
453 config PPC_PREP
454 bool "PowerPC Reference Platform (PReP) based machines"
455 depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
456 select MPIC
457 select PPC_I8259
458 select PPC_INDIRECT_PCI
459 select PPC_UDBG_16550
460 select PPC_NATIVE
461 default y
462
463 config PPC_MAPLE
464 depends on PPC_MULTIPLATFORM && PPC64
465 bool "Maple 970FX Evaluation Board"
466 select MPIC
467 select U3_DART
468 select MPIC_BROKEN_U3
469 select GENERIC_TBSYNC
470 select PPC_UDBG_16550
471 select PPC_970_NAP
472 select PPC_NATIVE
473 default n
474 help
475 This option enables support for the Maple 970FX Evaluation Board.
476 For more information, refer to <http://www.970eval.com>
477
478 config 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
485 select PPC_NATIVE
486 help
487 This option enables support for PA Semi's PWRficient line
488 of SoC processors, including PA6T-1682M
489
490 config PPC_CELL
491 bool
492 default n
493
494 config PPC_CELL_NATIVE
495 bool
496 select PPC_CELL
497 select PPC_DCR_MMIO
498 select PPC_OF_PLATFORM_PCI
499 select PPC_INDIRECT_IO
500 select PPC_NATIVE
501 select MPIC
502 default n
503
504 config PPC_IBM_CELL_BLADE
505 bool "IBM Cell Blade"
506 depends on PPC_MULTIPLATFORM && PPC64
507 select PPC_CELL_NATIVE
508 select PPC_RTAS
509 select MMIO_NVRAM
510 select PPC_UDBG_16550
511 select UDBG_RTAS_CONSOLE
512
513 config 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
521 config 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
529 config UDBG_RTAS_CONSOLE
530 bool "RTAS based debug console"
531 depends on PPC_RTAS
532 default n
533
534 config XICS
535 depends on PPC_PSERIES
536 bool
537 default y
538
539 config U3_DART
540 bool
541 depends on PPC_MULTIPLATFORM && PPC64
542 default n
543
544 config PPC_RTAS
545 bool
546 default n
547
548 config RTAS_ERROR_LOGGING
549 bool
550 depends on PPC_RTAS
551 default n
552
553 config RTAS_PROC
554 bool "Proc interface to RTAS"
555 depends on PPC_RTAS
556 default y
557
558 config RTAS_FLASH
559 tristate "Firmware flash interface"
560 depends on PPC64 && RTAS_PROC
561
562 config MMIO_NVRAM
563 bool
564 default n
565
566 config MPIC_BROKEN_U3
567 bool
568 depends on PPC_MAPLE
569 default y
570
571 config IBMVIO
572 depends on PPC_PSERIES || PPC_ISERIES
573 bool
574 default y
575
576 config IBMEBUS
577 depends on PPC_PSERIES
578 bool "Support for GX bus based adapters"
579 help
580 Bus device driver for GX bus based adapters.
581
582 config PPC_MPC106
583 bool
584 default n
585
586 config PPC_970_NAP
587 bool
588 default n
589
590 config PPC_INDIRECT_IO
591 bool
592 select GENERIC_IOMAP
593 default n
594
595 config GENERIC_IOMAP
596 bool
597 default n
598
599 source "drivers/cpufreq/Kconfig"
600
601 config 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
610 config CPU_FREQ_PMAC64
611 bool "Support for some Apple G5s"
612 depends on CPU_FREQ && PPC64
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
618 config 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
632 config TAU
633 bool "On-chip CPU temperature sensor support"
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
642 and in many cases, does not work at all, so don't assume the cpu
643 temp is actually what /proc/cpuinfo says it is.
644
645 config 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
661 config 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.
675
676 endmenu
677
678 source arch/powerpc/platforms/embedded6xx/Kconfig
679 source arch/powerpc/platforms/4xx/Kconfig
680 source arch/powerpc/platforms/82xx/Kconfig
681 source arch/powerpc/platforms/83xx/Kconfig
682 source arch/powerpc/platforms/85xx/Kconfig
683 source arch/powerpc/platforms/86xx/Kconfig
684 source arch/powerpc/platforms/8xx/Kconfig
685 source arch/powerpc/platforms/cell/Kconfig
686 source arch/powerpc/platforms/ps3/Kconfig
687
688 menu "Kernel options"
689
690 config HIGHMEM
691 bool "High memory support"
692 depends on PPC32
693
694 source kernel/Kconfig.hz
695 source kernel/Kconfig.preempt
696 source "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
701 config FORCE_MAX_ZONEORDER
702 int
703 depends on PPC64
704 default "9" if PPC_64K_PAGES
705 default "13"
706
707 config MATH_EMULATION
708 bool "Math emulation"
709 depends on 4xx || 8xx || E200 || PPC_83xx || E500
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
718 config 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
730 config 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
739 config ARCH_ENABLE_MEMORY_HOTPLUG
740 def_bool y
741
742 config 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
748 but it is independent of the system firmware. And like a reboot
749 you can start any kernel with it, not just Linux.
750
751 The name comes from the similarity to the exec system call.
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
759 config CRASH_DUMP
760 bool "Build a kdump crash kernel (EXPERIMENTAL)"
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
769 config EMBEDDEDBOOT
770 bool
771 depends on 8xx || 8260
772 default y
773
774 config PC_KEYBOARD
775 bool "PC PS/2 style Keyboard"
776 depends on 4xx || CPM2
777
778 config PPCBUG_NVRAM
779 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
780 default y if PPC_PREP
781
782 config 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
791 source "arch/powerpc/platforms/pseries/Kconfig"
792
793 config NUMA
794 bool "NUMA support"
795 depends on PPC64
796 default y if SMP && PPC_PSERIES
797
798 config NODES_SHIFT
799 int
800 default "4"
801 depends on NEED_MULTIPLE_NODES
802
803 config ARCH_SELECT_MEMORY_MODEL
804 def_bool y
805 depends on PPC64
806
807 config ARCH_FLATMEM_ENABLE
808 def_bool y
809 depends on (PPC64 && !NUMA) || PPC32
810
811 config ARCH_SPARSEMEM_ENABLE
812 def_bool y
813 depends on PPC64
814
815 config ARCH_SPARSEMEM_DEFAULT
816 def_bool y
817 depends on (SMP && PPC_PSERIES) || PPC_CELL
818
819 config ARCH_POPULATES_NODE_MAP
820 def_bool y
821
822 source "mm/Kconfig"
823
824 config ARCH_MEMORY_PROBE
825 def_bool y
826 depends on MEMORY_HOTPLUG
827
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.
833 config NODES_SPAN_OTHER_NODES
834 def_bool y
835 depends on NEED_MULTIPLE_NODES
836
837 config PPC_64K_PAGES
838 bool "64k page size"
839 depends on PPC64
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
847 config SCHED_SMT
848 bool "SMT (Hyperthreading) scheduler support"
849 depends on PPC64 && SMP
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
855 config PROC_DEVICETREE
856 bool "Support for device tree in /proc"
857 depends on PROC_FS
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
861 Firmware or other boot firmware. If unsure, say Y here.
862
863 source "arch/powerpc/platforms/prep/Kconfig"
864
865 config CMDLINE_BOOL
866 bool "Default bootloader kernel arguments"
867
868 config 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
878 if !44x || BROKEN
879 source kernel/power/Kconfig
880 endif
881
882 config 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
899 endmenu
900
901 config ISA_DMA_API
902 bool
903 default y
904
905 menu "Bus options"
906
907 config ISA
908 bool "Support for ISA-bus hardware"
909 depends on PPC_PREP || PPC_CHRP
910 select PPC_I8259
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
918 config GENERIC_ISA_DMA
919 bool
920 depends on PPC64 || POWER4 || 6xx && !CPM2
921 default y
922
923 config MPIC
924 bool
925 default n
926
927 config MPIC_WEIRD
928 bool
929 default n
930
931 config PPC_I8259
932 bool
933 default n
934
935 config PPC_INDIRECT_PCI
936 bool
937 depends on PCI
938 default y if 40x || 44x
939 default n
940
941 config EISA
942 bool
943
944 config SBUS
945 bool
946
947 config FSL_SOC
948 bool
949
950 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
951 config MCA
952 bool
953
954 config PCI
955 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
956 || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PPC_PS3
957 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
958 && !PPC_85xx && !PPC_86xx
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
967 config PCI_DOMAINS
968 bool
969 default PCI
970
971 config PCI_QSPAN
972 bool "QSpan PCI"
973 depends on !4xx && !CPM2 && 8xx
974 select PPC_I8259
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
979 config PCI_8260
980 bool
981 depends on PCI && 8260
982 select PPC_INDIRECT_PCI
983 default y
984
985 config 8260_PCI9
986 bool "Enable workaround for MPC826x erratum PCI 9"
987 depends on PCI_8260 && !ADS8272
988 default y
989
990 choice
991 prompt "IDMA channel for PCI 9 workaround"
992 depends on 8260_PCI9
993
994 config 8260_PCI9_IDMA1
995 bool "IDMA1"
996
997 config 8260_PCI9_IDMA2
998 bool "IDMA2"
999
1000 config 8260_PCI9_IDMA3
1001 bool "IDMA3"
1002
1003 config 8260_PCI9_IDMA4
1004 bool "IDMA4"
1005
1006 endchoice
1007
1008 source "drivers/pci/pcie/Kconfig"
1009
1010 source "drivers/pci/Kconfig"
1011
1012 source "drivers/pcmcia/Kconfig"
1013
1014 source "drivers/pci/hotplug/Kconfig"
1015
1016 endmenu
1017
1018 menu "Advanced setup"
1019 depends on PPC32
1020
1021 config 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
1031 comment "Default settings for advanced configuration options are used"
1032 depends on !ADVANCED_OPTIONS
1033
1034 config 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
1044 config HIGHMEM_START
1045 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1046 default "0xfe000000"
1047
1048 config 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
1060 config LOWMEM_SIZE
1061 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1062 default "0x30000000"
1063
1064 config 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
1075 config KERNEL_START
1076 hex "Virtual address of kernel base" if KERNEL_START_BOOL
1077 default "0xc0000000"
1078
1079 config 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
1089 config TASK_SIZE
1090 hex "Size of user task space" if TASK_SIZE_BOOL
1091 default "0x80000000"
1092
1093 config 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
1098 of the consistent memory pool. This pool of virtual
1099 memory is used to make consistent memory allocations.
1100
1101 config CONSISTENT_START
1102 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1103 default "0xff100000" if NOT_COHERENT_CACHE
1104
1105 config CONSISTENT_SIZE_BOOL
1106 bool "Set custom consistent memory pool size"
1107 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1108 help
1109 This option allows you to set the size of the
1110 consistent memory pool. This pool of virtual memory
1111 is used to make consistent memory allocations.
1112
1113 config CONSISTENT_SIZE
1114 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1115 default "0x00200000" if NOT_COHERENT_CACHE
1116
1117 config 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
1127 config 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
1133 config PIN_TLB
1134 bool "Pinned Kernel TLBs (860 ONLY)"
1135 depends on ADVANCED_OPTIONS && 8xx
1136 endmenu
1137
1138 if PPC64
1139 config KERNEL_START
1140 hex
1141 default "0xc000000000000000"
1142 endif
1143
1144 source "net/Kconfig"
1145
1146 source "drivers/Kconfig"
1147
1148 source "fs/Kconfig"
1149
1150 # XXX source "arch/ppc/8xx_io/Kconfig"
1151
1152 # XXX source "arch/ppc/8260_io/Kconfig"
1153
1154 source "arch/powerpc/sysdev/qe_lib/Kconfig"
1155
1156 source "arch/powerpc/platforms/iseries/Kconfig"
1157
1158 source "lib/Kconfig"
1159
1160 menu "Instrumentation Support"
1161 depends on EXPERIMENTAL
1162
1163 source "arch/powerpc/oprofile/Kconfig"
1164
1165 config KPROBES
1166 bool "Kprobes (EXPERIMENTAL)"
1167 depends on PPC64 && KALLSYMS && EXPERIMENTAL && MODULES
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".
1174 endmenu
1175
1176 source "arch/powerpc/Kconfig.debug"
1177
1178 source "security/Kconfig"
1179
1180 config KEYS_COMPAT
1181 bool
1182 depends on COMPAT && KEYS
1183 default y
1184
1185 source "crypto/Kconfig"
This page took 0.055608 seconds and 5 git commands to generate.