[POWERPC] Replace kmalloc+memset with kzalloc
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 7b829c7..7b63ede 100644 (file)
@@ -30,6 +30,10 @@ config GENERIC_HARDIRQS
        bool
        default y
 
+config IRQ_PER_CPU
+       bool
+       default y
+
 config RWSEM_GENERIC_SPINLOCK
        bool
 
@@ -91,6 +95,10 @@ config GENERIC_TBSYNC
        default y if PPC32 && SMP
        default n
 
+config AUDIT_ARCH
+       bool
+       default y
+
 config DEFAULT_UIMAGE
        bool
        help
@@ -152,9 +160,11 @@ config PPC_86xx
 
 config 40x
        bool "AMCC 40x"
+       select PPC_DCR_NATIVE
 
 config 44x
        bool "AMCC 44x"
+       select PPC_DCR_NATIVE
 
 config 8xx
        bool "Freescale 8xx"
@@ -200,6 +210,24 @@ config PPC_FPU
        bool
        default y if PPC64
 
+config PPC_DCR_NATIVE
+       bool
+       default n
+
+config PPC_DCR_MMIO
+       bool
+       default n
+
+config PPC_DCR
+       bool
+       depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
+       default y
+
+config PPC_OF_PLATFORM_PCI
+       bool
+       depends on PPC64 # not supported on 32 bits yet
+       default n
+
 config BOOKE
        bool
        depends on E200 || E500
@@ -219,6 +247,7 @@ config PTE_64BIT
 config PHYS_64BIT
        bool 'Large physical address support' if E500
        depends on 44x || E500
+       select RESOURCES_64BIT
        default y if 44x
        ---help---
          This option enables kernel support for larger than 32-bit physical
@@ -330,13 +359,9 @@ config PPC_MULTIPLATFORM
          RS/6000 machine, an Apple machine, or a PReP, CHRP,
          Maple or Cell-based machine.
 
-config PPC_ISERIES
-       bool "IBM Legacy iSeries"
-       depends on PPC64
-
 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"
@@ -347,35 +372,76 @@ config APUS
          <http://linux-apus.sourceforge.net/>.
 endchoice
 
+config QUICC_ENGINE
+       bool
+       depends on PPC_MPC836x || PPC_MPC832x
+       default y
+       help
+         The QUICC Engine (QE) is a new generation of communications
+         coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
+         Selecting this option means that you wish to build a kernel
+         for a machine with a QE coprocessor.
+
 config PPC_PSERIES
        depends on PPC_MULTIPLATFORM && PPC64
        bool "IBM pSeries & new (POWER5-based) iSeries"
+       select MPIC
        select PPC_I8259
        select PPC_RTAS
        select RTAS_ERROR_LOGGING
        select PPC_UDBG_16550
+       select PPC_NATIVE
        default y
 
+config PPC_ISERIES
+       bool "IBM Legacy iSeries"
+       depends on PPC_MULTIPLATFORM && PPC64
+       select PPC_INDIRECT_IO
+
 config PPC_CHRP
        bool "Common Hardware Reference Platform (CHRP) based machines"
        depends on PPC_MULTIPLATFORM && PPC32
+       select MPIC
        select PPC_I8259
        select PPC_INDIRECT_PCI
        select PPC_RTAS
        select PPC_MPC106
        select PPC_UDBG_16550
+       select PPC_NATIVE
+       default y
+
+config PPC_MPC52xx
+       bool
+       default n
+
+config PPC_EFIKA
+       bool "bPlan Efika 5k2. MPC5200B based computer"
+       depends on PPC_MULTIPLATFORM && PPC32
+       select PPC_RTAS
+       select RTAS_PROC
+       select PPC_MPC52xx
+       select PPC_NATIVE
        default y
 
