From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from hetzner.pbcl.net (mail.pbcl.net [88.198.119.4]) by mail.openembedded.org (Postfix) with ESMTP id 9511B76660 for ; Tue, 6 Oct 2015 13:52:23 +0000 (UTC) Received: from [2a00:14f0:e04c:1:e23f:49ff:fe47:b7fd] (helo=phil-desktop) by hetzner.pbcl.net with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1ZjSfG-000620-M5; Tue, 06 Oct 2015 15:52:23 +0200 Message-ID: <1444139541.10310.4.camel@pbcl.net> From: Phil Blundell To: Martin Jansa , openembedded-core@lists.openembedded.org Date: Tue, 06 Oct 2015 14:52:21 +0100 In-Reply-To: <1444138615-5618-1-git-send-email-Martin.Jansa@gmail.com> References: <1444138615-5618-1-git-send-email-Martin.Jansa@gmail.com> X-Mailer: Evolution 3.16.5-1 Mime-Version: 1.0 Subject: Re: [RFC][PATCH] cortexa{7,15,17}: add VFPv4 tunes X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Oct 2015 13:52:26 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Tue, 2015-10-06 at 15:36 +0200, Martin Jansa wrote: > > * we should also update Cortex-A7 and Cortex-A15, to use > -march=armv7ve, > but the problem is that oe-core has gcc-4.[89] and gcc-5.2 and gcc > -4.8 > doesn't support it yet, Or you could make it use -mcpu=cortex-a15, which works for all gcc versions within living memory. I've been using this change locally for some months and it seems to work reasonably well: diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc index a94386f..22291dc 100644 --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc @@ -12,6 +12,7 @@ ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 't', '', d ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 't2', '', d)}" ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 't2', '', d)}" ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 't2', '', d)}" +ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 't2', '', d)}" # If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb") # If the defice doesn't support ARM, then always set "thumb" even when diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc index 5529777..f6c7d80 100644 --- a/meta/conf/machine/include/tune-cortexa15.inc +++ b/meta/conf/machine/include/tune-cortexa15.inc @@ -3,7 +3,9 @@ DEFAULTTUNE ?= "armv7a-neon" require conf/machine/include/arm/arch-armv7a.inc TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations" -TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", " -mtune=cortex-a15", "", d)}" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", " -mcpu=cortex-a15", "", d)}" + +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", "cortexa15:armv7a:", "" ,d)}" # Little Endian base configs AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon" @@ -11,10 +13,10 @@ ARMPKGARCH_tune-cortexa15 = "cortexa15" ARMPKGARCH_tune-cortexa15t = "cortexa15" ARMPKGARCH_tune-cortexa15-neon = "cortexa15" ARMPKGARCH_tune-cortexa15t-neon = "cortexa15" -TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7a} cortexa15" -TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7at} cortexa15" -TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa15" -TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa15" +TUNE_FEATURES_tune-cortexa15 = "arm vfp cortexa15" +TUNE_FEATURES_tune-cortexa15t = "arm vftp thumb cortexa15" +TUNE_FEATURES_tune-cortexa15-neon = "arm vfp neon cortexa15" +TUNE_FEATURES_tune-cortexa15t-neon = "arm vfp neon thumb cortexa15" PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa15-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa15-vfp cortexa15t2-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa15-vfp cortexa15-vfp-neon" p.