conf/machine/include: Start to fill out architecture specific tune include files and tune features
These changes revolve around the idea of tune features. These are represented by 'flag' strings that are included in the TUNE_FEATURES variable. Any string included in TUNE_FEATURES should also add a TUNEVALID[<name>] entry so we can know which flags are available in TUNE_FEATURES and have documentation about what the flags do. We will add sanity code to error if flags are listed in TUNE_FEATURES but are not documented in TUNEVALID. A given tune configuration will want to define one or more predetermined sets of _FEATURE flag lists. These are defined in the form TUNE_FEATURES_tune-<name>. For defined tune configuation, <name> should be added to the AVAILTUNE list so that we can determine what tune configurations are available. Flags cannot be used in this case as with TUNEVALID since its useful to be able to build up tune lists from other TUNE_FEATURES_tune-yyy options. A given tune configuration may also define PACKAGE_EXTRA_ARCHS_tune-<name> and BASE_LIB_tune-<name> to control the multilib location. All options can be overridden by the distro or local user configuration. (From OE-Core rev: 5f9d56bd64997b93ed7e46c117851002a0556654) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
d7c67a1a05
commit
255719f023
|
@ -83,6 +83,8 @@ HOST_EXEEXT = ""
|
|||
|
||||
TUNE_ARCH ??= "INVALID"
|
||||
TUNE_CCARGS ??= ""
|
||||
TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE} ??= "${TARGET_ARCH}"
|
||||
|
||||
TARGET_ARCH = "${TUNE_ARCH}"
|
||||
TARGET_OS = "INVALID"
|
||||
|
@ -100,7 +102,7 @@ SDK_CC_ARCH = "${BUILD_CC_ARCH}"
|
|||
|
||||
PACKAGE_ARCH = "${TUNE_PKGARCH}"
|
||||
MACHINE_ARCH = "${@[bb.data.getVar('TUNE_PKGARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))].replace('-', '_')}"
|
||||
PACKAGE_EXTRA_ARCHS ??= "${TARGET_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}"
|
||||
PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
|
||||
# MACHINE_ARCH shouldn't be included here as a variable dependency
|
||||
# since machine specific packages are handled using multimachine
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
TUNE_ARCH = "arm"
|
|
@ -0,0 +1,31 @@
|
|||
#
|
||||
# IA32 Architecture definition
|
||||
#
|
||||
|
||||
DEFAULTTUNE ?= "x86"
|
||||
TARGET_FPU ?= ""
|
||||
|
||||
# ELF32 ABI
|
||||
TUNEVALID[m32] = "IA32 ELF32 standard ABI"
|
||||
TUNECONFLICTS[m32] = "m64"
|
||||
TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "i586", "" ,d)}"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}"
|
||||
|
||||
# ELF64 ABI
|
||||
TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"
|
||||
TUNECONFLICT[m64] = "m32"
|
||||
TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "x86_64", "" ,d)}"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m64", "-m64", "", d)}"
|
||||
|
||||
TUNE_PKGARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "m32", "x86", "x86_64", d)}"
|
||||
|
||||
# Default Tune configurations
|
||||
AVAILTUNES += "x86"
|
||||
TUNE_FEATURES_tune-x86 ?= "m32"
|
||||
BASE_LIB_tune-x86 ?= "lib"
|
||||
PACKAGE_EXTRA_ARCHS_tune-x86 = "x86"
|
||||
|
||||
AVAILTUNES += "x86-64"
|
||||
TUNE_FEATURES_tune-x86-64 ?= "m64"
|
||||
BASE_LIB_tune-x86-64 ?= "lib64"
|
||||
PACKAGE_EXTRA_ARCHS_tune-x86-64 = "x86_64"
|
|
@ -0,0 +1 @@
|
|||
TUNE_ARCH = "mips"
|
|
@ -0,0 +1 @@
|
|||
TUNE_ARCH = "powerpc"
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_CCARGS = "-march=armv6j -mtune=arm1136jf-s"
|
||||
TUNE_CCARGS += "${@['', '-mfloat-abi=softfp -mfpu=vfp'][(bb.data.getVar('TARGET_FPU', d, 1) == 'soft') and (bb.data.getVar('CPU_FEATURES', d, 1).find('vfp') != -1)]}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_PKGARCH = "armv4t"
|
||||
TUNE_CCARGS = "-march=armv4t -mtune=arm920t"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_PKGARCH = "armv5te"
|
||||
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_PKGARCH = "armv4t"
|
||||
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
# valid options for -march: `armv7', `armv7-a', `armv7-r', `armv7-m'
|
||||
# valid option for -mtune: `cortex-a8', `cortex-r4', `cortex-m3', `cortex-m1'
|
||||
|
|
|
@ -1,7 +1,2 @@
|
|||
TUNE_ARCH = "i586"
|
||||
|
||||
TUNE_PKGARCH = "core2"
|
||||
TUNE_CCARGS = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
|
||||
#MOBLIN_CFLAGS = "-Os -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables"
|
||||
|
||||
PACKAGE_EXTRA_ARCHS = "x86 i386 i486 i586 i686 core2"
|
||||
# Atom tunings are the same as core2 for now...
|
||||
require conf/machine/include/tune-core2.inc
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "i586"
|
||||
require conf/machine/include/ia32/arch-ia32.inc
|
||||
|
||||
TUNE_PKGARCH = "i586"
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
DEFAULTTUNE ?= "core2"
|
||||
TUNE_ARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "m32", "i686", "x86_64", d)}"
|
||||
TUNE_PKGARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "m32", "core2", "core2-64", d)}"
|
||||
|
||||
require conf/machine/include/tune-i586.inc
|
||||
|
||||
# Extra tune features
|
||||
TUNEVALID[core2] = "Enable core2 specific processor optimizations"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "core2", "-march=core2 -msse3 -mtune=generic -mfpmath=sse", "", d)}"
|
||||
|
||||
# Extra tune selections
|
||||
AVAILTUNES += "core2"
|
||||
TUNE_FEATURES_tune-core2 ?= "${TUNE_FEATURES_tune-x86} core2"
|
||||
BASE_LIB_tune-core2 ?= "lib"
|
||||
PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2"
|
||||
|
||||
AVAILTUNES += "core2-64"
|
||||
TUNE_FEATURES_tune-core2-64 ?= "${TUNE_FEATURES_tune-x86-64} core2"
|
||||
BASE_LIB_tune-core2-64 ?= "lib64"
|
||||
PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2-64"
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
|
||||
# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3]
|
||||
# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_CCARGS = "-march=armv7 -mtune=cortex-m1 -mfpu=vfp -mfloat-abi=softfp"
|
||||
TUNE_PKGARCH = "armv6"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
# valid options for -march: `armv7', `armv7-m'
|
||||
TUNE_CCARGS = "-march=armv7-m -mtune=cortex-m3 -mfpu=vfp -mfloat-abi=softfp"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
# valid options for -march: `armv7', `armv7-r'
|
||||
TUNE_CCARGS = "-march=armv7-r -mtune=cortex-r4 -mfpu=vfp -mfloat-abi=softfp"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_CCARGS = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312"
|
||||
# add "-mfp=maverick" for newer gcc versions > 4.0
|
||||
|
|
|
@ -1,6 +1,15 @@
|
|||
TUNE_ARCH = "i586"
|
||||
DEFAULTTUNE ?= "i586"
|
||||
TUNE_PKGARCH ?= "i586"
|
||||
|
||||
TUNE_PKGARCH = "i586"
|
||||
TUNE_CCARGS = "-m32 -march=i586"
|
||||
require conf/machine/include/ia32/arch-ia32.inc
|
||||
|
||||
# Extra tune features
|
||||
TUNEVALID[i586] = "Enable i586 specific processor optimizations"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "i586", "-march=i586", "", d)}"
|
||||
|
||||
# Extra tune selections
|
||||
AVAILTUNES += "i586"
|
||||
TUNE_FEATURES_tune-i586 ?= "${TUNE_FEATURES_tune-x86} i586"
|
||||
BASE_LIB_tune-i586 ?= "lib"
|
||||
PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586"
|
||||
|
||||
PACKAGE_EXTRA_ARCHS = "x86 i386 i486 i586"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
# Configurations for the Intel PXA27x Appications Processor Family.
|
||||
# Please use tune-xscale for PXA255/PXA26x based processors.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "mips"
|
||||
require conf/machine/include/mips/arch-mips.inc
|
||||
|
||||
TUNE_CCARGS = "-march=mips32"
|
||||
TUNE_PKGARCH = "mips"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "powerpc"
|
||||
require conf/machine/include/powerpc/arch-powerpc.inc
|
||||
|
||||
TUNE_CCARGS = "-mcpu=603e -mhard-float"
|
||||
TUNE_PKGARCH = "ppc603e"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "powerpc"
|
||||
require conf/machine/include/powerpc/arch-powerpc.inc
|
||||
|
||||
TUNE_CCARGS = "-mcpu=e300c2 -msoft-float"
|
||||
TUNE_PKGARCH = "ppce300"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "powerpc"
|
||||
require conf/machine/include/powerpc/arch-powerpc.inc
|
||||
|
||||
TUNE_CCARGS = "-mcpu=8540"
|
||||
BASE_PACKAGE_ARCH = "ppce500"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "powerpc"
|
||||
require conf/machine/include/powerpc/arch-powerpc.inc
|
||||
|
||||
TUNE_CCARGS = "-mcpu=e500mc"
|
||||
TUNE_PKGARCH = "ppce500mc"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "powerpc"
|
||||
require conf/machine/include/powerpc/arch-powerpc.inc
|
||||
|
||||
TUNE_CCARGS = "-mcpu=8548 -mabi=spe -mspe"
|
||||
TUNE_PKGARCH = "ppce500v2"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
TUNE_PKGARCH = "arm"
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
TUNE_ARCH = "x86_64"
|
||||
|
||||
TUNE_PKGARCH = "x86_64"
|
||||
TUNE_CCARGS = "-m64"
|
||||
require conf/machine/include/ia32/arch-ia32.inc
|
||||
|
||||
DEFAULTTUNE = "x86-64"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
TUNE_ARCH = "arm"
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
|
||||
INHERIT += "siteinfo"
|
||||
|
||||
|
|
Loading…
Reference in New Issue