Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index ad6b1c0..66a315e 100644 (file)
@@ -42,13 +42,30 @@ config GENERIC_HARDIRQS
        bool
        default y
 
+config GENERIC_HARDIRQS_NO__DO_IRQ
+       bool
+       default y
+
 config HAVE_SETUP_PER_CPU_AREA
        def_bool PPC64
 
+config NEED_PER_CPU_EMBED_FIRST_CHUNK
+       def_bool PPC64
+
 config IRQ_PER_CPU
        bool
        default y
 
+config NR_IRQS
+       int "Number of virtual interrupt numbers"
+       range 32 32768
+       default "512"
+       help
+         This defines the number of virtual interrupt numbers the kernel
+         can manage. Virtual interrupt numbers are what you see in
+         /proc/interrupts. If you configure your system to have too few,
+         drivers will fail to load or worse - handle with care.
+
 config STACKTRACE_SUPPORT
        bool
        default y
@@ -58,7 +75,6 @@ config HAVE_LATENCYTOP_SUPPORT
 
 config TRACE_IRQFLAGS_SUPPORT
        bool
-       depends on PPC64
        default y
 
 config LOCKDEP_SUPPORT
@@ -89,10 +105,6 @@ config GENERIC_HWEIGHT
        bool
        default y
 
-config GENERIC_CALIBRATE_DELAY
-       bool
-       default y
-
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
@@ -121,10 +133,14 @@ config PPC
        select HAVE_KRETPROBES
        select HAVE_ARCH_TRACEHOOK
        select HAVE_LMB
-       select HAVE_DMA_ATTRS if PPC64
+       select HAVE_DMA_ATTRS
+       select HAVE_DMA_API_DEBUG
        select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_OPROFILE
        select HAVE_SYSCALL_WRAPPERS if PPC64
+       select GENERIC_ATOMIC64 if PPC32
+       select HAVE_PERF_EVENTS
+       select HAVE_REGS_AND_STACK_ACCESS_API
 
 config EARLY_PRINTK
        bool
@@ -158,6 +174,7 @@ config PPC_OF
 
 config OF
        def_bool y
+       select OF_FLATTREE
 
 config PPC_UDBG_16550
        bool
@@ -181,6 +198,10 @@ config SYS_SUPPORTS_APM_EMULATION
        default y if PMAC_APM_EMU
        bool
 
+config DTC
+       bool
+       default y
+
 config DEFAULT_UIMAGE
        bool
        help
@@ -190,24 +211,14 @@ config DEFAULT_UIMAGE
 config REDBOOT
        bool
 
-config HIBERNATE_32
-       bool
-       depends on (PPC_PMAC && !SMP) || BROKEN
-       default y
-
-config HIBERNATE_64
-       bool
-       depends on BROKEN || (PPC_PMAC64 && EXPERIMENTAL)
-       default y
-
 config ARCH_HIBERNATION_POSSIBLE
        bool
-       depends on (PPC64 && HIBERNATE_64) || (PPC32 && HIBERNATE_32)
        default y
 
 config ARCH_SUSPEND_POSSIBLE
        def_bool y
-       depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx
+       depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
+                  PPC_85xx || PPC_86xx
 
 config PPC_DCR_NATIVE
        bool
@@ -228,6 +239,36 @@ config PPC_OF_PLATFORM_PCI
        depends on PPC64 # not supported on 32 bits yet
        default n
 
+config ARCH_SUPPORTS_DEBUG_PAGEALLOC
+       def_bool y
+
+config PPC_ADV_DEBUG_REGS
+       bool
+       depends on 40x || BOOKE
+       default y
+
+config PPC_ADV_DEBUG_IACS
+       int
+       depends on PPC_ADV_DEBUG_REGS
+       default 4 if 44x
+       default 2
+
+config PPC_ADV_DEBUG_DACS
+       int
+       depends on PPC_ADV_DEBUG_REGS
+       default 2
+
+config PPC_ADV_DEBUG_DVCS
+       int
+       depends on PPC_ADV_DEBUG_REGS
+       default 2 if 44x
+       default 0
+
+config PPC_ADV_DEBUG_DAC_RANGE
+       bool
+       depends on PPC_ADV_DEBUG_REGS && 44x
+       default y
+
 source "init/Kconfig"
 
 source "kernel/Kconfig.freezer"