+config PPC_LITE5200
+       bool "Freescale Lite5200 Eval Board"
+       depends on PPC_MULTIPLATFORM && PPC32
+       select PPC_MPC52xx
+       default n
+
 config PPC_PMAC
        bool "Apple PowerMac based machines"
        depends on PPC_MULTIPLATFORM
+       select MPIC
        select PPC_INDIRECT_PCI if PPC32
        select PPC_MPC106 if PPC32
+       select PPC_NATIVE
        default y
 
 config PPC_PMAC64
        bool
        depends on PPC_PMAC && POWER4
+       select MPIC
        select U3_DART
        select MPIC_BROKEN_U3
        select GENERIC_TBSYNC
@@ -385,23 +451,39 @@ config PPC_PMAC64
 config PPC_PREP
        bool "PowerPC Reference Platform (PReP) based machines"
        depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
+       select MPIC
        select PPC_I8259
        select PPC_INDIRECT_PCI
        select PPC_UDBG_16550
+       select PPC_NATIVE
        default y
 
 config PPC_MAPLE
        depends on PPC_MULTIPLATFORM && PPC64
        bool "Maple 970FX Evaluation Board"
+       select MPIC
        select U3_DART
        select MPIC_BROKEN_U3
        select GENERIC_TBSYNC
        select PPC_UDBG_16550
        select PPC_970_NAP
+       select PPC_NATIVE
        default n
        help
           This option enables support for the Maple 970FX Evaluation Board.
-         For more informations, refer to <http://www.970eval.com>
+         For more information, refer to <http://www.970eval.com>
+
+config PPC_PASEMI
+       depends on PPC_MULTIPLATFORM && PPC64
+       bool "PA Semi SoC-based platforms"
+       default n
+       select MPIC
+       select PPC_UDBG_16550
+       select GENERIC_TBSYNC
+       select PPC_NATIVE
+       help
+         This option enables support for PA Semi's PWRficient line
+         of SoC processors, including PA6T-1682M
 
 config PPC_CELL
        bool
@@ -410,15 +492,42 @@ config PPC_CELL
 config PPC_CELL_NATIVE
        bool
        select PPC_CELL
+       select PPC_DCR_MMIO
+       select PPC_OF_PLATFORM_PCI
+       select PPC_INDIRECT_IO
+       select PPC_NATIVE
+       select MPIC
        default n
 
 config PPC_IBM_CELL_BLADE
-       bool "  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_PS3
+       bool "Sony PS3"
+       depends on PPC_MULTIPLATFORM && PPC64
+       select PPC_CELL
+       help
+         This option enables support for the Sony PS3 game console
+         and other platforms using the PS3 hypervisor.
+
+config PPC_NATIVE
+       bool
+       depends on PPC_MULTIPLATFORM
+       help
+         Support for running natively on the hardware, i.e. without
+         a hypervisor. This option is not user-selectable but should
+         be selected by all platforms that need it.
+
+config UDBG_RTAS_CONSOLE
+       bool "RTAS based debug console"
+       depends on PPC_RTAS
+       default n
 
 config XICS
        depends on PPC_PSERIES
@@ -430,11 +539,6 @@ config U3_DART
        depends on PPC_MULTIPLATFORM && PPC64
        default n
 
-config MPIC
-       depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP
-       bool
-       default y
-
 config PPC_RTAS
        bool
        default n
@@ -481,6 +585,15 @@ config PPC_970_NAP
        bool
        default n
 
+config PPC_INDIRECT_IO
+       bool
+       select GENERIC_IOMAP
+       default n
+
+config GENERIC_IOMAP
+       bool
+       default n
+
 source "drivers/cpufreq/Kconfig"
 
 config CPU_FREQ_PMAC
@@ -494,7 +607,7 @@ config CPU_FREQ_PMAC
 
 config CPU_FREQ_PMAC64
        bool "Support for some Apple G5s"
-       depends on CPU_FREQ && PMAC_SMU && PPC64
+       depends on CPU_FREQ && PPC64
        select CPU_FREQ_TABLE
        help
          This adds support for frequency switching on Apple iMac G5,
