[POWERPC] Stop include asm-ppc when building ARCH=powerpc for ppc32
[safe/jmp/linux-2.6] / arch / powerpc / Kconfig
index 740892a..00099ef 100644 (file)
@@ -4,17 +4,7 @@
 
 mainmenu "Linux/PowerPC Kernel Configuration"
 
-config PPC64
-       bool "64-bit kernel"
-       default n
-       help
-         This option selects whether a 32-bit or a 64-bit kernel
-         will be built.
-
-config PPC_PM_NEEDS_RTC_LIB
-       bool
-       select RTC_LIB
-       default y if PM
+source "arch/powerpc/platforms/Kconfig.cputype"
 
 config PPC32
        bool
@@ -66,6 +56,9 @@ config GENERIC_FIND_NEXT_BIT
        bool
        default y
 
+config ARCH_NO_VIRT_TO_BUS
+       def_bool PPC64
+
 config PPC
        bool
        default y
@@ -99,6 +92,9 @@ config ARCH_MAY_HAVE_PC_FDC
 config PPC_OF
        def_bool y
 
+config OF
+       def_bool y
+
 config PPC_UDBG_16550
        bool
        default n
@@ -117,126 +113,20 @@ config GENERIC_BUG
        default y
        depends on BUG
 
+config SYS_SUPPORTS_APM_EMULATION
+       default y if PMAC_APM_EMU
+       bool
+
 config DEFAULT_UIMAGE
        bool
        help
          Used to allow a board to specify it wants a uImage built by default
        default n
 
-menu "Processor support"
-choice
-       prompt "Processor Type"
-       depends on PPC32
-       default 6xx
-
-config CLASSIC32
-       bool "52xx/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
-         versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
-         embedded versions (403 and 405) and the high end 64 bit Power
-         processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
-
-         This option is the catch-all for 6xx types, including some of the
-         embedded versions.  Unless there is see an option for the specific
-         chip family you are using, you want this option.
-         
-         You do not want this if you are building a kernel for a 64 bit
-         IBM RS/6000 or an Apple G5, choose 6xx.
-         
-         If unsure, select this option
-         
-         Note that the kernel runs in 32-bit mode even on 64-bit chips.
-
-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 PPC_85xx
-       bool "Freescale 85xx"
-       select E500
-       select FSL_SOC
-       select 85xx
-
-config PPC_86xx
-       bool "Freescale 86xx"
-       select 6xx
-       select FSL_SOC
-       select FSL_PCIE
-       select PPC_FPU
-       select ALTIVEC
-       help
-         The Freescale E600 SoCs have 74xx cores.
-
-config PPC_8xx
-       bool "Freescale 8xx"
-       select FSL_SOC
-       select 8xx
-
-config 40x
-       bool "AMCC 40x"
-       select PPC_DCR_NATIVE
-
-config 44x
-       bool "AMCC 44x"
-       select PPC_DCR_NATIVE
-
-
-config E200
-       bool "Freescale e200"
-
-endchoice
-
-config POWER4_ONLY
-       bool "Optimize for POWER4"
-       depends on PPC64
-       default n
-       ---help---
-         Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
-         The resulting binary will not work on POWER3 or RS64 processors
-         when compiled with binutils 2.15 or later.
-
-config POWER3
-       bool
-       depends on PPC64
-       default y if !POWER4_ONLY
-
-config POWER4
-       depends on PPC64
-       def_bool y
-
-config 6xx
-       bool
-
-# this is temp to handle compat with arch=ppc
-config 8xx
+config PPC64_SWSUSP
        bool
-
-# this is temp to handle compat with arch=ppc
-config 83xx
-       bool
-
-# this is temp to handle compat with arch=ppc
-config 85xx
-       bool
-
-config E500
-       bool
-
-config PPC_FPU
-       bool
-       default y if PPC64
+       depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
+       default y
 
 config PPC_DCR_NATIVE
        bool
@@ -256,133 +146,10 @@ config PPC_OF_PLATFORM_PCI
        depends on PPC64 # not supported on 32 bits yet
        default n
 
