From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by ozlabs.org (Postfix) with SMTP id 377AADDE08 for ; Mon, 21 Jul 2008 17:05:46 +1000 (EST) From: Marvin To: linuxppc-dev@ozlabs.org Subject: [1/5] add tune options to Kconfig.cputypes Date: Sun, 20 Jul 2008 19:48:24 +0200 References: <200807201927.24198.marvin24@gmx.de> In-Reply-To: <200807201927.24198.marvin24@gmx.de> MIME-Version: 1.0 Message-Id: <200807201948.24762.marvin24@gmx.de> Content-Type: text/plain; charset="iso-8859-1" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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