[POWERPC] Split out CPU specific options into a new Kconfig file
authorArnd Bergmann <arnd@arndb.de>
Tue, 12 Jun 2007 16:30:17 +0000 (02:30 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 14 Jun 2007 12:30:14 +0000 (22:30 +1000)
A lot of the options in arch/powerpc/Kconfig deal with the CPU menu,
and my next patches add more to them.  Moving them to a new
arch/powerpc/platforms/Kconfig.cputype file makes it easier to
follow.

There are no functional changes in here.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Kconfig
arch/powerpc/platforms/Kconfig.cputype [new file with mode: 0644]

index 5eaeafd..12830a7 100644 (file)
@@ -4,12 +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.
+source "arch/powerpc/platforms/Kconfig.cputype"
 
 config PPC_PM_NEEDS_RTC_LIB
        bool
@@ -132,123 +127,6 @@ config PPC64_SWSUSP
        depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
        default y
 
-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
-       select WANT_DEVICE_TREE
-
-config PPC_85xx
-       bool "Freescale 85xx"
-       select E500
-       select FSL_SOC
-       select 85xx
-       select WANT_DEVICE_TREE
-
-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
-       select WANT_DEVICE_TREE
-
-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
-       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
-
 config PPC_DCR_NATIVE
        bool
        default n
@@ -267,134 +145,6 @@ config PPC_OF_PLATFORM_PCI
        depends on PPC64 # not supported on 32 bits yet
        default n
 
-config 4xx
-       bool
-       depends on 40x || 44x
-       default y
-
-config BOOKE
-       bool
-       depends on E200 || E500 || 44x
-       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 PPC_MM_SLICES
-       bool
-       default y if HUGETLB_PAGE
-       default n
-
-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
-
-config CONFIG_CHECK_CACHE_COHERENCY
-       bool
-endmenu
-
 source "init/Kconfig"
 
 source "arch/powerpc/platforms/Kconfig"
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
new file mode 100644 (file)
index 0000000..597272e
--- /dev/null
@@ -0,0 +1,252 @@
+config PPC64
+       bool "64-bit kernel"
+       default n
+       help
+         This option selects whether a 32-bit or a 64-bit kernel
+         will be built.
+
+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
+       select WANT_DEVICE_TREE
+
+config PPC_85xx
+       bool "Freescale 85xx"
+       select E500
+       select FSL_SOC
+       select 85xx
+       select WANT_DEVICE_TREE
+
+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
+       select WANT_DEVICE_TREE
+
+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
+       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
+
+config 4xx
+       bool
+       depends on 40x || 44x
+       default y
+
+config BOOKE
+       bool
+       depends on E200 || E500 || 44x
+       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 PPC_MM_SLICES
+       bool
+       default y if HUGETLB_PAGE
+       default n
+
+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
+
+config CONFIG_CHECK_CACHE_COHERENCY
+       bool
+
+endmenu