[IA64] Pass more data to the MCA/INIT notify_die hooks
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 330376b..2cdc35c 100644 (file)
@@ -26,9 +26,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-
 config GENERIC_HARDIRQS
        bool
        default y
@@ -40,6 +37,10 @@ config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
+config GENERIC_HWEIGHT
+       bool
+       default y
+
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
@@ -50,7 +51,7 @@ config PPC
 
 config EARLY_PRINTK
        bool
-       default y if PPC64
+       default y
 
 config COMPAT
        bool
@@ -74,15 +75,34 @@ config ARCH_MAY_HAVE_PC_FDC
        bool
        default y
 
+config PPC_OF
+       def_bool y
+
+config PPC_UDBG_16550
+       bool
+       default n
+
+config GENERIC_TBSYNC
+       bool
+       default y if PPC32 && SMP
+       default n
+
+config DEFAULT_UIMAGE
+       bool
+       help
+         Used to allow a board to specify it wants a uImage built by default
+       default n
+
 menu "Processor support"
 choice
        prompt "Processor Type"
        depends on PPC32
        default 6xx
 
-config 6xx
+config CLASSIC32
        bool "6xx/7xx/74xx"
        select PPC_FPU
+       select 6xx
        help
          There are four families of PowerPC chips supported.  The more common
          types (601, 603, 604, 740, 750, 7400), the Motorola embedded
@@ -96,12 +116,26 @@ config 6xx
 
 config PPC_52xx
        bool "Freescale 52xx"
+       select 6xx
+       select PPC_FPU
        
 config PPC_82xx
        bool "Freescale 82xx"
+       select 6xx
+       select PPC_FPU
 
 config PPC_83xx
        bool "Freescale 83xx"
+       select 6xx
+       select FSL_SOC
+       select 83xx
+       select PPC_FPU
+
+config PPC_85xx
+       bool "Freescale 85xx"
+       select E500
+       select FSL_SOC
+       select 85xx
 
 config 40x
        bool "AMCC 40x"
@@ -115,8 +149,6 @@ config 8xx
 config E200
        bool "Freescale e200"
 
-config E500
-       bool "Freescale e500"
 endchoice
 
 config POWER4_ONLY
@@ -137,6 +169,20 @@ config POWER4
        depends on PPC64
        def_bool y
 
+config 6xx
+       bool
+
+# this is temp to handle compat with arch=ppc
+config 83xx
+       bool
+
+# this is temp to handle compat with arch=ppc
+config 85xx
+       bool
+
+config E500
+       bool
+
 config PPC_FPU
        bool
        default y if PPC64
@@ -169,7 +215,7 @@ config PHYS_64BIT
 
 config ALTIVEC
        bool "AltiVec Support"
-       depends on 6xx || POWER4
+       depends on CLASSIC32 || POWER4
        ---help---
          This option enables kernel support for the Altivec extensions to the
          PowerPC processor. The kernel currently supports saving and restoring
@@ -186,6 +232,7 @@ config ALTIVEC
 config SPE
        bool "SPE Support"
        depends on E200 || E500
+       default y
        ---help---
          This option enables kernel support for the Signal Processing
          Extensions (SPE) to the PowerPC processor. The kernel currently
@@ -207,6 +254,21 @@ config PPC_STD_MMU_32
        def_bool y
        depends on PPC_STD_MMU && PPC32
 
+config VIRT_CPU_ACCOUNTING
+       bool "Deterministic task and CPU time accounting"
+       depends on PPC64
+       default y
+       help
+         Select this option to enable more accurate task and CPU time
+         accounting.  This is done by reading a CPU counter on each
+         kernel entry and exit and on transitions within the kernel
+         between system, softirq and hardirq state, so there is a
+         small performance impact.  This also enables accounting of
+         stolen time on logically-partitioned systems running on
+         IBM POWER5-based machines.
+
+         If in doubt, say Y here.
+
 config SMP
        depends on PPC_STD_MMU
        bool "Symmetric multi-processing support"
@@ -227,7 +289,7 @@ config SMP
          If you don't know what to do here, say N.
 
 config NR_CPUS
