[1/5] add tune options to Kconfig.cputypes
Marvin
marvin24 at gmx.de
Mon Jul 21 03:48:24 EST 2008
This patch adds tuning options similar to ppc32. In addition one can choose to
compile exclusive for the selected (and higher) cpus.
Subject: [PATCH] add tune options to Kconfig.cputypes
---
arch/powerpc/platforms/Kconfig.cputype | 79 ++++++++++++++++++++++++-------
1 files changed, 61 insertions(+), 18 deletions(-)
diff --git a/arch/powerpc/platforms/Kconfig.cputype
b/arch/powerpc/platforms/Kconfig.cputype
index 5bc4b61..88e6ce2 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -54,35 +54,78 @@ config E200
endchoice
-config POWER4_ONLY
- bool "Optimize for POWER4"
+choice
+ prompt "Processor Type"
depends on PPC64
+ default TUNE_POWER4
+ help
+ There are serveral families of 64 bit PowerPC chips supported.
+ These include the RS64, Power3 to Power6 series, 970, and
+ Cell BE based CPUs made be IBM.
+
+ If unsure, select Power4.
+
+config TUNE_RS64
+ bool "RS64"
+
+config TUNE_POWER3
+ bool "Power3"
+
+config TUNE_POWER4
+ bool "Power4"
+
+config TUNE_970
+ bool "970/G5"
+
+config TUNE_POWER5
+ bool "Power5"
+
+config TUNE_POWER6
+ bool "Power6"
+
+config TUNE_CELL
+ bool "Cell Broadband Engine"
+ help
+ Cause the compiler to optimize for the PPE of the Cell Broadband
+ Engine. This will make the code run considerably faster on Cell
+ but somewhat slower on other machines. If the resulting kernel is
+ built to run only on Cell BE machines, select also OPT_EXCLUSIVE.
+
+endchoice
+
+config OPT_EXCLUSIVE
+ bool "Optimize to run exclusive on selected CPU"
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.
+ help
+ Cause the compiler to optimize to run exclusive on the selected
+ CPU. The resulting binary will probably not work on older CPUs,
+ but should work on newer ones.
+
+ See the following chart for supported PPC64 CPU generations.
+
+ older <------------------------------> newer
+
+ RS64 -> POWER3 -> POWER4 -> POWER5 -> POWER6
+ 970/G5
+ CELL BE
+ PA6T
+
+ If the compiler/binutils combination does not support the exclusive
+ optimization, it will try to tune only or fail.
+
+ If you are unsure, select no.
config POWER3
- bool
depends on PPC64
- default y if !POWER4_ONLY
+ def_bool y if !POWER4_ONLY
config POWER4
depends on PPC64
def_bool y
-config TUNE_CELL
- bool "Optimize for Cell Broadband Engine"
+config POWER4_ONLY
depends on PPC64
- help
- Cause the compiler to optimize for the PPE of the Cell Broadband
- Engine. This will make the code run considerably faster on Cell
- but somewhat slower on other machines. This option only changes
- the scheduling of instructions, not the selection of instructions
- itself, so the resulting kernel will keep running on all other
- machines. When building a kernel that is supposed to run only
- on Cell, you should also select the POWER4_ONLY option.
+ def_bool y if TUNE_POWER4 && OPT_EXCLUSIVE
config 6xx
bool
--
1.5.6.2
More information about the Linuxppc-dev
mailing list