[POWERPC] More offb/bootx fixes
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 427ae0f..2643dbc 100644 (file)
@@ -26,10 +26,11 @@ config MMU
        bool
        default y
 
-config UID16
+config GENERIC_HARDIRQS
        bool
+       default y
 
-config GENERIC_HARDIRQS
+config IRQ_PER_CPU
        bool
        default y
 
@@ -40,10 +41,18 @@ config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
+config GENERIC_HWEIGHT
+       bool
+       default y
+
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config GENERIC_FIND_NEXT_BIT
+       bool
+       default y
+
 config PPC
        bool
        default y
@@ -74,15 +83,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 +124,35 @@ 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 PPC_86xx
+       bool "Freescale 86xx"
+       select 6xx
+       select FSL_SOC
+       select PPC_FPU
+       select ALTIVEC
+       help
+         The Freescale E600 SoCs have 74xx cores.
 
 config 40x
        bool "AMCC 40x"
@@ -115,8 +166,6 @@ config 8xx
 config E200
        bool "Freescale e200"
 
-config E500
-       bool "Freescale e500"
 endchoice
 
 config POWER4_ONLY
@@ -137,6 +186,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 +232,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 +249,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 +271,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"
@@ -242,7 +321,7 @@ endmenu
 source "init/Kconfig"
 
 menu "Platform support"
-       depends on PPC64 || 6xx
+       depends on PPC64 || CLASSIC32
 
 choice
        prompt "Machine type"
@@ -261,7 +340,7 @@ config PPC_ISERIES
 
 config EMBEDDED6xx
        bool "Embedded 6xx/7xx/7xxx-based board"
-       depends on PPC32 && BROKEN
+       depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
 
 config APUS
        bool "Amiga-APUS"
@@ -274,23 +353,25 @@ endchoice
 
 config PPC_PSERIES
        depends on PPC_MULTIPLATFORM && PPC64
-       bool "  IBM pSeries & new (POWER5-based) iSeries"
+       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"
+       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"
+       bool "Apple PowerMac based machines"
        depends on PPC_MULTIPLATFORM
        select PPC_INDIRECT_PCI if PPC32
        select PPC_MPC106 if PPC32
@@ -302,34 +383,51 @@ config PPC_PMAC64
        select U3_DART
        select MPIC_BROKEN_U3
        select GENERIC_TBSYNC
+       select PPC_970_NAP
        default y
 
 config PPC_PREP
-       bool "  PowerPC Reference Platform (PReP) based machines"
+       bool "PowerPC Reference Platform (PReP) based machines"
        depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
        select PPC_I8259
        select PPC_INDIRECT_PCI
+       select PPC_UDBG_16550
        default y
 
 config PPC_MAPLE
        depends on PPC_MULTIPLATFORM && PPC64
-       bool "  Maple 970FX Evaluation Board"
+       bool "Maple 970FX Evaluation Board"
        select U3_DART
        select MPIC_BROKEN_U3
        select GENERIC_TBSYNC
+       select PPC_UDBG_16550
+       select PPC_970_NAP
        default n
        help
           This option enables support for the Maple 970FX Evaluation Board.
          For more informations, refer to <http://www.970eval.com>
 
 config PPC_CELL
-       bool "  Cell Broadband Processor Architecture"
+       bool
+       default n
+
+config PPC_CELL_NATIVE
+       bool
+       select PPC_CELL
+       default n
+
+config PPC_IBM_CELL_BLADE
+       bool "IBM Cell Blade"
        depends on PPC_MULTIPLATFORM && PPC64
+       select PPC_CELL_NATIVE
        select PPC_RTAS
        select MMIO_NVRAM
+       select PPC_UDBG_16550
+       select UDBG_RTAS_CONSOLE
 
-config PPC_OF
-       def_bool y
+config UDBG_RTAS_CONSOLE
+       bool
+       default n
 
 config XICS
        depends on PPC_PSERIES
@@ -342,7 +440,8 @@ config U3_DART
        default n
 
 config MPIC
-       depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP
+       depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP \
+                              || MPC7448HPC2
        bool
        default y
 
@@ -373,22 +472,6 @@ config MPIC_BROKEN_U3
        depends on PPC_MAPLE
        default y
 
