NFS: Cleanup nfs_set_port
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 5e001ad..587da5e 100644 (file)
@@ -42,10 +42,29 @@ config GENERIC_HARDIRQS
        bool
        default y
 
        bool
        default y
 
+config HAVE_SETUP_PER_CPU_AREA
+       def_bool PPC64
+
 config IRQ_PER_CPU
        bool
        default y
 
 config IRQ_PER_CPU
        bool
        default y
 
+config STACKTRACE_SUPPORT
+       bool
+       default y
+
+config HAVE_LATENCYTOP_SUPPORT
+       def_bool y
+
+config TRACE_IRQFLAGS_SUPPORT
+       bool
+       depends on PPC64
+       default y
+
+config LOCKDEP_SUPPORT
+       bool
+       default y
+
 config RWSEM_GENERIC_SPINLOCK
        bool
 
 config RWSEM_GENERIC_SPINLOCK
        bool
 
@@ -53,6 +72,11 @@ config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
        bool
        default y
 
+config GENERIC_LOCKBREAK
+       bool
+       default y
+       depends on SMP && PREEMPT
+
 config ARCH_HAS_ILOG2_U32
        bool
        default y
 config ARCH_HAS_ILOG2_U32
        bool
        default y
@@ -73,12 +97,31 @@ config GENERIC_FIND_NEXT_BIT
        bool
        default y
 
        bool
        default y
 
+config GENERIC_GPIO
+       bool
+       help
+         Generic GPIO API support
+
 config ARCH_NO_VIRT_TO_BUS
        def_bool PPC64
 
 config PPC
        bool
        default y
 config ARCH_NO_VIRT_TO_BUS
        def_bool PPC64
 
 config PPC
        bool
        default y
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FTRACE
+       select ARCH_WANT_OPTIONAL_GPIOLIB
+       select HAVE_IDE
+       select HAVE_IOREMAP_PROT
+       select HAVE_EFFICIENT_UNALIGNED_ACCESS
+       select HAVE_KPROBES
+       select HAVE_ARCH_KGDB
+       select HAVE_KRETPROBES
+       select HAVE_ARCH_TRACEHOOK
+       select HAVE_LMB
+       select HAVE_DMA_ATTRS if PPC64
+       select USE_GENERIC_SMP_HELPERS if SMP
+       select HAVE_OPROFILE
 
 config EARLY_PRINTK
        bool
 
 config EARLY_PRINTK
        bool
@@ -87,6 +130,7 @@ config EARLY_PRINTK
 config COMPAT
        bool
        default y if PPC64
 config COMPAT
        bool
        default y if PPC64
+       select COMPAT_BINFMT_ELF
 
 config SYSVIPC_COMPAT
        bool
 
 config SYSVIPC_COMPAT
        bool
@@ -140,11 +184,28 @@ config DEFAULT_UIMAGE
          Used to allow a board to specify it wants a uImage built by default
        default n
 
          Used to allow a board to specify it wants a uImage built by default
        default n
 
-config PPC64_SWSUSP
+config REDBOOT
+       bool
+
+config HIBERNATE_32
        bool
        bool
-       depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
+       depends on (PPC_PMAC && !SMP) || BROKEN
        default y
 
        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
+
 config PPC_DCR_NATIVE
        bool
        default n
 config PPC_DCR_NATIVE
        bool
        default n
@@ -160,11 +221,13 @@ config PPC_DCR
 
 config PPC_OF_PLATFORM_PCI
        bool
 
 config PPC_OF_PLATFORM_PCI
        bool
+       depends on PCI
        depends on PPC64 # not supported on 32 bits yet
        default n
 
 source "init/Kconfig"
 
        depends on PPC64 # not supported on 32 bits yet
        default n
 
 source "init/Kconfig"
 
+source "arch/powerpc/sysdev/Kconfig"
 source "arch/powerpc/platforms/Kconfig"
 
 menu "Kernel options"
 source "arch/powerpc/platforms/Kconfig"
 
 menu "Kernel options"
@@ -178,14 +241,10 @@ source kernel/Kconfig.hz
 source kernel/Kconfig.preempt
 source "fs/Kconfig.binfmt"
 
 source kernel/Kconfig.preempt
 source "fs/Kconfig.binfmt"
 
-# We optimistically allocate largepages from the VM, so make the limit
-# large enough (16MB). This badly named config option is actually
-# max order + 1
-config FORCE_MAX_ZONEORDER
-       int
-       depends on PPC64
-       default "9" if PPC_64K_PAGES
-       default "13"
+config HUGETLB_PAGE_SIZE_VARIABLE
+       bool
+       depends on HUGETLB_PAGE
+       default y
 
 config MATH_EMULATION
        bool "Math emulation"
 
 config MATH_EMULATION
        bool "Math emulation"