-       int "Maximum number of CPUs (2-32)"
+       int "Maximum number of CPUs (2-128)"
        range 2 128
        depends on SMP
        default "32" if PPC64
@@ -242,7 +304,7 @@ endmenu
 source "init/Kconfig"
 
 menu "Platform support"
-       depends on PPC64 || 6xx
+       depends on PPC64 || CLASSIC32
 
 choice
        prompt "Machine type"
@@ -261,7 +323,7 @@ config PPC_ISERIES
 
 config EMBEDDED6xx
        bool "Embedded 6xx/7xx/7xxx-based board"
-       depends on PPC32
+       depends on PPC32 && BROKEN
 
 config APUS
        bool "Amiga-APUS"
@@ -275,26 +337,43 @@ endchoice
 config PPC_PSERIES
        depends on PPC_MULTIPLATFORM && PPC64
        bool "  IBM pSeries & new (POWER5-based) iSeries"
+       select PPC_I8259
+       select PPC_RTAS
+       select RTAS_ERROR_LOGGING
+       select PPC_UDBG_16550
        default y
 
 config PPC_CHRP
        bool "  Common Hardware Reference Platform (CHRP) based machines"
        depends on PPC_MULTIPLATFORM && PPC32
+       select PPC_I8259
+       select PPC_INDIRECT_PCI
+       select PPC_RTAS
+       select PPC_MPC106
+       select PPC_UDBG_16550
        default y
 
 config PPC_PMAC
        bool "  Apple PowerMac based machines"
        depends on PPC_MULTIPLATFORM
+       select PPC_INDIRECT_PCI if PPC32
+       select PPC_MPC106 if PPC32
        default y
 
 config PPC_PMAC64
        bool
        depends on PPC_PMAC && POWER4
+       select U3_DART
+       select MPIC_BROKEN_U3
+       select GENERIC_TBSYNC
        default y
 
 config PPC_PREP
        bool "  PowerPC Reference Platform (PReP) based machines"
-       depends on PPC_MULTIPLATFORM && PPC32
+       depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
+       select PPC_I8259
+       select PPC_INDIRECT_PCI
+       select PPC_UDBG_16550
        default y
 
 config PPC_MAPLE
@@ -302,19 +381,19 @@ config PPC_MAPLE
        bool "  Maple 970FX Evaluation Board"
        select U3_DART
        select MPIC_BROKEN_U3
+       select GENERIC_TBSYNC
+       select PPC_UDBG_16550
        default n
        help
           This option enables support for the Maple 970FX Evaluation Board.
          For more informations, refer to <http://www.970eval.com>
 
-config PPC_BPA
-       bool "  Broadband Processor Architecture"
+config PPC_CELL
+       bool "  Cell Broadband Processor Architecture"
        depends on PPC_MULTIPLATFORM && PPC64
-
-config PPC_OF
-       bool
-       depends on PPC_MULTIPLATFORM    # for now
-       default y
+       select PPC_RTAS
+       select MMIO_NVRAM
+       select PPC_UDBG_16550
 
 config XICS
        depends on PPC_PSERIES
@@ -327,17 +406,39 @@ config U3_DART
        default n
 
 config MPIC
-       depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE
+       depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP
        bool
        default y
 
+config PPC_RTAS
+       bool
+       default n
+
+config RTAS_ERROR_LOGGING
+       bool
+       depends on PPC_RTAS
+       default n
+
+config RTAS_PROC
+       bool "Proc interface to RTAS"
+       depends on PPC_RTAS
+       default y
+
+config RTAS_FLASH
+       tristate "Firmware flash interface"
+       depends on PPC64 && RTAS_PROC
+
+config MMIO_NVRAM
+       bool
+       default n
+
 config MPIC_BROKEN_U3
        bool
        depends on PPC_MAPLE
        default y
 
-config BPA_IIC
-       depends on PPC_BPA
+config CELL_IIC
+       depends on PPC_CELL
        bool
        default y
 
@@ -346,6 +447,16 @@ config IBMVIO
        bool
        default y
 
+config IBMEBUS
+       depends on PPC_PSERIES
+       bool "Support for GX bus based adapters"
+       help
+         Bus device driver for GX bus based adapters.
+
+config PPC_MPC106
+       bool
+       default n
+
 source "drivers/cpufreq/Kconfig"
 
 config CPU_FREQ_PMAC
