KVM: PPC: Fix Book3S_64 Host MMU debug output
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 62d034a..2e19500 100644 (file)
@@ -19,8 +19,8 @@ config WORD_SIZE
        default 64 if PPC64
        default 32 if !PPC64
 
        default 64 if PPC64
        default 32 if !PPC64
 
-config PPC_MERGE
-       def_bool y
+config ARCH_PHYS_ADDR_T_64BIT
+       def_bool PPC64 || PHYS_64BIT
 
 config MMU
        bool
 
 config MMU
        bool
@@ -42,20 +42,39 @@ config GENERIC_HARDIRQS
        bool
        default y
 
        bool
        default y
 
+config GENERIC_HARDIRQS_NO__DO_IRQ
+       bool
+       default y
+
 config HAVE_SETUP_PER_CPU_AREA
        def_bool PPC64
 
 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 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
 
 config STACKTRACE_SUPPORT
        bool
        default y
 
+config HAVE_LATENCYTOP_SUPPORT
+       def_bool y
+
 config TRACE_IRQFLAGS_SUPPORT
        bool
 config TRACE_IRQFLAGS_SUPPORT
        bool
-       depends on PPC64
        default y
 
 config LOCKDEP_SUPPORT
        default y
 
 config LOCKDEP_SUPPORT
@@ -86,10 +105,6 @@ config GENERIC_HWEIGHT
        bool
        default y
 
        bool
        default y
 
-config GENERIC_CALIBRATE_DELAY
-       bool
-       default y
-
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
@@ -105,12 +120,26 @@ config ARCH_NO_VIRT_TO_BUS
 config PPC
        bool
        default y
 config PPC
        bool
        default y
-       select HAVE_FTRACE
+       select HAVE_FTRACE_MCOUNT_RECORD
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FUNCTION_TRACER
+       select HAVE_FUNCTION_GRAPH_TRACER
+       select ARCH_WANT_OPTIONAL_GPIOLIB
        select HAVE_IDE
        select HAVE_IDE
+       select HAVE_IOREMAP_PROT
+       select HAVE_EFFICIENT_UNALIGNED_ACCESS
        select HAVE_KPROBES
        select HAVE_KPROBES
+       select HAVE_ARCH_KGDB
        select HAVE_KRETPROBES
        select HAVE_KRETPROBES
+       select HAVE_ARCH_TRACEHOOK
        select HAVE_LMB
        select HAVE_LMB
+       select HAVE_DMA_ATTRS
+       select HAVE_DMA_API_DEBUG
+       select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_OPROFILE
        select HAVE_OPROFILE
+       select HAVE_SYSCALL_WRAPPERS if PPC64
+       select GENERIC_ATOMIC64 if PPC32
+       select HAVE_PERF_EVENTS
 
 config EARLY_PRINTK
        bool
 
 config EARLY_PRINTK
        bool
@@ -131,7 +160,7 @@ config GENERIC_NVRAM
        bool
        default y if PPC32
 
        bool
        default y if PPC32
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
        bool
        default y
 
        bool
        default y
 
@@ -144,6 +173,7 @@ config PPC_OF
 
 config OF
        def_bool y
 
 config OF
        def_bool y
+       select OF_FLATTREE
 
 config PPC_UDBG_16550
        bool
 
 config PPC_UDBG_16550
        bool
@@ -167,6 +197,10 @@ config SYS_SUPPORTS_APM_EMULATION
        default y if PMAC_APM_EMU
        bool
 
        default y if PMAC_APM_EMU
        bool
 
+config DTC
+       bool
+       default y
+
 config DEFAULT_UIMAGE
        bool
        help
 config DEFAULT_UIMAGE
        bool
        help
@@ -176,24 +210,14 @@ config DEFAULT_UIMAGE
 config REDBOOT
        bool
 
 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
 config ARCH_HIBERNATION_POSSIBLE
        bool
-       depends on (PPC64 && HIBERNATE_64) || (PPC32 && HIBERNATE_32)
        default y
 
 config ARCH_SUSPEND_POSSIBLE
        def_bool y
        default y
 
 config ARCH_SUSPEND_POSSIBLE
        def_bool y
-       depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200
+       depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
+                  PPC_85xx || PPC_86xx
 
 config PPC_DCR_NATIVE
        bool
 
 config PPC_DCR_NATIVE
        bool
@@ -214,8 +238,40 @@ config PPC_OF_PLATFORM_PCI
        depends on PPC64 # not supported on 32 bits yet
        default n
 
        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 "init/Kconfig"
 
+source "kernel/Kconfig.freezer"
+
 source "arch/powerpc/sysdev/Kconfig"
 source "arch/powerpc/platforms/Kconfig"
 
 source "arch/powerpc/sysdev/Kconfig"
 source "arch/powerpc/platforms/Kconfig"
 
@@ -257,22 +313,19 @@ config 8XX_MINIMAL_FPEMU
 
          It is recommended that you build a soft-float userspace instead.
 
 
          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 IOMMU_HELPER
        def_bool PPC64
 