-config CELL_IIC
-       depends on PPC_CELL
-       bool
-       default y
-
-config CRASH_DUMP
-       bool "kernel crash dumps (EXPERIMENTAL)"
-       depends on PPC_MULTIPLATFORM
-       depends on 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 IBMVIO
        depends on PPC_PSERIES || PPC_ISERIES
        bool
@@ -404,9 +487,8 @@ config PPC_MPC106
        bool
        default n
 
-config GENERIC_TBSYNC
+config PPC_970_NAP
        bool
-       default y if CONFIG_PPC32 && CONFIG_SMP
        default n
 
 source "drivers/cpufreq/Kconfig"
@@ -443,7 +525,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
@@ -452,7 +534,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
@@ -485,11 +567,20 @@ config TAU_AVERAGE
          /proc/cpuinfo.
 
          If in doubt, say N here.
+
+config PPC_TODC
+       depends on EMBEDDED6xx
+       bool "Generic Time-of-day Clock (TODC) support"
+       ---help---
+         This adds support for many TODC/RTC chips.
+
 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/86xx/Kconfig
 source arch/powerpc/platforms/8xx/Kconfig
 source arch/powerpc/platforms/cell/Kconfig
 
@@ -544,16 +635,19 @@ config HOTPLUG_CPU
 
          Say N if you are unsure.
 
+config ARCH_ENABLE_MEMORY_HOTPLUG
+       def_bool y
+
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
        depends on PPC_MULTIPLATFORM && EXPERIMENTAL
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
-         but it is indepedent of the system firmware.   And like a reboot
+         but it is independent of the system firmware.   And like a reboot
          you can start any kernel with it, not just Linux.
 
-         The name comes from the similiarity to the exec system call.
+         The name comes from the similarity to the exec system call.
 
          It is an ongoing process to be certain the hardware in a machine
          is properly shutdown, so do not be surprised if this code does not
@@ -561,6 +655,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
@@ -590,6 +694,11 @@ config NUMA
        depends on PPC64
        default y if SMP && PPC_PSERIES
 
+config NODES_SHIFT
+       int
+       default "4"
+       depends on NEED_MULTIPLE_NODES
+
 config ARCH_SELECT_MEMORY_MODEL
        def_bool y
        depends on PPC64
@@ -629,7 +738,6 @@ config PPC_64K_PAGES
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
        depends on PPC64 && SMP
-       default off
        help
          SMT scheduler support improves the CPU scheduler's decision making
          when dealing with POWER5 cpus at a cost of slightly increased
@@ -706,13 +814,12 @@ config GENERIC_ISA_DMA
 
 config PPC_I8259
        bool
-       default y if 85xx
        default n
 
 config PPC_INDIRECT_PCI
        bool
        depends on PCI
-       default y if 40x || 44x || 85xx || 83xx
+       default y if 40x || 44x
        default n
 
 config EISA
@@ -721,13 +828,17 @@ config EISA
 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) \
+                                 || MPC7448HPC2
+       default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !PPC_85xx && !PPC_86xx
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
        help
@@ -740,11 +851,6 @@ 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
@@ -760,12 +866,12 @@ config PCI_8260
        default y
 
 config 8260_PCI9
-       bool "  Enable workaround for MPC826x erratum PCI 9"
+       bool "Enable workaround for MPC826x erratum PCI 9"
        depends on PCI_8260 && !ADS8272
        default y
 
 choice
-       prompt "  IDMA channel for PCI 9 workaround"
+       prompt "IDMA channel for PCI 9 workaround"
        depends on 8260_PCI9
 
 config 8260_PCI9_IDMA1
@@ -782,6 +888,8 @@ config 8260_PCI9_IDMA4
 
 endchoice
 
+source "drivers/pci/pcie/Kconfig"
+
 source "drivers/pci/Kconfig"
 
 source "drivers/pcmcia/Kconfig"
@@ -937,7 +1045,7 @@ source "arch/powerpc/oprofile/Kconfig"
 
 config KPROBES
        bool "Kprobes (EXPERIMENTAL)"
-       depends on PPC64
+       depends on PPC64 && EXPERIMENTAL && MODULES
        help
          Kprobes allows you to trap at almost any kernel address and
          execute a callback function.  register_kprobe() establishes