@@ -222,6 +281,9 @@ config IOMMU_VMERGE
 
          Most drivers don't have this problem; it is safe to say Y here.
 
 
          Most drivers don't have this problem; it is safe to say Y here.
 
+config IOMMU_HELPER
+       def_bool PPC64
+
 config HOTPLUG_CPU
        bool "Support for enabling/disabling CPUs"
        depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
 config HOTPLUG_CPU
        bool "Support for enabling/disabling CPUs"
        depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
@@ -234,6 +296,12 @@ config HOTPLUG_CPU
 config ARCH_ENABLE_MEMORY_HOTPLUG
        def_bool y
 
 config ARCH_ENABLE_MEMORY_HOTPLUG
        def_bool y
 
+config ARCH_HAS_WALK_MEMORY
+       def_bool y
+
+config ARCH_ENABLE_MEMORY_HOTREMOVE
+       def_bool y
+
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
        depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
        depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
@@ -252,8 +320,8 @@ config KEXEC
          strongly in flux, so no good recommendation can be made.
 
 config CRASH_DUMP
          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
+       bool "Build a kdump crash kernel"
+       depends on PPC_MULTIPLATFORM && PPC64
        help
          Build a kernel suitable for use as a kdump capture kernel.
          The kernel will be linked at a different address than normal, and
        help
          Build a kernel suitable for use as a kdump capture kernel.
          The kernel will be linked at a different address than normal, and
@@ -261,6 +329,16 @@ config CRASH_DUMP
 
          Don't change this unless you know what you are doing.
 
 
          Don't change this unless you know what you are doing.
 
+config PHYP_DUMP
+       bool "Hypervisor-assisted dump (EXPERIMENTAL)"
+       depends on PPC_PSERIES && EXPERIMENTAL
+       help
+         Hypervisor-assisted dump is meant to be a kdump replacement
+         offering robustness and speed not possible without system
+         hypervisor assistence.
+
+         If unsure, say "N"
+
 config PPCBUG_NVRAM
        bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
        default y if PPC_PREP
 config PPCBUG_NVRAM
        bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
        default y if PPC_PREP
@@ -335,6 +413,34 @@ config PPC_64K_PAGES
          while on hardware with such support, it will be used to map
          normal application pages.
 
          while on hardware with such support, it will be used to map
          normal application pages.
 
+config FORCE_MAX_ZONEORDER
+       int "Maximum zone order"
+       default "9" if PPC_64K_PAGES
+       default "13" if PPC64 && !PPC_64K_PAGES
+       default "11"
+       help
+         The kernel memory allocator divides physically contiguous memory
+         blocks into "zones", where each zone is a power of two number of
+         pages.  This option selects the largest power of two that the kernel
+         keeps in the memory allocator.  If you need to allocate very large
+         blocks of physically contiguous memory, then you may need to
+         increase this value.
+
+         This config option is actually maximum order plus one. For example,
+         a value of 11 means that the largest free memory block is 2^10 pages.
+
+         The page size is not necessarily 4KB.  For example, on 64-bit
+         systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES.  Keep
+         this in mind when choosing a value for this option.
+
+config PPC_SUBPAGE_PROT
+       bool "Support setting protections for 4k subpages"
+       depends on PPC_64K_PAGES
+       help
+         This option adds support for a system call to allow user programs
+         to set access permissions (read/write, readonly, or no access)
+         on the 4k subpages of each 64k page.
+
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
        depends on PPC64 && SMP
 config SCHED_SMT
        bool "SMT (Hyperthreading) scheduler support"
        depends on PPC64 && SMP
@@ -364,7 +470,24 @@ config CMDLINE
          some command-line options at build time by entering them here.  In
          most cases you will need to specify the root device here.
 
          some command-line options at build time by entering them here.  In
          most cases you will need to specify the root device here.
 
+config EXTRA_TARGETS
+       string "Additional default image types"
+       help
+         List additional targets to be built by the bootwrapper here (separated
+         by spaces).  This is useful for targets that depend of device tree
+         files in the .dts directory.
+
+         Targets in this list will be build as part of the default build
+         target, or when the user does a 'make zImage' or a
+         'make zImage.initrd'.
+
+         If unsure, leave blank
+
 if !44x || BROKEN
 if !44x || BROKEN
+config ARCH_WANTS_FREEZER_CONTROL
+       def_bool y
+       depends on ADB_PMU
+
 source kernel/power/Kconfig
 endif
 
 source kernel/power/Kconfig
 endif
 
@@ -385,34 +508,11 @@ config SECCOMP
 
          If unsure, say Y. Only embedded should say N here.
 
 
          If unsure, say Y. Only embedded should say N here.
 
