[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
 
        bool
        default y
 
-config UID16
-       bool
-
 config GENERIC_HARDIRQS
        bool
        default y
 config GENERIC_HARDIRQS
        bool
        default y
@@ -50,7 +47,7 @@ config PPC
 
 config EARLY_PRINTK
        bool
 
 config EARLY_PRINTK
        bool
-       default y if PPC64
+       default y
 
 config COMPAT
        bool
 
 config COMPAT
        bool
@@ -74,15 +71,28 @@ config ARCH_MAY_HAVE_PC_FDC
        bool
        default y
 
        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
 
 menu "Processor support"
 choice
        prompt "Processor Type"
        depends on PPC32
        default 6xx
 
-config 6xx
+config CLASSIC32
        bool "6xx/7xx/74xx"
        select PPC_FPU
        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
        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"
 
 config PPC_52xx
        bool "Freescale 52xx"
+       select 6xx
+       select PPC_FPU
        
 config PPC_82xx
        bool "Freescale 82xx"
        
 config PPC_82xx
        bool "Freescale 82xx"
+       select 6xx
+       select PPC_FPU
 
 config PPC_83xx
        bool "Freescale 83xx"
 
 config PPC_83xx
        bool "Freescale 83xx"
+       select 6xx
+       select FSL_SOC
+       select 83xx
+       select PPC_FPU
 
 config 40x
        bool "AMCC 40x"
 
 config 40x
        bool "AMCC 40x"
@@ -137,6 +155,13 @@ config POWER4
        depends on PPC64
        def_bool y
 
        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
 config PPC_FPU
        bool
        default y if PPC64
@@ -169,7 +194,7 @@ config PHYS_64BIT
 
 config ALTIVEC
        bool "AltiVec Support"
 
 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
        ---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
          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
        range 2 128
        depends on SMP
        default "32" if PPC64
@@ -242,7 +267,7 @@ endmenu
 source "init/Kconfig"
 
 menu "Platform support"
 source "init/Kconfig"
 
 menu "Platform support"
-       depends on PPC64 || 6xx
+       depends on PPC64 || CLASSIC32
 
 choice
        prompt "Machine type"
 
 choice
        prompt "Machine type"
@@ -261,7 +286,7 @@ config PPC_ISERIES
 
 config EMBEDDED6xx
        bool "Embedded 6xx/7xx/7xxx-based board"
 
 config EMBEDDED6xx
        bool "Embedded 6xx/7xx/7xxx-based board"
-       depends on PPC32
+       depends on PPC32 && BROKEN
 
 config APUS
        bool "Amiga-APUS"
 
 config APUS
        bool "Amiga-APUS"
@@ -278,6 +303,7 @@ config PPC_PSERIES
        select PPC_I8259
        select PPC_RTAS
        select RTAS_ERROR_LOGGING
        select PPC_I8259
        select PPC_RTAS
        select RTAS_ERROR_LOGGING
+       select PPC_UDBG_16550
        default y
 
 config PPC_CHRP
        default y
 
 config PPC_CHRP
@@ -287,6 +313,7 @@ config PPC_CHRP
        select PPC_INDIRECT_PCI
        select PPC_RTAS
        select PPC_MPC106
        select PPC_INDIRECT_PCI
        select PPC_RTAS
        select PPC_MPC106
+       select PPC_UDBG_16550
        default y
 
 config PPC_PMAC
        default y
 
 config PPC_PMAC
@@ -300,13 +327,16 @@ config PPC_PMAC64
        bool
        depends on PPC_PMAC && POWER4
        select U3_DART
        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"
        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_I8259
        select PPC_INDIRECT_PCI
+       select PPC_UDBG_16550
        default y
 
 config PPC_MAPLE
        default y
 
 config PPC_MAPLE
@@ -314,6 +344,8 @@ config PPC_MAPLE
        bool "  Maple 970FX Evaluation Board"
        select U3_DART
        select MPIC_BROKEN_U3
        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.
        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
        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
 
 config XICS
        depends on PPC_PSERIES
@@ -382,6 +410,12 @@ config IBMVIO
        bool
        default y
 
        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
 config PPC_MPC106
        bool
        default n
@@ -397,6 +431,14 @@ config CPU_FREQ_PMAC
          this currently includes some models of iBook & Titanium
          PowerBook.
 
          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)
 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/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/85xx/Kconfig
 source arch/powerpc/platforms/8xx/Kconfig
+source arch/powerpc/platforms/cell/Kconfig
 
 menu "Kernel options"
 
 
 menu "Kernel options"
 
@@ -477,6 +521,7 @@ source "fs/Kconfig.binfmt"
 config FORCE_MAX_ZONEORDER
        int
        depends on PPC64
 config FORCE_MAX_ZONEORDER
        int
        depends on PPC64
+       default "9" if PPC_64K_PAGES
        default "13"
 
 config MATH_EMULATION
        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.
 
          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
 config EMBEDDEDBOOT
        bool
        depends on 8xx || 8260
@@ -562,20 +617,16 @@ config ARCH_SELECT_MEMORY_MODEL
        depends on PPC64
 
 config ARCH_FLATMEM_ENABLE
        depends on PPC64
 
 config ARCH_FLATMEM_ENABLE
-       def_bool y
-       depends on PPC64 && !NUMA
-
-config ARCH_DISCONTIGMEM_ENABLE
        def_bool y
        def_bool y
-       depends on SMP && PPC_PSERIES
+       depends on (PPC64 && !NUMA) || PPC32
 
 
-config ARCH_DISCONTIGMEM_DEFAULT
+config ARCH_SPARSEMEM_ENABLE
        def_bool y
        def_bool y
-       depends on ARCH_DISCONTIGMEM_ENABLE
+       depends on PPC64
 
 
-config ARCH_SPARSEMEM_ENABLE
+config ARCH_SPARSEMEM_DEFAULT
        def_bool y
        def_bool y
-       depends on ARCH_DISCONTIGMEM_ENABLE
+       depends on SMP && PPC_PSERIES
 
 source "mm/Kconfig"
 
 
 source "mm/Kconfig"
 
@@ -583,18 +634,19 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
        def_bool y
        depends on NEED_MULTIPLE_NODES
 
        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
        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"
 
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
@@ -682,7 +734,7 @@ config PPC_I8259
 config PPC_INDIRECT_PCI
        bool
        depends on PCI
 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
        default n
 
 config EISA
@@ -691,13 +743,16 @@ config EISA
 config SBUS
        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
 # 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
        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
 
        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
 config PCI_QSPAN
        bool "QSpan PCI"
        depends on !4xx && !CPM2 && 8xx
@@ -900,8 +950,22 @@ source "arch/powerpc/platforms/iseries/Kconfig"
 
 source "lib/Kconfig"
 
 
 source "lib/Kconfig"
 
+menu "Instrumentation Support"
+        depends on EXPERIMENTAL
+
 source "arch/powerpc/oprofile/Kconfig"
 
 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"
 source "arch/powerpc/Kconfig.debug"
 
 source "security/Kconfig"