+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"
        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)
@@ -282,6 +335,10 @@ config HOTPLUG_CPU
 
          Say N if you are unsure.
 
 
          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
 
 config ARCH_ENABLE_MEMORY_HOTPLUG
        def_bool y
 
@@ -293,7 +350,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && 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
        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
@@ -309,14 +366,13 @@ 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 PPC64 || 6xx
+       select RELOCATABLE if PPC64
        help
          Build a kernel suitable for use as a kdump capture kernel.
        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.
+         The same kernel binary can be used as production kernel and dump
+         capture kernel.
 
 config PHYP_DUMP
        bool "Hypervisor-assisted dump (EXPERIMENTAL)"
 
 config PHYP_DUMP
        bool "Hypervisor-assisted dump (EXPERIMENTAL)"
@@ -324,7 +380,7 @@ config PHYP_DUMP
        help
          Hypervisor-assisted dump is meant to be a kdump replacement
          offering robustness and speed not possible without system
        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"
 
 
          If unsure, say "N"
 
@@ -341,6 +397,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.
 
          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
 config NUMA
        bool "NUMA support"
        depends on PPC64
@@ -348,9 +417,15 @@ config NUMA
 
 config NODES_SHIFT
        int
 
 config NODES_SHIFT
        int
+       default "8" if PPC64
        default "4"
        depends on NEED_MULTIPLE_NODES
 
        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
 config ARCH_SELECT_MEMORY_MODEL
        def_bool y
        depends on PPC64
@@ -371,6 +446,10 @@ config ARCH_SPARSEMEM_DEFAULT
 config ARCH_POPULATES_NODE_MAP
        def_bool y
 
 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
 source "mm/Kconfig"
 
 config ARCH_MEMORY_PROBE
@@ -391,21 +470,81 @@ config PPC_HAS_HASH_64K
        depends on PPC64
        default n
 
        depends on PPC64
        default n
 
+config STDBINUTILS
+       bool "Using standard binutils settings"
+       depends on 44x
+       default y
+       help
+         Turning this option off allows you to select 256KB PAGE_SIZE on 44x.
+         Note, that kernel will be able to run only those applications,
+         which had been compiled using binutils later than 2.17.50.0.3 with
+         '-zmax-page-size' set to 256K (the default is 64K). Or, if using
+         the older binutils, you can patch them with a trivial patch, which
+         changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000.
+
+choice
+       prompt "Page size"
+       default PPC_4K_PAGES
+       help
+         Select the kernel logical page size. Increasing the page size
+         will reduce software overhead at each page boundary, allow
+         hardware prefetch mechanisms to be more effective, and allow
+         larger dma transfers increasing IO efficiency and reducing
+         overhead. However the utilization of memory will increase.
+         For example, each cached file will using a multiple of the
+         page size to hold its contents and the difference between the
+         end of file and the end of page is wasted.
+
+         Some dedicated systems, such as software raid serving with
+         accelerated calculations, have shown significant increases.
+
+         If you configure a 64 bit kernel for 64k pages but the
+         processor does not support them, then the kernel will simulate
+         them with 4k pages, loading them on demand, but with the
+         reduced software overhead and larger internal fragmentation.
+         For the 32 bit kernel, a large page option will not be offered
+         unless it is supported by the configured processor.
+
+         If unsure, choose 4K_PAGES.
+
+config PPC_4K_PAGES
+       bool "4k page size"
+
+config PPC_16K_PAGES
+       bool "16k page size" if 44x
+
 config PPC_64K_PAGES
 config PPC_64K_PAGES
-       bool "64k page size"
-       depends on PPC64
-       select PPC_HAS_HASH_64K
+       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
        help
        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.
+         Make the page size 256k.
+
+         As the ELF standard only requires alignment to support page
+         sizes up to 64k, you will need to compile all of your user
+         space applications with a non-standard binutils settings
+         (see the STDBINUTILS description for details).
+
+         Say N unless you know what you are doing.
+
+endchoice
 
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order"
 
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order"
-       default "9" if PPC_64K_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
        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
          The kernel memory allocator divides physically contiguous memory
        default "11"
        help
          The kernel memory allocator divides physically contiguous memory
@@ -424,7 +563,7 @@ config FORCE_MAX_ZONEORDER
 
 config PPC_SUBPAGE_PROT
        bool "Support setting protections for 4k subpages"
 
 config PPC_SUBPAGE_PROT
        bool "Support setting protections for 4k subpages"
-       depends on PPC_64K_PAGES
+       depends on PPC_STD_MMU_64 && 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)
        help
          This option adds support for a system call to allow user programs
          to set access permissions (read/write, readonly, or no access)
@@ -459,6 +598,19 @@ 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
 config ARCH_WANTS_FREEZER_CONTROL
        def_bool y
 if !44x || BROKEN
 config ARCH_WANTS_FREEZER_CONTROL
        def_bool y
@@ -507,6 +659,9 @@ config ZONE_DMA
        bool
        default y
 
        bool
        default y
 