-config WANT_DEVICE_TREE
-       bool
-       default n
-
-config DEVICE_TREE
-       string "Static device tree source file"
-       depends on WANT_DEVICE_TREE
-       help
-         This specifies the device tree source (.dts) file to be
-         compiled and included when building the bootwrapper.  If a
-         relative filename is given, then it will be relative to
-         arch/powerpc/boot/dts.  If you are not using the bootwrapper,
-         or do not need to build a dts into the bootwrapper, this
-         field is ignored.
-
-         For example, this is required when building a cuImage target
-         for an older U-Boot, which cannot pass a device tree itself.
-         Such a kernel will not work with a newer U-Boot that tries to
-         pass a device tree (unless you tell it not to).  If your U-Boot
-         does not mention a device tree in "help bootm", then use the
-         cuImage target and specify a device tree here.  Otherwise, use
-         the uImage target and leave this field blank.
-
 endmenu
 
 config ISA_DMA_API
        bool
 endmenu
 
 config ISA_DMA_API
        bool
-       default y
+       default !PPC_ISERIES || PCI
 
 menu "Bus options"
 
 
 menu "Bus options"
 
@@ -455,14 +555,32 @@ config FSL_PCI
        bool
        select PPC_INDIRECT_PCI
 
        bool
        select PPC_INDIRECT_PCI
 
+config 4xx_SOC
+       bool
+
+config FSL_LBC
+       bool
+       help
+         Freescale Localbus support
+
+config FSL_GTM
+       bool
+       depends on PPC_83xx || QUICC_ENGINE || CPM2
+       help
+         Freescale General-purpose Timers support
+
 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 config MCA
        bool
 
 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 config MCA
        bool
 
+# Platforms that what PCI turned unconditionally just do select PCI
+# in their config node.  Platforms that want to choose at config
+# time should select PPC_PCI_CHOICE
+config PPC_PCI_CHOICE
+       bool
+
 config PCI
 config PCI
-       bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
-               || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
-               || PPC_PS3
+       bool "PCI support" if PPC_PCI_CHOICE
        default y if !40x && !CPM2 && !8xx && !PPC_83xx \
                && !PPC_85xx && !PPC_86xx
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
        default y if !40x && !CPM2 && !8xx && !PPC_83xx \
                && !PPC_85xx && !PPC_86xx
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
@@ -525,6 +643,19 @@ source "drivers/pcmcia/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"
 
 
 source "drivers/pci/hotplug/Kconfig"
 
+config HAS_RAPIDIO
+       bool
+       default n
+
+config RAPIDIO
+       bool "RapidIO support"
+       depends on HAS_RAPIDIO
+       help
+         If you say Y here, the kernel will include drivers and
+         infrastructure code to support RapidIO interconnect devices.
+
+source "drivers/rapidio/Kconfig"
+
 endmenu
 
 menu "Advanced setup"
 endmenu
 
 menu "Advanced setup"
@@ -543,20 +674,6 @@ config ADVANCED_OPTIONS
 comment "Default settings for advanced configuration options are used"
        depends on !ADVANCED_OPTIONS
 
 comment "Default settings for advanced configuration options are used"
        depends on !ADVANCED_OPTIONS
 
-config HIGHMEM_START_BOOL
-       bool "Set high memory pool address"
-       depends on ADVANCED_OPTIONS && HIGHMEM
-       help
-         This option allows you to set the base address of the kernel virtual
-         area used to map high memory pages.  This can be useful in
-         optimizing the layout of kernel virtual memory.
-
-         Say N here unless you know what you are doing.
-
-config HIGHMEM_START
-       hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
-       default "0xfe000000"
-
 config LOWMEM_SIZE_BOOL
        bool "Set maximum low memory"
        depends on ADVANCED_OPTIONS
 config LOWMEM_SIZE_BOOL
        bool "Set maximum low memory"
        depends on ADVANCED_OPTIONS
@@ -573,21 +690,76 @@ config LOWMEM_SIZE
        hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
        default "0x30000000"
 
        hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
        default "0x30000000"
 
