[PATCH] powerpc: Don't allocate zero bytes in finish_device_tree()
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 3cf03ab..df338c5 100644 (file)
@@ -26,9 +26,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-
 config GENERIC_HARDIRQS
        bool
        default y
@@ -50,7 +47,7 @@ config PPC
 
 config EARLY_PRINTK
        bool
-       default y if PPC64
+       default y
 
 config COMPAT
        bool
@@ -74,15 +71,28 @@ 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
+
 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 +106,20 @@ 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 40x
        bool "AMCC 40x"
@@ -137,6 +155,13 @@ config POWER4
        depends on PPC64
        def_bool y
 
+config 6xx
+       bool
+
+# this is temp to handle compat with arch=ppc
+config 83xx
+       bool
+
 config PPC_FPU
        bool
        default y if PPC64
@@ -169,7 +194,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
@@ -227,7 +252,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 +267,7 @@ endmenu
 source "init/Kconfig"
 
 menu "Platform support"
-       depends on PPC64 || 6xx
+       depends on PPC64 || CLASSIC32
 
 choice
        prompt "Machine type"
@@ -261,7 +286,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"
@@ -278,6 +303,7 @@ config PPC_PSERIES
        select PPC_I8259
        select PPC_RTAS
        select RTAS_ERROR_LOGGING
+       select PPC_UDBG_16550
        default y
 
 config PPC_CHRP
@@ -287,6 +313,7 @@ config PPC_CHRP
        select PPC_INDIRECT_PCI
        select PPC_RTAS
        select PPC_MPC106
+       select PPC_UDBG_16550
        default y
 
 config PPC_PMAC
@@ -300,13 +327,16 @@ 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
@@ -314,6 +344,8 @@ 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.
@@ -324,11 +356,7 @@ config PPC_CELL
        depends on PPC_MULTIPLATFORM && PPC64
        select PPC_RTAS
        select MMIO_NVRAM
-
-config PPC_OF
-       bool
-       depends on PPC_MULTIPLATFORM    # for now
-       default y
+       select PPC_UDBG_16550
 
 config XICS
        depends on PPC_PSERIES
@@ -382,6 +410,12 @@ 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
@@ -397,6 +431,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)
@@ -458,8 +500,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"
 
@@ -477,6 +521,7 @@ source "fs/Kconfig.binfmt"
 config FORCE_MAX_ZONEORDER
        int
        depends on PPC64
+       default "9" if PPC_64K_PAGES
        default "13"
 
 config MATH_EMULATION
@@ -528,6 +573,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 "kernel crash dumps (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
@@ -562,20 +617,16 @@ config ARCH_SELECT_MEMORY_MODEL
        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
+       depends on (PPC64 && !NUMA) || PPC32
 
-config ARCH_DISCONTIGMEM_DEFAULT
+config ARCH_SPARSEMEM_ENABLE
        def_bool y
-       depends on ARCH_DISCONTIGMEM_ENABLE
+       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"
 
@@ -583,18 +634,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 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"
@@ -682,7 +734,7 @@ config PPC_I8259
 config PPC_INDIRECT_PCI
        bool
        depends on PCI
-       default y if 40x || 44x || 85xx || 83xx
+       default y if 40x || 44x || 85xx
        default n
 
 config EISA
@@ -691,13 +743,16 @@ 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 || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
+       default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !85xx
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
        help
@@ -710,11 +765,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
@@ -900,8 +950,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
+       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"