@@ -557,15 +670,18 @@ config TAU_AVERAGE
          /proc/cpuinfo.
 
          If in doubt, say N here.
+
 endmenu
 
 source arch/powerpc/platforms/embedded6xx/Kconfig
 source arch/powerpc/platforms/4xx/Kconfig
+source arch/powerpc/platforms/82xx/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
+source arch/powerpc/platforms/ps3/Kconfig
 
 menu "Kernel options"
 
@@ -618,16 +734,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
@@ -693,18 +812,26 @@ config ARCH_SPARSEMEM_ENABLE
 
 config ARCH_SPARSEMEM_DEFAULT
        def_bool y
-       depends on SMP && PPC_PSERIES
+       depends on (SMP && PPC_PSERIES) || PPC_CELL
 
-source "mm/Kconfig"
-
-config HAVE_ARCH_EARLY_PFN_TO_NID
+config ARCH_POPULATES_NODE_MAP
        def_bool y
-       depends on NEED_MULTIPLE_NODES
+
+source "mm/Kconfig"
 
 config ARCH_MEMORY_PROBE
        def_bool y
        depends on MEMORY_HOTPLUG
 
+# 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.  See memmap_init_zone()
+# for details.
+config NODES_SPAN_OTHER_NODES
+       def_bool y
+       depends on NEED_MULTIPLE_NODES
+
 config PPC_64K_PAGES
        bool "64k page size"
        depends on PPC64
@@ -718,7 +845,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
@@ -736,7 +862,6 @@ source "arch/powerpc/platforms/prep/Kconfig"
 
 config CMDLINE_BOOL
        bool "Default bootloader kernel arguments"
-       depends on !PPC_ISERIES
 
 config CMDLINE
        string "Initial kernel command string"
@@ -793,9 +918,16 @@ config GENERIC_ISA_DMA
        depends on PPC64 || POWER4 || 6xx && !CPM2
        default y
 
+config MPIC
+       bool
+       default n
+
+config MPIC_WEIRD
+       bool
+       default n
+
 config PPC_I8259
        bool
-       default y if MPC8641_HPCN
        default n
 
 config PPC_INDIRECT_PCI
@@ -818,8 +950,10 @@ config MCA
        bool
 
 config PCI
-       bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
-       default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !PPC_85xx && !PPC_86xx
+       bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
+               || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PPC_PS3
+       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
@@ -959,7 +1093,7 @@ config CONSISTENT_START_BOOL
        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
        help
          This option allows you to set the base virtual address
-         of the the consistent memory pool.  This pool of virtual
+         of the consistent memory pool.  This pool of virtual
          memory is used to make consistent memory allocations.
 
 config CONSISTENT_START
@@ -970,7 +1104,7 @@ config CONSISTENT_SIZE_BOOL
        bool "Set custom consistent memory pool size"
        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
        help
-         This option allows you to set the size of the the
+         This option allows you to set the size of the
          consistent memory pool.  This pool of virtual memory
          is used to make consistent memory allocations.
 
@@ -1015,6 +1149,8 @@ source "fs/Kconfig"
 
 # XXX source "arch/ppc/8260_io/Kconfig"
 
+source "arch/powerpc/sysdev/qe_lib/Kconfig"
+
 source "arch/powerpc/platforms/iseries/Kconfig"
 
 source "lib/Kconfig"
@@ -1026,7 +1162,7 @@ source "arch/powerpc/oprofile/Kconfig"
 
 config KPROBES
        bool "Kprobes (EXPERIMENTAL)"
-       depends on PPC64 && EXPERIMENTAL && MODULES
+       depends on PPC64 && KALLSYMS && EXPERIMENTAL && MODULES
        help
          Kprobes allows you to trap at almost any kernel address and
          execute a callback function.  register_kprobe() establishes