+config RELOCATABLE
+       bool "Build a relocatable kernel (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
+       help
+         This builds a kernel image that is capable of running at the
+         location the kernel is loaded at (some alignment restrictions may
+         exist).
+
+         One use is for the kexec on panic case where the recovery kernel
+         must live at a different physical address than the primary
+         kernel.
+
+         Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
+         it has been loaded at and the compile time physical addresses
+         CONFIG_PHYSICAL_START is ignored.  However CONFIG_PHYSICAL_START
+         setting can still be useful to bootwrappers that need to know the
+         load location of the kernel (eg. u-boot/mkimage).
+
+config PAGE_OFFSET_BOOL
+       bool "Set custom page offset address"
+       depends on ADVANCED_OPTIONS
+       help
+         This option allows you to set the kernel virtual address at which
+         the kernel will map low memory.  This can be useful in optimizing
+         the virtual memory layout of the system.
+
+         Say N here unless you know what you are doing.
+
+config PAGE_OFFSET
+       hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
+       default "0xc0000000"
+
 config KERNEL_START_BOOL
        bool "Set custom kernel base address"
        depends on ADVANCED_OPTIONS
        help
          This option allows you to set the kernel virtual address at which
 config KERNEL_START_BOOL
        bool "Set custom kernel base address"
        depends on ADVANCED_OPTIONS
        help
          This option allows you to set the kernel virtual address at which
-         the kernel will map low memory (the kernel image will be linked at
-         this address).  This can be useful in optimizing the virtual memory
-         layout of the system.
+         the kernel will be loaded.  Normally this should match PAGE_OFFSET
+         however there are times (like kdump) that one might not want them
+         to be the same.
 
          Say N here unless you know what you are doing.
 
 config KERNEL_START
        hex "Virtual address of kernel base" if KERNEL_START_BOOL
 
          Say N here unless you know what you are doing.
 
 config KERNEL_START
        hex "Virtual address of kernel base" if KERNEL_START_BOOL
+       default PAGE_OFFSET if PAGE_OFFSET_BOOL
+       default "0xc2000000" if CRASH_DUMP
        default "0xc0000000"
 
        default "0xc0000000"
 
+config PHYSICAL_START_BOOL
+       bool "Set physical address where the kernel is loaded"
+       depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
+       help
+         This gives the physical address where the kernel is loaded.
+
+         Say N here unless you know what you are doing.
+
+config PHYSICAL_START
+       hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
+       default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
+       default "0x00000000"
+
+config PHYSICAL_ALIGN
+       hex
+       default "0x10000000" if FSL_BOOKE
+       help
+         This value puts the alignment restrictions on physical address
+         where kernel is loaded and run from. Kernel is compiled for an
+         address which meets above alignment restriction.
+
 config TASK_SIZE_BOOL
        bool "Set custom user task size"
        depends on ADVANCED_OPTIONS
 config TASK_SIZE_BOOL
        bool "Set custom user task size"
        depends on ADVANCED_OPTIONS
@@ -628,31 +800,23 @@ config CONSISTENT_SIZE
        hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
        default "0x00200000" if NOT_COHERENT_CACHE
 
        hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
        default "0x00200000" if NOT_COHERENT_CACHE
 
-config BOOT_LOAD_BOOL
-       bool "Set the boot link/load address"
-       depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
-       help
-         This option allows you to set the initial load address of the zImage
-         or zImage.initrd file.  This can be useful if you are on a board
-         which has a small amount of memory.
-
-         Say N here unless you know what you are doing.
-
-config BOOT_LOAD
-       hex "Link/load address for booting" if BOOT_LOAD_BOOL
-       default "0x00400000" if 40x || 8xx || 8260
-       default "0x01000000" if 44x
-       default "0x00800000"
-
 config PIN_TLB
        bool "Pinned Kernel TLBs (860 ONLY)"
        depends on ADVANCED_OPTIONS && 8xx
 endmenu
 
 if PPC64
 config PIN_TLB
        bool "Pinned Kernel TLBs (860 ONLY)"
        depends on ADVANCED_OPTIONS && 8xx
 endmenu
 
 if PPC64
+config PAGE_OFFSET
+       hex
+       default "0xc000000000000000"
 config KERNEL_START
        hex
 config KERNEL_START
        hex
+       default "0xc000000002000000" if CRASH_DUMP
        default "0xc000000000000000"
        default "0xc000000000000000"
+config PHYSICAL_START
+       hex
+       default "0x02000000" if CRASH_DUMP
+       default "0x00000000"
 endif
 
 source "net/Kconfig"
 endif
 
 source "net/Kconfig"
@@ -669,22 +833,6 @@ source "arch/powerpc/sysdev/qe_lib/Kconfig"
 
 source "lib/Kconfig"
 
 
 source "lib/Kconfig"
 
-menu "Instrumentation Support"
-       depends on EXPERIMENTAL
-
-source "arch/powerpc/oprofile/Kconfig"
-
-config KPROBES
-       bool "Kprobes"
-       depends on !BOOKE && !4xx && KALLSYMS && MODULES
-       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"
@@ -699,3 +847,9 @@ source "crypto/Kconfig"
 config PPC_CLOCK
        bool
        default n
 config PPC_CLOCK
        bool
        default n
+       select HAVE_CLK
+
+config PPC_LIB_RHEAP
+       bool
+
+source "arch/powerpc/kvm/Kconfig"