-config BOOKE
-       bool
-       depends on E200 || E500
-       default y
-
-config FSL_BOOKE
-       bool
-       depends on E200 || E500
-       default y
-
-config PTE_64BIT
-       bool
-       depends on 44x || E500
-       default y if 44x
-       default y if E500 && PHYS_64BIT
-
-config PHYS_64BIT
-       bool 'Large physical address support' if E500
-       depends on 44x || E500
-       select RESOURCES_64BIT
-       default y if 44x
-       ---help---
-         This option enables kernel support for larger than 32-bit physical
-         addresses.  This features is not be available on all e500 cores.
-
-         If in doubt, say N here.
-
-config ALTIVEC
-       bool "AltiVec Support"
-       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
-         altivec registers, and turning on the 'altivec enable' bit so user
-         processes can execute altivec instructions.
-
-         This option is only usefully if you have a processor that supports
-         altivec (G4, otherwise known as 74xx series), but does not have
-         any affect on a non-altivec cpu (it does, however add code to the
-         kernel).
-
-         If in doubt, say Y here.
-
-config SPE
-       bool "SPE Support"
-       depends on E200 || E500
-       default y
-       ---help---
-         This option enables kernel support for the Signal Processing
-         Extensions (SPE) to the PowerPC processor. The kernel currently
-         supports saving and restoring SPE registers, and turning on the
-         'spe enable' bit so user processes can execute SPE instructions.
-
-         This option is only useful if you have a processor that supports
-         SPE (e500, otherwise known as 85xx series), but does not have any
-         effect on a non-spe cpu (it does, however add code to the kernel).
-
-         If in doubt, say Y here.
-
-config PPC_STD_MMU
-       bool
-       depends on 6xx || POWER3 || POWER4 || PPC64
-       default y
-
-config PPC_STD_MMU_32
-       def_bool y
-       depends on PPC_STD_MMU && PPC32
-
-config VIRT_CPU_ACCOUNTING
-       bool "Deterministic task and CPU time accounting"
-       depends on PPC64
-       default y
-       help
-         Select this option to enable more accurate task and CPU time
-         accounting.  This is done by reading a CPU counter on each
-         kernel entry and exit and on transitions within the kernel
-         between system, softirq and hardirq state, so there is a
-         small performance impact.  This also enables accounting of
-         stolen time on logically-partitioned systems running on
-         IBM POWER5-based machines.
-
-         If in doubt, say Y here.
-
-config SMP
-       depends on PPC_STD_MMU
-       bool "Symmetric multi-processing support"
-       ---help---
-         This enables support for systems with more than one CPU. If you have
-         a system with only one CPU, say N. If you have a system with more
-         than one CPU, say Y.  Note that the kernel does not currently
-         support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
-         since they have inadequate hardware support for multiprocessor
-         operation.
-
-         If you say N here, the kernel will run on single and multiprocessor
-         machines, but will use only one CPU of a multiprocessor machine. If
-         you say Y here, the kernel will run on single-processor machines.
-         On a single-processor machine, the kernel will run faster if you say
-         N here.
-
-         If you don't know what to do here, say N.
-
-config NR_CPUS
-       int "Maximum number of CPUs (2-128)"
-       range 2 128
-       depends on SMP
-       default "32" if PPC64
-       default "4"
-
-config NOT_COHERENT_CACHE
-       bool
-       depends on 4xx || 8xx || E200
-       default y
-endmenu
-
 source "init/Kconfig"
 
 source "arch/powerpc/platforms/Kconfig"
 
-source arch/powerpc/platforms/embedded6xx/Kconfig
-source arch/powerpc/platforms/4xx/Kconfig
-source arch/powerpc/platforms/82xx/Kconfig
-source arch/powerpc/platforms/83xx/Kconfig
-source arch/powerpc/platforms/85xx/Kconfig
-source arch/powerpc/platforms/86xx/Kconfig
-source arch/powerpc/platforms/8xx/Kconfig
-
 menu "Kernel options"
 
 config HIGHMEM
@@ -439,7 +206,7 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
 
 config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on PPC_MULTIPLATFORM && EXPERIMENTAL
+       depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && 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
@@ -464,15 +231,6 @@ config CRASH_DUMP
 
          Don't change this unless you know what you are doing.
 
-config EMBEDDEDBOOT
-       bool
-       depends on 8xx || 8260
-       default y
-
-config PC_KEYBOARD
-       bool "PC PS/2 style Keyboard"
-       depends on 4xx || CPM2
-
 config PPCBUG_NVRAM
        bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
        default y if PPC_PREP
@@ -486,7 +244,6 @@ 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 NUMA
        bool "NUMA support"
        depends on PPC64
@@ -531,15 +288,21 @@ config NODES_SPAN_OTHER_NODES
        def_bool y
        depends on NEED_MULTIPLE_NODES
 
+config PPC_HAS_HASH_64K
+       bool
+       depends on PPC64
+       default n
+
 config PPC_64K_PAGES
        bool "64k page size"
        depends on PPC64
+       select PPC_HAS_HASH_64K
        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.
+         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"
@@ -591,6 +354,29 @@ config SECCOMP
 
          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
@@ -619,18 +405,6 @@ config GENERIC_ISA_DMA
        depends on PPC64 || POWER4 || 6xx && !CPM2
        default y
 
-config MPIC
-       bool
-       default n
-
-config MPIC_WEIRD
-       bool
-       default n
-
-config PPC_I8259
-       bool
-       default n
-
 config PPC_INDIRECT_PCI
        bool
        depends on PCI
@@ -646,9 +420,9 @@ config SBUS
 config FSL_SOC
        bool
 
-config FSL_PCIE
-       bool
-       depends on PPC_86xx
+config FSL_PCI
+       bool
+       select PPC_INDIRECT_PCI
 
 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 config MCA
@@ -657,11 +431,12 @@ config MCA
 config PCI
        bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
                || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
-               || MPC7448HPC2 || PPC_PS3
-       default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
+               || PPC_PS3
+       default y if !40x && !CPM2 && !8xx && !PPC_83xx \
                && !PPC_85xx && !PPC_86xx
-       default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
+       default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
        default PCI_QSPAN if !4xx && !CPM2 && 8xx
+       select ARCH_SUPPORTS_MSI
        help
          Find out whether your system includes a PCI bus. PCI is the name of
          a bus system, i.e. the way the CPU talks to the other stuff inside
@@ -669,8 +444,10 @@ config PCI
          infrastructure code to support PCI bus devices.
 
 config PCI_DOMAINS
-       bool
-       default PCI
+       def_bool PCI
+
+config PCI_SYSCALL
+       def_bool PCI
 
 config PCI_QSPAN
        bool "QSpan PCI"
@@ -857,17 +634,16 @@ source "fs/Kconfig"
 
 source "arch/powerpc/sysdev/qe_lib/Kconfig"
 
-
 source "lib/Kconfig"
 
 menu "Instrumentation Support"
-        depends on EXPERIMENTAL
+       depends on EXPERIMENTAL
 
 source "arch/powerpc/oprofile/Kconfig"
 
 config KPROBES
-       bool "Kprobes (EXPERIMENTAL)"
-       depends on !BOOKE && !4xx && KALLSYMS && EXPERIMENTAL && MODULES
+       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