[1/5] add tune options to Kconfig.cputypes
From: Marvin <marvin24@gmx.de>
Date: 2008-07-21 07:05:46
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