@@ -273,25 +314,18 @@ config 8XX_MINIMAL_FPEMU
 
          It is recommended that you build a soft-float userspace instead.
 
-config IOMMU_VMERGE
-       bool "Enable IOMMU virtual merging"
-       depends on PPC64
-       default y
-       help
-         Cause IO segments sent to a device for DMA to be merged virtually
-         by the IOMMU when they happen to have been allocated contiguously.
-         This doesn't add pressure to the IOMMU allocator. However, some
-         drivers don't support getting large merged segments coming back
-         from *_map_sg().
-
-         Most drivers don't have this problem; it is safe to say Y here.
-
 config IOMMU_HELPER
        def_bool PPC64
 
-config PPC_NEED_DMA_SYNC_OPS
-       def_bool y
-       depends on NOT_COHERENT_CACHE
+config SWIOTLB
+       bool "SWIOTLB support"
+       default n
+       select IOMMU_HELPER
+       ---help---
+         Support for IO bounce buffering for systems without an IOMMU.
+         This allows us to DMA to the full physical address space on
+         platforms where the size of a physical address is larger
+         than the bus address.  Not all platforms support this.
 
 config HOTPLUG_CPU
        bool "Support for enabling/disabling CPUs"
@@ -302,6 +336,10 @@ config HOTPLUG_CPU
 
          Say N if you are unsure.
 
+config ARCH_CPU_PROBE_RELEASE
+       def_bool y
+       depends on HOTPLUG_CPU
+
 config ARCH_ENABLE_MEMORY_HOTPLUG
        def_bool y
 
@@ -313,7 +351,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on BOOK3S && EXPERIMENTAL
+       depends on PPC_BOOK3S && 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
@@ -343,7 +381,7 @@ config PHYP_DUMP
        help
          Hypervisor-assisted dump is meant to be a kdump replacement
          offering robustness and speed not possible without system
-         hypervisor assistence.
+         hypervisor assistance.
 
          If unsure, say "N"
 
@@ -360,6 +398,19 @@ config IRQ_ALL_CPUS
          CPU.  Generally saying Y is safe, although some problems have been
          reported with SMP Power Macintoshes with this option enabled.
 
+config SPARSE_IRQ
+       bool "Support sparse irq numbering"
+       default y
+       help
+         This enables support for sparse irqs. This is useful for distro
+         kernels that want to define a high CONFIG_NR_CPUS value but still
+         want to have low kernel memory footprint on smaller machines.
+
+         ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
+           out the irq_desc[] array in a more NUMA-friendly way. )
+
+         If you don't know what to do here, say Y.
+
 config NUMA
        bool "NUMA support"
        depends on PPC64
@@ -367,9 +418,15 @@ config NUMA
 
 config NODES_SHIFT
        int
+       default "8" if PPC64
        default "4"
        depends on NEED_MULTIPLE_NODES
 
+config MAX_ACTIVE_REGIONS
+       int
+       default "256" if PPC64
+       default "32"
+
 config ARCH_SELECT_MEMORY_MODEL
        def_bool y
        depends on PPC64
@@ -390,6 +447,10 @@ config ARCH_SPARSEMEM_DEFAULT
 config ARCH_POPULATES_NODE_MAP
        def_bool y
 
+config SYS_SUPPORTS_HUGETLBFS
+       def_bool y
+       depends on PPC_BOOK3S_64
+
 source "mm/Kconfig"
 
 config ARCH_MEMORY_PROBE