@@ -357,6 +468,14 @@ config CPU_FREQ_PMAC
          this currently includes some models of iBook & Titanium
          PowerBook.
 
+config CPU_FREQ_PMAC64
+       bool "Support for some Apple G5s"
+       depends on CPU_FREQ && PMAC_SMU && PPC64
+       select CPU_FREQ_TABLE
+       help
+         This adds support for frequency switching on Apple iMac G5,
+         and some of the more recent desktop G5 machines as well.
+
 config PPC601_SYNC_FIX
        bool "Workarounds for PPC601 bugs"
        depends on 6xx && (PPC_PREP || PPC_PMAC)
@@ -372,7 +491,7 @@ config PPC601_SYNC_FIX
          If in doubt, say Y here.
 
 config TAU
-       bool "Thermal Management Support"
+       bool "On-chip CPU temperature sensor support"
        depends on 6xx
        help
          G3 and G4 processors have an on-chip temperature sensor called the
@@ -381,7 +500,7 @@ config TAU
          on-die temperature in /proc/cpuinfo if the cpu supports it.
 
          Unfortunately, on some chip revisions, this sensor is very inaccurate
-         and in some cases, does not work at all, so don't assume the cpu
+         and in many cases, does not work at all, so don't assume the cpu
          temp is actually what /proc/cpuinfo says it is.
 
 config TAU_INT
@@ -418,8 +537,10 @@ endmenu
 
 source arch/powerpc/platforms/embedded6xx/Kconfig
 source arch/powerpc/platforms/4xx/Kconfig
+source arch/powerpc/platforms/83xx/Kconfig
 source arch/powerpc/platforms/85xx/Kconfig
 source arch/powerpc/platforms/8xx/Kconfig
+source arch/powerpc/platforms/cell/Kconfig
 
 menu "Kernel options"
 
@@ -437,6 +558,7 @@ source "fs/Kconfig.binfmt"
 config FORCE_MAX_ZONEORDER
        int
        depends on PPC64
+       default "9" if PPC_64K_PAGES
        default "13"
 
 config MATH_EMULATION
@@ -488,6 +610,16 @@ config KEXEC
          support.  As of this writing the exact hardware interface is
          strongly in flux, so no good recommendation can be made.
 
+config CRASH_DUMP
+       bool "Build a kdump crash kernel (EXPERIMENTAL)"
+       depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
+       help
+         Build a kernel suitable for use as a kdump capture kernel.
+         The kernel will be linked at a different address than normal, and
+         so can only be used for Kdump.
+
+         Don't change this unless you know what you are doing.
+
 config EMBEDDEDBOOT
        bool
        depends on 8xx || 8260
@@ -512,29 +644,26 @@ config IRQ_ALL_CPUS
 
 source "arch/powerpc/platforms/pseries/Kconfig"
 
+config NUMA
+       bool "NUMA support"
+       depends on PPC64
+       default y if SMP && PPC_PSERIES
+
 config ARCH_SELECT_MEMORY_MODEL
        def_bool y
        depends on PPC64
 
 config ARCH_FLATMEM_ENABLE
-       def_bool y
-       depends on PPC64 && !NUMA
-
-config ARCH_DISCONTIGMEM_ENABLE
-       def_bool y
-       depends on SMP && PPC_PSERIES
-
-config ARCH_DISCONTIGMEM_DEFAULT
        def_bool y
-       depends on ARCH_DISCONTIGMEM_ENABLE
+       depends on (PPC64 && !NUMA) || PPC32
 
-config ARCH_FLATMEM_ENABLE
+config ARCH_SPARSEMEM_ENABLE
        def_bool y
        depends on PPC64
 
-config ARCH_SPARSEMEM_ENABLE
+config ARCH_SPARSEMEM_DEFAULT
        def_bool y
-       depends on ARCH_DISCONTIGMEM_ENABLE
+       depends on SMP && PPC_PSERIES
 
 source "mm/Kconfig"
 