+config NEED_DMA_MAP_STATE
+       def_bool (PPC64 || NOT_COHERENT_CACHE)
+
 config GENERIC_ISA_DMA
        bool
        depends on PPC64 || POWER4 || 6xx && !CPM2
 config GENERIC_ISA_DMA
        bool
        depends on PPC64 || POWER4 || 6xx && !CPM2
@@ -530,6 +685,15 @@ config FSL_SOC
 config FSL_PCI
        bool
        select PPC_INDIRECT_PCI
 config FSL_PCI
        bool
        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
 
 config 4xx_SOC
        bool
@@ -539,16 +703,26 @@ config FSL_LBC
        help
          Freescale Localbus support
 
        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 || 44x
-       default y if !40x && !CPM2 && !8xx && !PPC_MPC512x && !PPC_83xx \
-               && !PPC_85xx && !PPC_86xx
+       bool "PCI support" if PPC_PCI_CHOICE
+       default y if !40x && !CPM2 && !8xx && !PPC_83xx \
+               && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
        select ARCH_SUPPORTS_MSI
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
        select ARCH_SUPPORTS_MSI
@@ -656,6 +830,23 @@ 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 LOWMEM_CAM_NUM_BOOL
+       bool "Set number of CAMs to use to map low memory"
+       depends on ADVANCED_OPTIONS && FSL_BOOKE
+       help
+         This option allows you to set the maximum number of CAM slots that
+         will be used to map low memory.  There are a limited number of slots
+         available and even more limited number that will fit in the L1 MMU.
+         However, using more entries will allow mapping more low memory.  This
+         can be useful in optimizing the layout of kernel virtual memory.
+
+         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
+
 config RELOCATABLE
        bool "Build a relocatable kernel (EXPERIMENTAL)"
        depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
 config RELOCATABLE
        bool "Build a relocatable kernel (EXPERIMENTAL)"
        depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
@@ -720,7 +911,7 @@ config PHYSICAL_START
 
 config PHYSICAL_ALIGN
        hex
 
 config PHYSICAL_ALIGN
        hex
-       default "0x10000000" if FSL_BOOKE
+       default "0x04000000" 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
        help
          This value puts the alignment restrictions on physical address
          where kernel is loaded and run from. Kernel is compiled for an
@@ -741,19 +932,6 @@ config TASK_SIZE
        default "0x80000000" if PPC_PREP || PPC_8xx
        default "0xc0000000"
 
        default "0x80000000" if PPC_PREP || PPC_8xx
        default "0xc0000000"
 
-config CONSISTENT_START_BOOL
-       bool "Set custom consistent memory pool address"
-       depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
-       help
-         This option allows you to set the base virtual address
-         of the consistent memory pool.  This pool of virtual
-         memory is used to make consistent memory allocations.
-
-config CONSISTENT_START
-       hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
-       default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx)
-       default "0xff100000" if NOT_COHERENT_CACHE
-
 config CONSISTENT_SIZE_BOOL
        bool "Set custom consistent memory pool size"
        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
 config CONSISTENT_SIZE_BOOL
        bool "Set custom consistent memory pool size"
        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
@@ -772,16 +950,27 @@ config PIN_TLB
 endmenu
 
 if PPC64
 endmenu
 
 if PPC64
+config RELOCATABLE
+       bool "Build a relocatable kernel"
+       help
+         This builds a kernel image that is capable of running anywhere
+         in the RMA (real memory area) at any 16k-aligned base address.
+         The kernel is linked as a position-independent executable (PIE)
+         and contains dynamic relocations which are processed early
+         in the bootup process.
+
+         One use is for the kexec on panic case where the recovery kernel
+         must live at a different physical address than the primary
+         kernel.
+
 config PAGE_OFFSET
        hex
        default "0xc000000000000000"
 config KERNEL_START
        hex
 config PAGE_OFFSET
        hex
        default "0xc000000000000000"
 config KERNEL_START
        hex
-       default "0xc000000002000000" if CRASH_DUMP
        default "0xc000000000000000"
 config PHYSICAL_START
        hex
        default "0xc000000000000000"
 config PHYSICAL_START
        hex
-       default "0x02000000" if CRASH_DUMP
        default "0x00000000"
 endif
 
        default "0x00000000"
 endif
 
@@ -791,10 +980,6 @@ source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
 
 source "fs/Kconfig"
 
-# XXX source "arch/ppc/8xx_io/Kconfig"
-
-# XXX source "arch/ppc/8260_io/Kconfig"
-
 source "arch/powerpc/sysdev/qe_lib/Kconfig"
 
 source "lib/Kconfig"
 source "arch/powerpc/sysdev/qe_lib/Kconfig"
 
 source "lib/Kconfig"
@@ -813,6 +998,7 @@ source "crypto/Kconfig"
 config PPC_CLOCK
        bool
        default n
 config PPC_CLOCK
        bool
        default n
+       select HAVE_CLK
 
 config PPC_LIB_RHEAP
        bool
 
 config PPC_LIB_RHEAP
        bool