@@ -454,12 +515,12 @@ config PPC_16K_PAGES
        bool "16k page size" if 44x
 
 config PPC_64K_PAGES
-       bool "64k page size" if 44x || PPC_STD_MMU_64
+       bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64
        select PPC_HAS_HASH_64K if PPC_STD_MMU_64
 
 config PPC_256K_PAGES
        bool "256k page size" if 44x
-       depends on !STDBINUTILS && (!SHMEM || BROKEN)
+       depends on !STDBINUTILS
        help
          Make the page size 256k.
 
@@ -474,16 +535,16 @@ endchoice
 
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order"
-       range 9 64 if PPC_STD_MMU_64 && PPC_64K_PAGES
-       default "9" if PPC_STD_MMU_64 && PPC_64K_PAGES
-       range 13 64 if PPC_STD_MMU_64 && !PPC_64K_PAGES
-       default "13" if PPC_STD_MMU_64 && !PPC_64K_PAGES
-       range 9 64 if PPC_STD_MMU_32 && PPC_16K_PAGES
-       default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES
-       range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES
-       default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES
-       range 5 64 if PPC_STD_MMU_32 && PPC_256K_PAGES
-       default "5" if PPC_STD_MMU_32 && PPC_256K_PAGES
+       range 9 64 if PPC64 && PPC_64K_PAGES
+       default "9" if PPC64 && PPC_64K_PAGES
+       range 13 64 if PPC64 && !PPC_64K_PAGES
+       default "13" if PPC64 && !PPC_64K_PAGES
+       range 9 64 if PPC32 && PPC_16K_PAGES
+       default "9" if PPC32 && PPC_16K_PAGES
+       range 7 64 if PPC32 && PPC_64K_PAGES
+       default "7" if PPC32 && PPC_64K_PAGES
+       range 5 64 if PPC32 && PPC_256K_PAGES
+       default "5" if PPC32 && PPC_256K_PAGES
        range 11 64
        default "11"
        help
@@ -599,6 +660,12 @@ config ZONE_DMA
        bool
        default y
 
+config NEED_DMA_MAP_STATE
+       def_bool (PPC64 || NOT_COHERENT_CACHE)
+
+config NEED_SG_DMA_LENGTH
+       def_bool y
+
 config GENERIC_ISA_DMA
        bool
        depends on PPC64 || POWER4 || 6xx && !CPM2
@@ -624,6 +691,14 @@ config FSL_PCI
        select PPC_INDIRECT_PCI
        select PCI_QUIRKS
 
+config FSL_PMC
+       bool
+       default y
+       depends on SUSPEND && (PPC_85xx || PPC_86xx)
+       help
+         Freescale MPC85xx/MPC86xx power management controller support
+         (suspend/resume). For MPC83xx see platforms/83xx/suspend.c
+
 config 4xx_SOC
        bool
 
@@ -651,7 +726,7 @@ config PPC_PCI_CHOICE
 config PCI
        bool "PCI support" if PPC_PCI_CHOICE
        default y if !40x && !CPM2 && !8xx && !PPC_83xx \
-               && !PPC_85xx && !PPC_86xx
+               && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
        select ARCH_SUPPORTS_MSI
@@ -772,6 +847,7 @@ config LOWMEM_CAM_NUM_BOOL
          Say N here unless you know what you are doing.
 
 config LOWMEM_CAM_NUM
+       depends on FSL_BOOKE
        int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
        default 3
 
@@ -860,6 +936,18 @@ config TASK_SIZE
        default "0x80000000" if PPC_PREP || PPC_8xx
        default "0xc0000000"
 
+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
+         consistent memory pool.  This pool of virtual memory
+         is used to make consistent memory allocations.
+
+config CONSISTENT_SIZE
+       hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
+       default "0x00200000" if NOT_COHERENT_CACHE
+
 config PIN_TLB
        bool "Pinned Kernel TLBs (860 ONLY)"
        depends on ADVANCED_OPTIONS && 8xx