home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / arch / powerpc / Kconfig < prev    next >
Encoding:
Text File  |  2006-08-11  |  25.5 KB  |  1,028 lines

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