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