@@ -542,22 +671,19 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
        def_bool y
        depends on NEED_MULTIPLE_NODES
 
-# Some NUMA nodes have memory ranges that span
-# other nodes.  Even though a pfn is valid and
-# between a node's start and end pfns, it may not
-# reside on that node.
-#
-# This is a relatively temporary hack that should
-# be able to go away when sparsemem is fully in
-# place
-
-config NODES_SPAN_OTHER_NODES
+config ARCH_MEMORY_PROBE
        def_bool y
-       depends on NEED_MULTIPLE_NODES
+       depends on MEMORY_HOTPLUG
 
-config NUMA
-       bool "NUMA support"
-       default y if DISCONTIGMEM || SPARSEMEM
+config PPC_64K_PAGES
+       bool "64k page size"
+       depends on PPC64
+       help
+         This option changes the kernel logical page size to 64k. On machines
+          without processor support for 64k pages, the kernel will simulate
+          them by loading each individual 4k page on demand transparently,
+          while on hardware with such support, it will be used to map
+          normal application pages.
 
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
@@ -569,12 +695,12 @@ config SCHED_SMT
          overhead in some places. If unsure say N here.
 
 config PROC_DEVICETREE
-       bool "Support for Open Firmware device tree in /proc"
-       depends on PPC_OF && PROC_FS
+       bool "Support for device tree in /proc"
+       depends on PROC_FS
        help
          This option adds a device-tree directory under /proc which contains
          an image of the device tree that the kernel copies from Open
-         Firmware. If unsure, say Y here.
+         Firmware or other boot firmware. If unsure, say Y here.
 
 source "arch/powerpc/platforms/prep/Kconfig"
 
@@ -624,6 +750,7 @@ menu "Bus options"
 config ISA
        bool "Support for ISA-bus hardware"
        depends on PPC_PREP || PPC_CHRP
+       select PPC_I8259
        help
          Find out whether you have ISA slots on your motherboard.  ISA is the
          name of a bus system, i.e. the way the CPU talks to the other stuff
@@ -636,19 +763,32 @@ config GENERIC_ISA_DMA
        depends on PPC64 || POWER4 || 6xx && !CPM2
        default y
 
+config PPC_I8259
+       bool
+       default n
+
+config PPC_INDIRECT_PCI
+       bool
+       depends on PCI
+       default y if 40x || 44x
+       default n
+
 config EISA
        bool
 
 config SBUS
        bool
 
+config FSL_SOC
+       bool
+
 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 config MCA
        bool
 
 config PCI
-       bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
-       default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
+       bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
+       default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !PPC_85xx
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
        help
@@ -661,14 +801,10 @@ config PCI_DOMAINS
        bool
        default PCI
 
-config MPC83xx_PCI2
-       bool "  Supprt for 2nd PCI host controller"
-       depends on PCI && MPC834x
-       default y if MPC834x_SYS
-
 config PCI_QSPAN
        bool "QSpan PCI"
        depends on !4xx && !CPM2 && 8xx
+       select PPC_I8259
        help
          Say Y here if you have a system based on a Motorola 8xx-series
          embedded processor with a QSPAN PCI interface, otherwise say N.
@@ -676,6 +812,7 @@ config PCI_QSPAN
 config PCI_8260
        bool
        depends on PCI && 8260
+       select PPC_INDIRECT_PCI
        default y
 
 config 8260_PCI9
@@ -849,8 +986,22 @@ source "arch/powerpc/platforms/iseries/Kconfig"
 
 source "lib/Kconfig"
 
+menu "Instrumentation Support"
+        depends on EXPERIMENTAL
+
 source "arch/powerpc/oprofile/Kconfig"
 
+config KPROBES
+       bool "Kprobes (EXPERIMENTAL)"
+       depends on PPC64 && EXPERIMENTAL && MODULES
+       help
+         Kprobes allows you to trap at almost any kernel address and
+         execute a callback function.  register_kprobe() establishes
+         a probepoint and specifies the callback.  Kprobes is useful
+         for kernel debugging, non-intrusive instrumentation and testing.
+         If in doubt, say "N".
+endmenu
+
 source "arch/powerpc/Kconfig.debug"
 
 source "security/Kconfig"