diff options
Diffstat (limited to 'poky/meta/conf/machine/include/arm')
60 files changed, 862 insertions, 28 deletions
diff --git a/poky/meta/conf/machine/include/arm/arch-arm.inc b/poky/meta/conf/machine/include/arm/arch-arm.inc index 869089051c..f1e92e19c6 100644 --- a/poky/meta/conf/machine/include/arm/arch-arm.inc +++ b/poky/meta/conf/machine/include/arm/arch-arm.inc @@ -14,3 +14,7 @@ TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI} ABIEXTENSION = "eabi" TARGET_FPU = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}" + +# Some -march settings need a +X option passed in. Since we cannot guarantee that any specified TUNE_CCARGS option is set in any order, we must hard code the order here to allow for it. +TUNE_CCARGS_MARCH_OPTS ??= "" +TUNE_CCARGS .= "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}" diff --git a/poky/meta/conf/machine/include/arm/arch-armv4.inc b/poky/meta/conf/machine/include/arm/arch-armv4.inc index 4f4a63b287..be5761fb20 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv4.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv4.inc @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4" TUNEVALID[arm] = "Enable ARM instruction set" TUNEVALID[armv4] = "Enable instructions for ARMv4" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}" # enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb # maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does # checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value diff --git a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc index d296e827cf..f3c749d722 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc @@ -1,3 +1,4 @@ +# Can't use feature-arm-dsp.inc, since that will add "+dsp", which isn't supported in GCC for ARMv5 ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}" TUNEVALID[dsp] = "ARM DSP functionality" diff --git a/poky/meta/conf/machine/include/arm/arch-armv5.inc b/poky/meta/conf/machine/include/arm/arch-armv5.inc index 5f46992098..6bb465e7b6 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv5.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv5.inc @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv5" TUNEVALID[armv5] = "Enable instructions for ARMv5" TUNECONFLICTS[armv5] = "armv4" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '', d)}" require conf/machine/include/arm/arch-armv4.inc diff --git a/poky/meta/conf/machine/include/arm/arch-armv6.inc b/poky/meta/conf/machine/include/arm/arch-armv6.inc index 9d2e112b71..ef8d288ea7 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv6.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv6.inc @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv6hf" TUNEVALID[armv6] = "Enable instructions for ARMv6" TUNECONFLICTS[armv6] = "armv4 armv5" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '', d)}" require conf/machine/include/arm/arch-armv5-dsp.inc diff --git a/poky/meta/conf/machine/include/arm/arch-armv6m.inc b/poky/meta/conf/machine/include/arm/arch-armv6m.inc index e7ca665a02..d6d6c7ed2d 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv6m.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv6m.inc @@ -7,7 +7,7 @@ TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a" # Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture". # SVC is a valid instruction. -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}" require conf/machine/include/arm/arch-armv5.inc diff --git a/poky/meta/conf/machine/include/arm/arch-armv7a.inc b/poky/meta/conf/machine/include/arm/arch-armv7a.inc index 0f83cee37c..74fc8d11ab 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv7a.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv7a.inc @@ -3,11 +3,12 @@ ARM_INSTRUCTION_SET ?= "thumb" TUNEVALID[armv7a] = "Enable instructions for ARMv7-a" TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '', d)}" require conf/machine/include/arm/arch-armv6.inc require conf/machine/include/arm/feature-arm-neon.inc +require conf/machine/include/arm/feature-arm-simd.inc # Little Endian base configs AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4" diff --git a/poky/meta/conf/machine/include/arm/arch-armv7em.inc b/poky/meta/conf/machine/include/arm/arch-armv7em.inc index adcab272ed..f7608ea2ee 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv7em.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv7em.inc @@ -4,7 +4,7 @@ DEFAULTTUNE ?= "armv7em" TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}" TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a" diff --git a/poky/meta/conf/machine/include/arm/arch-armv7m.inc b/poky/meta/conf/machine/include/arm/arch-armv7m.inc index a36c265bc1..2b69a3dfd1 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv7m.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv7m.inc @@ -4,7 +4,7 @@ DEFAULTTUNE ?= "armv7m" TUNEVALID[armv7m] = "Enable instructions for ARMv7-m" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}" TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a" diff --git a/poky/meta/conf/machine/include/arm/arch-armv7r.inc b/poky/meta/conf/machine/include/arm/arch-armv7r.inc new file mode 100644 index 0000000000..fac26cf4ad --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv7r.inc @@ -0,0 +1,22 @@ +# +# Defaults for ARMv7-r +# +DEFAULTTUNE ?= "armv7r" + +TUNEVALID[armv7r] = "Enable instructions for ARMv7-r" +TUNE_CCARGS_MARCH = "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', ' -march=armv7-r', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 'armv7r:', '', d)}" + +TUNECONFLICTS[armv7r] = "armv4 armv5 armv6 armv7a" + +require conf/machine/include/arm/arch-armv6.inc +require conf/machine/include/arm/feature-arm-idiv.inc +require conf/machine/include/arm/feature-arm-neon.inc + +AVAILTUNES += "armv7r armv7r-vfpv3d16" +ARMPKGARCH:tune-armv7r = "armv7r" +ARMPKGARCH:tune-armv7r-vfpv3d16 = "armv7r" +TUNE_FEATURES:tune-armv7r = "armv7r" +TUNE_FEATURES:tune-armv7r-vfpv3d16 = "${TUNE_FEATURES:tune-armv7r} vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7r = "armv7r" +PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} tune-armv7r-fpv3d16" diff --git a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc index b40c2ca8ad..8102ae6085 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv7vethf" TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve" TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '', d)}" require conf/machine/include/arm/arch-armv7a.inc diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc index 9171b31c90..5b1bcb8f46 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc @@ -5,7 +5,7 @@ DEFAULTTUNE ?= "armv8-1m-main" TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}" TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc b/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc index c84b1ecf24..30f2870811 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc @@ -1,7 +1,7 @@ DEFAULTTUNE ?= "armv8-2a" TUNEVALID[armv8-2a] = "Enable instructions for ARMv8-a" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}" # TUNE crypto will be handled by arch-armv8a.inc below MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8a.inc b/poky/meta/conf/machine/include/arm/arch-armv8a.inc index 819dffbeba..97c944dfa5 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv8a.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv8a.inc @@ -1,14 +1,12 @@ DEFAULTTUNE ?= "armv8a-crc" TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" -TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}" -TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}" require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/arm/feature-arm-crc.inc +require conf/machine/include/arm/feature-arm-crypto.inc # Little Endian base configs AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc index d9a341c66e..ffee8cea80 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc @@ -4,7 +4,7 @@ DEFAULTTUNE ?= "armv8m-base" TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}" TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc index 27f552b2d7..01bef35428 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc @@ -4,24 +4,16 @@ DEFAULTTUNE ?= "armv8m-main" require conf/machine/include/arm/arch-armv8m-base.inc +require conf/machine/include/arm/feature-arm-dsp.inc +require conf/machine/include/arm/feature-arm-neon.inc TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}" TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a" -# FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic -TUNEVALID[dsp] = "ARM DSP functionality" -ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}" -MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}" - -# FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc -TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit." -TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}" -MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}" - -AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16" +AVAILTUNES += "armv8m-main armv8m-maine armv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16" ARMPKGARCH:tune-armv8m-main = "armv8m-main" ARMPKGARCH:tune-armv8m-maine = "armv8m-main" ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8r.inc b/poky/meta/conf/machine/include/arm/arch-armv8r.inc new file mode 100644 index 0000000000..0dcfd34c1a --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv8r.inc @@ -0,0 +1,37 @@ +# +# Defaults for ARMv8-r +# +DEFAULTTUNE ?= "armv8r" + +TUNEVALID[armv8r] = "Enable instructions for ARMv8-r" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', ' -march=armv8-r', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 'armv8r:', '', d)}" + +require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/arm/feature-arm-crc.inc +require conf/machine/include/arm/feature-arm-crypto.inc + +# All ARMv8 has floating point hardware built in. Null it here to avoid any confusion for 32bit. +TARGET_FPU_32 = "" + +AVAILTUNES += "armv8r armv8r-crc armv8r-crypto armv8r-simd armv8r-crc-crypto armv8r-crc-simd armv8r-crc-crypto-simd" +ARMPKGARCH:tune-armv8r = "armv8r" +ARMPKGARCH:tune-armv8r-crc = "armv8r" +ARMPKGARCH:tune-armv8r-crypto = "armv8r" +ARMPKGARCH:tune-armv8r-simd = "armv8r" +ARMPKGARCH:tune-armv8r-crc-crypto = "armv8r" +ARMPKGARCH:tune-armv8r-crc-simd = "armv8r" +ARMPKGARCH:tune-armv8r-crc-crypto-simd = "armv8r" +TUNE_FEATURES:tune-armv8r = "armv8r" +TUNE_FEATURES:tune-armv8r-crc = "${TUNE_FEATURES:tune-armv8r} crc" +TUNE_FEATURES:tune-armv8r-crypto = "${TUNE_FEATURES:tune-armv8r} crypto" +TUNE_FEATURES:tune-armv8r-simd = "${TUNE_FEATURES:tune-armv8r} simd" +TUNE_FEATURES:tune-armv8r-crc-crypto = "${TUNE_FEATURES:tune-armv8r-crc} crypto" +TUNE_FEATURES:tune-armv8r-crc-simd = "${TUNE_FEATURES:tune-armv8r-crc} simd" +TUNE_FEATURES:tune-armv8r-crc-crypto-simd = "${TUNE_FEATURES:tune-armv8r-crc-crypto} simd" +PACKAGE_EXTRA_ARCHS:tune-armv8r = "armv8r" +PACKAGE_EXTRA_ARCHS:tune-armv8r-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crc" +PACKAGE_EXTRA_ARCHS:tune-armv8r-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8r-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-simd" +PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc} armv8r-simd armv8r-crc-simd" +PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-crypto-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} armv8r-crc-crypto-simd" diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc new file mode 100644 index 0000000000..1b1cbdb5a7 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc @@ -0,0 +1,13 @@ +DEFAULTTUNE ?= "arm920t" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[arm920t] = "Enable arm920t specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', ' -mcpu=arm920t', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', 'armv4:', '', d)}" + +AVAILTUNES += "arm920t" +ARMPKGARCH:tune-arm920t = "arm920t" +# mcpu is used so don't use armv4t as we don't want march +TUNE_FEATURES:tune-arm920t = "arm thumb arm920t" +PACKAGE_EXTRA_ARCHS:tune-arm920t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm920t arm920tt" diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc new file mode 100644 index 0000000000..78b890b43c --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc @@ -0,0 +1,13 @@ +DEFAULTTUNE ?= "arm9tdmi" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[arm9tdmi] = "Enable arm9tdmi specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', ' -mcpu=arm9tdmi', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', 'armv4:', '', d)}" + +AVAILTUNES += "arm9tdmi" +ARMPKGARCH:tune-arm9tdmi = "arm9tdmi" +# mcpu is used so don't use armv4t as we don't want march +TUNE_FEATURES:tune-arm9tdmi = "arm thumb arm9tdmi" +PACKAGE_EXTRA_ARCHS:tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm9tdmi arm9tdmit" diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc new file mode 100644 index 0000000000..0d481d3888 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc @@ -0,0 +1,12 @@ +DEFAULTTUNE ?= "ep9312" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[ep9312] = "Enable Cirrus Logic EP9312 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312 -mcpu=ep9312', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '', d)}" + +AVAILTUNES += "ep9312" +ARMPKGARCH:tune-ep9312 = "ep9312" +TUNE_FEATURES:tune-ep9312 = "thumb ep9312" +PACKAGE_EXTRA_ARCHS:tune-ep9312 = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} ep9312t" diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc new file mode 100644 index 0000000000..38ea9b7dd5 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc @@ -0,0 +1,12 @@ +DEFAULTTUNE ?= "strongarm" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[strongarm] = "Enable Strongarm 1100 series processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', ' -mcpu=strongarm1100', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', 'armv4:', '', d)}" + +AVAILTUNES += "strongarm" +ARMPKGARCH:tune-strongarm = "strongarm" +TUNE_FEATURES:tune-strongarm = "arm strongarm" +PACKAGE_EXTRA_ARCHS:tune-strongarm = "${PACKAGE_EXTRA_ARCHS:tune-armv4} strongarm" diff --git a/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc new file mode 100644 index 0000000000..84c5084868 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc @@ -0,0 +1,13 @@ +DEFAULTTUNE ?= "armv5te" + +require conf/machine/include/arm/arch-armv5-dsp.inc + +TUNEVALID[arm926ejs] = "Enable arm926ejs specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', ' -mcpu=arm926ej-s', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', 'armv5:', '', d)}" + +AVAILTUNES += "arm926ejs" +ARMPKGARCH:tune-arm926ejs = "arm926ejs" +# mcpu is used so don't use armv5te as we don't want march +TUNE_FEATURES:tune-arm926ejs = "arm thumb dsp arm926ejs" +PACKAGE_EXTRA_ARCHS:tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} arm926ejste arm926ejse" diff --git a/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc new file mode 100644 index 0000000000..c584b47d18 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc @@ -0,0 +1,15 @@ +# Configurations for the Intel PXA27x Appications Processor Family. +# Please use tune-xscale for PXA255/PXA26x based processors. + +DEFAULTTUNE ?= "iwmmxt" + +require conf/machine/include/arm/arch-armv5-dsp.inc + +TUNEVALID[iwmmxt] = "Enable Intel PXA27x specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', ' -mcpu=iwmmxt', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', 'armv5:', '', d)}" + +AVAILTUNES += "iwmmxt" +ARMPKGARCH:tune-iwmmxt = "iwmmxt" +TUNE_FEATURES:tune-iwmmxt = "thumb iwmmxt" +PACKAGE_EXTRA_ARCHS:tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} iwmmxt iwmmxtt" diff --git a/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc new file mode 100644 index 0000000000..cc67dcd304 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc @@ -0,0 +1,19 @@ +DEFAULTTUNE ?= "armv5te" + +require conf/machine/include/arm/arch-armv5-dsp.inc + +TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'xscale', ' -mcpu=xscale', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'xscale', 'armv5:', '', d)}" + +AVAILTUNES += "xscale" +ARMPKGARCH:tune-xscale = "xscale" +# mcpu is used so don't use armv5te as we don't want march +TUNE_FEATURES:tune-xscale = "arm thumb dsp xscale" +PACKAGE_EXTRA_ARCHS:tune-xscale = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} xscale xscalet xscalee xscalete" + +AVAILTUNES += "xscale-be" +ARMPKGARCH:tune-xscale-be = "xscale" +# mcpu is used so don't use armv5te as we don't want march +TUNE_FEATURES:tune-xscale-be = "${TUNE_FEATURES:tune-xscale} bigendian" +PACKAGE_EXTRA_ARCHS:tune-xscale-be = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb" diff --git a/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc new file mode 100644 index 0000000000..b848580948 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc @@ -0,0 +1,16 @@ +DEFAULTTUNE ?= "armv6hf" + +require conf/machine/include/arm/arch-armv6.inc + +TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1136jf-s', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '', d)}" + +AVAILTUNES += "arm1136jfs arm1136jfshf" +ARMPKGARCH:tune-arm1136jfs = "arm1136jfs" +ARMPKGARCH:tune-arm1136jfshf = "arm1136jfs" +# mcpu is used so don't use armv6 as we don't want march +TUNE_FEATURES:tune-arm1136jfs = "arm vfp arm1136jfs" +TUNE_FEATURES:tune-arm1136jfshf = "${TUNE_FEATURES:tune-arm1136jfs} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS:tune-armv6} arm1136jfs-vfp" +PACKAGE_EXTRA_ARCHS:tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} arm1136jfshf-vfp" diff --git a/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc new file mode 100644 index 0000000000..21d77f081e --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "arm1176jzs" + +require conf/machine/include/arm/arch-armv6.inc + +TUNEVALID[arm1176jzs] = "Enable arm1176jzs specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1176jz-s', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '', d)}" + +AVAILTUNES += "arm1176jzs" +ARMPKGARCH:tune-arm1176jzs = "arm1176jzs" +TUNE_FEATURES:tune-arm1176jzs = "arm thumb arm1176jzs" +PACKAGE_EXTRA_ARCHS:tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp} arm1176jzs arm1176jzst" + +AVAILTUNES += "arm1176jzs-be" +ARMPKGARCH:tune-arm1176jzs-be = "${ARMPKGARCH:tune-arm1176jzs}" +TUNE_FEATURES:tune-arm1176jzs-be = "${TUNE_FEATURES:tune-arm1176jzs} bigendian" +PACKAGE_EXTRA_ARCHS:tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp} arm1176jzsb arm1176jzstb" diff --git a/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc new file mode 100644 index 0000000000..aadc5326ce --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc @@ -0,0 +1,11 @@ +DEFAULTTUNE ?= "cortexm0" +require conf/machine/include/arm/arch-armv6m.inc + +TUNEVALID[cortexm0] = "Enable Cortex-M0 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0', ' -mcpu=cortex-m0', '', d)}" +AVAILTUNES += "cortexm0" + +ARMPKGARCH:tune-cortexm0 = "cortexm0" +TUNE_FEATURES:tune-cortexm0 = "${TUNE_FEATURES:tune-armv6m} cortexm0" + +PACKAGE_EXTRA_ARCHS:tune-cortexm0 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0" diff --git a/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc new file mode 100644 index 0000000000..a3cf3f0bd2 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc @@ -0,0 +1,11 @@ +DEFAULTTUNE ?= "cortexm0-plus" +require conf/machine/include/arm/arch-armv6m.inc + +TUNEVALID[cortexm0-plus] = "Enable Cortex-M0 Plus specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0-plus', ' -mcpu=cortex-m0plus', '', d)}" +AVAILTUNES += "cortexm0-plus" + +ARMPKGARCH:tune-cortexm0-plus = "cortexm0-plus" +TUNE_FEATURES:tune-cortexm0-plus = "${TUNE_FEATURES:tune-armv6m} cortexm0-plus" + +PACKAGE_EXTRA_ARCHS:tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0-plus" diff --git a/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc new file mode 100644 index 0000000000..16661f3a26 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M1 +# +DEFAULTTUNE ?= "cortexm1" + +TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm1', ' -mcpu=cortex-m1', '', d)}" + +require conf/machine/include/arm/arch-armv6m.inc + +AVAILTUNES += "cortexm1" +ARMPKGARCH:tune-cortexm1 = "cortexm1" +TUNE_FEATURES:tune-cortexm1 = "${TUNE_FEATURES:tune-armv6m} cortexm1" +PACKAGE_EXTRA_ARCHS:tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm1" diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc new file mode 100644 index 0000000000..e827afb2a0 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc @@ -0,0 +1,51 @@ +DEFAULTTUNE ?= "cortexa15thf-neon" + +require conf/machine/include/arm/arch-armv7ve.inc + +TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', ' -mcpu=cortex-a15', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 'armv7ve:', '', d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon cortexa15-neon-vfpv4 cortexa15t-neon-vfpv4" +ARMPKGARCH:tune-cortexa15 = "cortexa15" +ARMPKGARCH:tune-cortexa15t = "cortexa15" +ARMPKGARCH:tune-cortexa15-neon = "cortexa15" +ARMPKGARCH:tune-cortexa15t-neon = "cortexa15" +ARMPKGARCH:tune-cortexa15-neon-vfpv4 = "cortexa15" +ARMPKGARCH:tune-cortexa15t-neon-vfpv4 = "cortexa15" +# mcpu is used so don't use armv7ve as we don't want march +TUNE_FEATURES:tune-cortexa15 = "arm vfp cortexa15" +TUNE_FEATURES:tune-cortexa15t = "${TUNE_FEATURES:tune-cortexa15} thumb" +TUNE_FEATURES:tune-cortexa15-neon = "${TUNE_FEATURES:tune-cortexa15} neon" +TUNE_FEATURES:tune-cortexa15t-neon = "${TUNE_FEATURES:tune-cortexa15-neon} thumb" +TUNE_FEATURES:tune-cortexa15-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon} vfpv4" +TUNE_FEATURES:tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} thumb" +PACKAGE_EXTRA_ARCHS:tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa15-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa15-vfp cortexa15t2-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa15-vfp cortexa15-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa15-vfp cortexa15-neon cortexa15t2-vfp cortexa15t2-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4 cortexa15t2-vfp cortexa15t2-neon cortexa15t2-neon-vfpv4" + +# HF Tunes +AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon cortexa15hf-neon-vfpv4 cortexa15thf-neon-vfpv4" +ARMPKGARCH:tune-cortexa15hf = "cortexa15" +ARMPKGARCH:tune-cortexa15thf = "cortexa15" +ARMPKGARCH:tune-cortexa15hf-neon = "cortexa15" +ARMPKGARCH:tune-cortexa15thf-neon = "cortexa15" +ARMPKGARCH:tune-cortexa15hf-neon-vfpv4 = "cortexa15" +ARMPKGARCH:tune-cortexa15thf-neon-vfpv4 = "cortexa15" +# mcpu is used so don't use armv7ve as we don't want march +TUNE_FEATURES:tune-cortexa15hf = "${TUNE_FEATURES:tune-cortexa15} callconvention-hard" +TUNE_FEATURES:tune-cortexa15thf = "${TUNE_FEATURES:tune-cortexa15t} callconvention-hard" +TUNE_FEATURES:tune-cortexa15hf-neon = "${TUNE_FEATURES:tune-cortexa15-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa15thf-neon = "${TUNE_FEATURES:tune-cortexa15t-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa15hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} callconvention-hard" +TUNE_FEATURES:tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15t-neon-vfpv4} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa15hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa15hf-vfp cortexa15hf-neon cortexa15t2hf-vfp cortexa15t2hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4 cortexa15t2hf-vfp cortexa15t2hf-neon cortexa15t2hf-neon-vfpv4" diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc new file mode 100644 index 0000000000..3ad00b16d8 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc @@ -0,0 +1,51 @@ +DEFAULTTUNE ?= "cortexa17thf-neon" + +require conf/machine/include/arm/arch-armv7ve.inc + +TUNEVALID[cortexa17] = "Enable Cortex-A17 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', ' -mcpu=cortex-a17', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', 'armv7ve:', '', d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa17 cortexa17t cortexa17-neon cortexa17t-neon cortexa17-neon-vfpv4 cortexa17t-neon-vfpv4" +ARMPKGARCH:tune-cortexa17 = "cortexa17" +ARMPKGARCH:tune-cortexa17t = "cortexa17" +ARMPKGARCH:tune-cortexa17-neon = "cortexa17" +ARMPKGARCH:tune-cortexa17t-neon = "cortexa17" +ARMPKGARCH:tune-cortexa17-neon-vfpv4 = "cortexa17" +ARMPKGARCH:tune-cortexa17t-neon-vfpv4 = "cortexa17" +# mcpu is used so don't use armv7ve as we don't want march +TUNE_FEATURES:tune-cortexa17 = "arm vfp cortexa17" +TUNE_FEATURES:tune-cortexa17t = "${TUNE_FEATURES:tune-cortexa17} thumb" +TUNE_FEATURES:tune-cortexa17-neon = "${TUNE_FEATURES:tune-cortexa17} neon" +TUNE_FEATURES:tune-cortexa17t-neon = "${TUNE_FEATURES:tune-cortexa17-neon} thumb" +TUNE_FEATURES:tune-cortexa17-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon} vfpv4" +TUNE_FEATURES:tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} thumb" +PACKAGE_EXTRA_ARCHS:tune-cortexa17 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa17-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa17t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa17-vfp cortexa17t2-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa17-vfp cortexa17-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa17-vfp cortexa17-neon cortexa17t2-vfp cortexa17t2-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4 cortexa17t2-vfp cortexa17t2-neon cortexa17t2-neon-vfpv4" + +# HF Tunes +AVAILTUNES += "cortexa17hf cortexa17thf cortexa17hf-neon cortexa17thf-neon cortexa17hf-neon-vfpv4 cortexa17thf-neon-vfpv4" +ARMPKGARCH:tune-cortexa17hf = "cortexa17" +ARMPKGARCH:tune-cortexa17thf = "cortexa17" +ARMPKGARCH:tune-cortexa17hf-neon = "cortexa17" +ARMPKGARCH:tune-cortexa17thf-neon = "cortexa17" +ARMPKGARCH:tune-cortexa17hf-neon-vfpv4 = "cortexa17" +ARMPKGARCH:tune-cortexa17thf-neon-vfpv4 = "cortexa17" +# mcpu is used so don't use armv7ve as we don't want march +TUNE_FEATURES:tune-cortexa17hf = "${TUNE_FEATURES:tune-cortexa17} callconvention-hard" +TUNE_FEATURES:tune-cortexa17thf = "${TUNE_FEATURES:tune-cortexa17t} callconvention-hard" +TUNE_FEATURES:tune-cortexa17hf-neon = "${TUNE_FEATURES:tune-cortexa17-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa17thf-neon = "${TUNE_FEATURES:tune-cortexa17t-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa17hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} callconvention-hard" +TUNE_FEATURES:tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17t-neon-vfpv4} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexa17hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa17hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa17thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa17hf-vfp cortexa17hf-neon cortexa17t2hf-vfp cortexa17t2hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4 cortexa17t2hf-vfp cortexa17t2hf-neon cortexa17t2hf-neon-vfpv4" diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc new file mode 100644 index 0000000000..0de5aadaaa --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc @@ -0,0 +1,51 @@ +DEFAULTTUNE ?= "cortexa5thf-neon" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', ' -mcpu=cortex-a5', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', 'armv7a:', '', d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon cortexa5-neon-vfpv4 cortexa5t-neon-vfpv4" +ARMPKGARCH:tune-cortexa5 = "cortexa5" +ARMPKGARCH:tune-cortexa5t = "cortexa5" +ARMPKGARCH:tune-cortexa5-neon = "cortexa5" +ARMPKGARCH:tune-cortexa5t-neon = "cortexa5" +ARMPKGARCH:tune-cortexa5-neon-vfpv4 = "cortexa5" +ARMPKGARCH:tune-cortexa5t-neon-vfpv4 = "cortexa5" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa5 = "arm vfp cortexa5" +TUNE_FEATURES:tune-cortexa5t = "${TUNE_FEATURES:tune-cortexa5} thumb" +TUNE_FEATURES:tune-cortexa5-neon = "${TUNE_FEATURES:tune-cortexa5} neon" +TUNE_FEATURES:tune-cortexa5t-neon = "${TUNE_FEATURES:tune-cortexa5-neon} thumb" +TUNE_FEATURES:tune-cortexa5-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon} vfpv4" +TUNE_FEATURES:tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} thumb" +PACKAGE_EXTRA_ARCHS:tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa5-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa5-vfp cortexa5t2-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa5-vfp cortexa5-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4 cortexa5t2-vfp cortexa5t2-neon cortexa5t2-neon-vfpv4" + +# HF Tunes +AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon cortexa5hf-neon-vfpv4 cortexa5thf-neon-vfpv4" +ARMPKGARCH:tune-cortexa5hf = "cortexa5" +ARMPKGARCH:tune-cortexa5thf = "cortexa5" +ARMPKGARCH:tune-cortexa5hf-neon = "cortexa5" +ARMPKGARCH:tune-cortexa5thf-neon = "cortexa5" +ARMPKGARCH:tune-cortexa5hf-neon-vfpv4 = "cortexa5" +ARMPKGARCH:tune-cortexa5thf-neon-vfpv4 = "cortexa5" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa5hf = "${TUNE_FEATURES:tune-cortexa5} callconvention-hard" +TUNE_FEATURES:tune-cortexa5thf = "${TUNE_FEATURES:tune-cortexa5t} callconvention-hard" +TUNE_FEATURES:tune-cortexa5hf-neon = "${TUNE_FEATURES:tune-cortexa5-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa5thf-neon = "${TUNE_FEATURES:tune-cortexa5t-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa5hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} callconvention-hard" +TUNE_FEATURES:tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5t-neon-vfpv4} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa5hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4 cortexa5t2hf-vfp cortexa5t2hf-neon cortexa5t2hf-neon-vfpv4" diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc new file mode 100644 index 0000000000..1ada527d8b --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc @@ -0,0 +1,51 @@ +DEFAULTTUNE ?= "cortexa7thf-neon" + +require conf/machine/include/arm/arch-armv7ve.inc + +TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:', '', d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4" +ARMPKGARCH:tune-cortexa7 = "cortexa7" +ARMPKGARCH:tune-cortexa7t = "cortexa7" +ARMPKGARCH:tune-cortexa7-neon = "cortexa7" +ARMPKGARCH:tune-cortexa7t-neon = "cortexa7" +ARMPKGARCH:tune-cortexa7-neon-vfpv4 = "cortexa7" +ARMPKGARCH:tune-cortexa7t-neon-vfpv4 = "cortexa7" +# mcpu is used so don't use armv7ve as we don't want march +TUNE_FEATURES:tune-cortexa7 = "arm vfp cortexa7" +TUNE_FEATURES:tune-cortexa7t = "${TUNE_FEATURES:tune-cortexa7} thumb" +TUNE_FEATURES:tune-cortexa7-neon = "${TUNE_FEATURES:tune-cortexa7} neon" +TUNE_FEATURES:tune-cortexa7t-neon = "${TUNE_FEATURES:tune-cortexa7-neon} thumb" +TUNE_FEATURES:tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon} vfpv4" +TUNE_FEATURES:tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} thumb" +PACKAGE_EXTRA_ARCHS:tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa7-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa7-vfp cortexa7t2-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa7-vfp cortexa7-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4" + +# HF Tunes +AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4" +ARMPKGARCH:tune-cortexa7hf = "cortexa7" +ARMPKGARCH:tune-cortexa7thf = "cortexa7" +ARMPKGARCH:tune-cortexa7hf-neon = "cortexa7" +ARMPKGARCH:tune-cortexa7thf-neon = "cortexa7" +ARMPKGARCH:tune-cortexa7hf-neon-vfpv4 = "cortexa7" +ARMPKGARCH:tune-cortexa7thf-neon-vfpv4 = "cortexa7" +# mcpu is used so don't use armv7ve as we don't want march +TUNE_FEATURES:tune-cortexa7hf = "${TUNE_FEATURES:tune-cortexa7} callconvention-hard" +TUNE_FEATURES:tune-cortexa7thf = "${TUNE_FEATURES:tune-cortexa7t} callconvention-hard" +TUNE_FEATURES:tune-cortexa7hf-neon = "${TUNE_FEATURES:tune-cortexa7-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa7thf-neon = "${TUNE_FEATURES:tune-cortexa7t-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} callconvention-hard" +TUNE_FEATURES:tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7t-neon-vfpv4} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa7hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4" diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc new file mode 100644 index 0000000000..952302afa2 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc @@ -0,0 +1,39 @@ +DEFAULTTUNE ?= "cortexa8thf-neon" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', ' -mcpu=cortex-a8', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', 'armv7a:', '', d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon" +ARMPKGARCH:tune-cortexa8 = "cortexa8" +ARMPKGARCH:tune-cortexa8t = "cortexa8" +ARMPKGARCH:tune-cortexa8-neon = "cortexa8" +ARMPKGARCH:tune-cortexa8t-neon = "cortexa8" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa8 = "arm vfp cortexa8" +TUNE_FEATURES:tune-cortexa8t = "${TUNE_FEATURES:tune-cortexa8} thumb" +TUNE_FEATURES:tune-cortexa8-neon = "${TUNE_FEATURES:tune-cortexa8} neon" +TUNE_FEATURES:tune-cortexa8t-neon = "${TUNE_FEATURES:tune-cortexa8-neon} thumb" +PACKAGE_EXTRA_ARCHS:tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa8-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa8-vfp cortexa8t2-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa8-vfp cortexa8-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa8-vfp cortexa8-neon cortexa8t2-vfp cortexa8t2-neon" + +# HF Tunes +AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon" +ARMPKGARCH:tune-cortexa8hf = "cortexa8" +ARMPKGARCH:tune-cortexa8thf = "cortexa8" +ARMPKGARCH:tune-cortexa8hf-neon = "cortexa8" +ARMPKGARCH:tune-cortexa8thf-neon = "cortexa8" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa8hf = "${TUNE_FEATURES:tune-cortexa8} callconvention-hard" +TUNE_FEATURES:tune-cortexa8thf = "${TUNE_FEATURES:tune-cortexa8t} callconvention-hard" +TUNE_FEATURES:tune-cortexa8hf-neon = "${TUNE_FEATURES:tune-cortexa8-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa8thf-neon = "${TUNE_FEATURES:tune-cortexa8t-neon} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa8hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-neon cortexa8t2hf-vfp cortexa8t2hf-neon" diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc new file mode 100644 index 0000000000..4b4a52884d --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc @@ -0,0 +1,55 @@ +DEFAULTTUNE ?= "cortexa9thf-neon" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', ' -mcpu=cortex-a9', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '', d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon" +ARMPKGARCH:tune-cortexa9 = "cortexa9" +ARMPKGARCH:tune-cortexa9t = "cortexa9" +ARMPKGARCH:tune-cortexa9-neon = "cortexa9" +ARMPKGARCH:tune-cortexa9t-neon = "cortexa9" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa9 = "arm vfp cortexa9" +TUNE_FEATURES:tune-cortexa9t = "${TUNE_FEATURES:tune-cortexa9} thumb" +TUNE_FEATURES:tune-cortexa9-neon = "${TUNE_FEATURES:tune-cortexa9} neon" +TUNE_FEATURES:tune-cortexa9t-neon = "${TUNE_FEATURES:tune-cortexa9-neon} thumb" +PACKAGE_EXTRA_ARCHS:tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa9-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa9-vfp cortexa9t2-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa9-vfp cortexa9-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa9-vfp cortexa9-neon cortexa9t2-vfp cortexa9t2-neon" + +# HF Tunes +AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon" +ARMPKGARCH:tune-cortexa9hf = "cortexa9" +ARMPKGARCH:tune-cortexa9thf = "cortexa9" +ARMPKGARCH:tune-cortexa9hf-neon = "cortexa9" +ARMPKGARCH:tune-cortexa9thf-neon = "cortexa9" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa9hf = "${TUNE_FEATURES:tune-cortexa9} callconvention-hard" +TUNE_FEATURES:tune-cortexa9thf = "${TUNE_FEATURES:tune-cortexa9t} callconvention-hard" +TUNE_FEATURES:tune-cortexa9hf-neon = "${TUNE_FEATURES:tune-cortexa9-neon} callconvention-hard" +TUNE_FEATURES:tune-cortexa9thf-neon = "${TUNE_FEATURES:tune-cortexa9t-neon} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa9hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-neon cortexa9t2hf-vfp cortexa9t2hf-neon" + +# VFPv3 Tunes +AVAILTUNES += "cortexa9-vfpv3 cortexa9t-vfpv3 cortexa9hf-vfpv3 cortexa9thf-vfpv3" +ARMPKGARCH:tune-cortexa9-vfpv3 = "cortexa9" +ARMPKGARCH:tune-cortexa9t-vfpv3 = "cortexa9" +ARMPKGARCH:tune-cortexa9hf-vfpv3 = "cortexa9" +ARMPKGARCH:tune-cortexa9thf-vfpv3 = "cortexa9" +# mcpu is used so don't use armv7a as we don't want march +TUNE_FEATURES:tune-cortexa9-vfpv3 = "${TUNE_FEATURES:tune-cortexa9} vfpv3" +TUNE_FEATURES:tune-cortexa9t-vfpv3 = "${TUNE_FEATURES:tune-cortexa9t} vfpv3" +TUNE_FEATURES:tune-cortexa9hf-vfpv3 = "${TUNE_FEATURES:tune-cortexa9hf} vfpv3" +TUNE_FEATURES:tune-cortexa9thf-vfpv3 = "${TUNE_FEATURES:tune-cortexa9thf} vfpv3" +PACKAGE_EXTRA_ARCHS:tune-cortexa9-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-cortexa9t-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3 cortexa9t2hf-vfp cortexa9t2hf-vfpv3" diff --git a/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc new file mode 100644 index 0000000000..a6cb566387 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M3 +# +DEFAULTTUNE ?= "cortexm3" + +TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm3', ' -mcpu=cortex-m3', '', d)}" + +require conf/machine/include/arm/arch-armv7m.inc + +AVAILTUNES += "cortexm3" +ARMPKGARCH:tune-cortexm3 = "cortexm3" +TUNE_FEATURES:tune-cortexm3 = "${TUNE_FEATURES:tune-armv7m} cortexm3" +PACKAGE_EXTRA_ARCHS:tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7m} cortexm3" diff --git a/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc new file mode 100644 index 0000000000..e86622ff3d --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M4 +# +DEFAULTTUNE ?= "cortexm4" + +TUNEVALID[cortexm4] = "Enable Cortex-M4 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm4', ' -mcpu=cortex-m4', '', d)}" + +require conf/machine/include/arm/arch-armv7em.inc + +AVAILTUNES += "cortexm4" +ARMPKGARCH:tune-cortexm4 = "cortexm4" +TUNE_FEATURES:tune-cortexm4 = "${TUNE_FEATURES:tune-armv7em} cortexm4" +PACKAGE_EXTRA_ARCHS:tune-cortexm4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm4" diff --git a/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc new file mode 100644 index 0000000000..6434ec6398 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M7 +# +DEFAULTTUNE ?= "cortexm7" + +TUNEVALID[cortexm7] = "Enable Cortex-M7 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm7', ' -mcpu=cortex-m7', '', d)}" + +require conf/machine/include/arm/arch-armv7em.inc + +AVAILTUNES += "cortexm7" +ARMPKGARCH:tune-cortexm7 = "cortexm7" +TUNE_FEATURES:tune-cortexm7 = "${TUNE_FEATURES:tune-armv7em} cortexm7" +PACKAGE_EXTRA_ARCHS:tune-cortexm7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm7" diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc new file mode 100644 index 0000000000..0eed729630 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-R4 +# +DEFAULTTUNE ?= "cortexr4" + +TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4', ' -mcpu=cortex-r4', '', d)}" + +require conf/machine/include/arm/arch-armv7r.inc + +AVAILTUNES += "cortexr4" +ARMPKGARCH:tune-cortexr4 = "cortexr4" +TUNE_FEATURES:tune-cortexr4 = "${TUNE_FEATURES:tune-armv7r} cortexr4" +PACKAGE_EXTRA_ARCHS:tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} cortexr4" diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc new file mode 100644 index 0000000000..0712b3ab1b --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-R4F +# +DEFAULTTUNE ?= "cortexr4f" + +TUNEVALID[cortexr4f] = "Enable Cortex-R4F specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4f', ' -mcpu=cortex-r4f', '', d)}" + +require conf/machine/include/arm/arch-armv7r.inc + +AVAILTUNES += "cortexr4f" +ARMPKGARCH:tune-cortexr4f = "cortexr4f" +TUNE_FEATURES:tune-cortexr4f = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr4f" +PACKAGE_EXTRA_ARCHS:tune-cortexr4f = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr4f-vfpv3d16" diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc new file mode 100644 index 0000000000..ecaaa0d846 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-R5 +# +DEFAULTTUNE ?= "cortexr5" + +TUNEVALID[cortexr5] = "Enable Cortex-R5 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}" + +require conf/machine/include/arm/arch-armv7r.inc + +AVAILTUNES += "cortexr5" +ARMPKGARCH:tune-cortexr5 = "cortexr5" +TUNE_FEATURES:tune-cortexr5 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr5 idiv" +PACKAGE_EXTRA_ARCHS:tune-cortexr5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr5-vfpv3d16" diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc new file mode 100644 index 0000000000..bfae1f0075 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-R7 +# +DEFAULTTUNE ?= "cortexr7" + +TUNEVALID[cortexr7] = "Enable Cortex-R7 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr7', ' -mcpu=cortex-r7', '', d)}" + +require conf/machine/include/arm/arch-armv7r.inc + +AVAILTUNES += "cortexr7" +ARMPKGARCH:tune-cortexr7 = "cortexr7" +TUNE_FEATURES:tune-cortexr7 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr7 idiv" +PACKAGE_EXTRA_ARCHS:tune-cortexr7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr7-vfpv3d16" diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc new file mode 100644 index 0000000000..7fb824f6e9 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-R8 +# +DEFAULTTUNE ?= "cortexr8" + +TUNEVALID[cortexr8] = "Enable Cortex-R8 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr8', ' -mcpu=cortex-r8', '', d)}" + +require conf/machine/include/arm/arch-armv7r.inc + +AVAILTUNES += "cortexr8" +ARMPKGARCH:tune-cortexr8 = "cortexr8" +TUNE_FEATURES:tune-cortexr8 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr8 idiv" +PACKAGE_EXTRA_ARCHS:tune-cortexr8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr8-vfpv3d16" diff --git a/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc new file mode 100644 index 0000000000..d130b4b90a --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc @@ -0,0 +1,13 @@ +DEFAULTTUNE ?= "cortexa55" + +TUNEVALID[cortexa55] = "Enable Cortex-A55 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa55', ' -mcpu=cortex-a55', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa55" +ARMPKGARCH:tune-cortexa55 = "cortexa55" +TUNE_FEATURES:tune-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa55" +PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55" +BASE_LIB:tune-cortexa55 = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc new file mode 100644 index 0000000000..c7b01a2906 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "cortexa32" + +TUNEVALID[cortexa32] = "Enable Cortex-A32 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa32', ' -mcpu=cortex-a32', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa32 cortexa32-crypto" +ARMPKGARCH:tune-cortexa32 = "cortexa32" +ARMPKGARCH:tune-cortexa32-crypto = "cortexa32" +TUNE_FEATURES:tune-cortexa32 = "armv8a cortexa32 crc callconvention-hard neon" +TUNE_FEATURES:tune-cortexa32-crypto = "${TUNE_FEATURES:tune-cortexa32} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa32 cortexa32hf-neon" +PACKAGE_EXTRA_ARCHS:tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto" +BASE_LIB:tune-cortexa32 = "lib" +BASE_LIB:tune-cortexa32-crypto = "lib" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc new file mode 100644 index 0000000000..33afb19386 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "cortexa35" + +TUNEVALID[cortexa35] = "Enable Cortex-A35 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa35', ' -mcpu=cortex-a35', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa35 cortexa35-crypto" +ARMPKGARCH:tune-cortexa35 = "cortexa35" +ARMPKGARCH:tune-cortexa35-crypto = "cortexa35" +TUNE_FEATURES:tune-cortexa35 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa35" +TUNE_FEATURES:tune-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa35} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa35" +PACKAGE_EXTRA_ARCHS:tune-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto" +BASE_LIB:tune-cortexa35 = "lib64" +BASE_LIB:tune-cortexa35-crypto = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc new file mode 100644 index 0000000000..a534ad358d --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "cortexa53" + +TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa53 cortexa53-crypto" +ARMPKGARCH:tune-cortexa53 = "cortexa53" +ARMPKGARCH:tune-cortexa53-crypto = "cortexa53-crypto" +TUNE_FEATURES:tune-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa53" +TUNE_FEATURES:tune-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa53} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa53" +PACKAGE_EXTRA_ARCHS:tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto" +BASE_LIB:tune-cortexa53 = "lib64" +BASE_LIB:tune-cortexa53-crypto = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc new file mode 100644 index 0000000000..7de671a2e5 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc @@ -0,0 +1,14 @@ +DEFAULTTUNE ?= "cortexa57-cortexa53" + +TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=cortex-a57.cortex-a53", "", d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "", d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa57-cortexa53" +ARMPKGARCH:tune-cortexa57-cortexa53 = "cortexa57-cortexa53" +TUNE_FEATURES:tune-cortexa57-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57-cortexa53" +PACKAGE_EXTRA_ARCHS:tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57-cortexa53" +BASE_LIB:tune-cortexa57-cortexa53 = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc new file mode 100644 index 0000000000..37650d8798 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "cortexa57" + +TUNEVALID[cortexa57] = "Enable Cortex-A57 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa57', ' -mcpu=cortex-a57', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa57 cortexa57-crypto" +ARMPKGARCH:tune-cortexa57 = "cortexa57" +ARMPKGARCH:tune-cortexa57-crypto = "cortexa57-crypto" +TUNE_FEATURES:tune-cortexa57 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57" +TUNE_FEATURES:tune-cortexa57-crypto = "${TUNE_FEATURES:tune-cortexa57} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa57 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57" +PACKAGE_EXTRA_ARCHS:tune-cortexa57-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto" +BASE_LIB:tune-cortexa57 = "lib64" +BASE_LIB:tune-cortexa57-crypto = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc new file mode 100644 index 0000000000..a77ef59d62 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc @@ -0,0 +1,19 @@ +DEFAULTTUNE ?= "cortexa72-cortexa53" + +TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# cortexa72.cortexa53 implies crc support +AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto" +ARMPKGARCH:tune-cortexa72-cortexa53 = "cortexa72-cortexa53" +ARMPKGARCH:tune-cortexa72-cortexa53-crypto = "cortexa72-cortexa53-crypto" +TUNE_FEATURES:tune-cortexa72-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72-cortexa53" +TUNE_FEATURES:tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa72-cortexa53} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72-cortexa53" +PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto" +BASE_LIB:tune-cortexa72-cortexa53 = "lib64" +BASE_LIB:tune-cortexa72-cortexa53-crypto = "lib64" + diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc new file mode 100644 index 0000000000..2a510bd45b --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc @@ -0,0 +1,13 @@ +DEFAULTTUNE ?= "cortexa72" + +TUNEVALID[cortexa72] = "Enable Cortex-A72 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=cortex-a72', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa72" +ARMPKGARCH:tune-cortexa72 = "cortexa72" +TUNE_FEATURES:tune-cortexa72 = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa72" +PACKAGE_EXTRA_ARCHS:tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72" +BASE_LIB:tune-cortexa72 = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc new file mode 100644 index 0000000000..9cebffd54d --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc @@ -0,0 +1,19 @@ +DEFAULTTUNE ?= "cortexa73-cortexa53" + +TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# cortexa73.cortexa53 implies crc support +AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto" +ARMPKGARCH:tune-cortexa73-cortexa53 = "cortexa73-cortexa53" +ARMPKGARCH:tune-cortexa73-cortexa53-crypto = "cortexa73-cortexa53-crypto" +TUNE_FEATURES:tune-cortexa73-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa53" +TUNE_FEATURES:tune-cortexa73-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa53} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa53" +PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto" +BASE_LIB:tune-cortexa73-cortexa53 = "lib64" +BASE_LIB:tune-cortexa73-cortexa53-crypto = "lib64" + diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc new file mode 100644 index 0000000000..7bc6282be8 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc @@ -0,0 +1,19 @@ +DEFAULTTUNE ?= "thunderx" +AVAILTUNES += "thunderx thunderx_be" + +TUNEVALID[thunderx] = "Enable instructions for Cavium ThunderX" + +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunderx', '',d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +ARMPKGARCH:tune-thunderx ?= "thunderx" +ARMPKGARCH:tune-thunderx_be ?= "thunderx" + +TUNE_FEATURES:tune-thunderx = "${TUNE_FEATURES:tune-aarch64} thunderx" +TUNE_FEATURES:tune-thunderx_be = "${TUNE_FEATURES:tune-thunderx} bigendian" +BASE_LIB:tune-thunderx = "lib64" +BASE_LIB:tune-thunderx_be = "lib64" + +PACKAGE_EXTRA_ARCHS:tune-thunderx = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} thunderx" +PACKAGE_EXTRA_ARCHS:tune-thunderx_be = "aarch64_be thunderx_be" diff --git a/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc new file mode 100644 index 0000000000..3a97cf8ee8 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-R52 +# +DEFAULTTUNE ?= "cortexr52" + +TUNEVALID[cortexr52] = "Enable Cortex-R52 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr52', ' -mcpu=cortex-r52', '', d)}" + +require conf/machine/include/arm/arch-armv8r.inc + +AVAILTUNES += "cortexr52" +ARMPKGARCH:tune-cortexr52 = "cortexr52" +TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52" +PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-crc.inc b/poky/meta/conf/machine/include/arm/feature-arm-crc.inc new file mode 100644 index 0000000000..8a69d2e2fa --- /dev/null +++ b/poky/meta/conf/machine/include/arm/feature-arm-crc.inc @@ -0,0 +1,4 @@ +# Cyclic Redundancy Check (CRC) instructions for armv8-a and armv8-r + +TUNEVALID[crc] = "Enable instructions for ARMv8 Cyclic Redundancy Check (CRC)" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc b/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc new file mode 100644 index 0000000000..aade6ce08d --- /dev/null +++ b/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc @@ -0,0 +1,5 @@ +# Cryptographic instructions for: +# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r + +TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc b/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc new file mode 100644 index 0000000000..7f7ada7461 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc @@ -0,0 +1,3 @@ +ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}" +TUNEVALID[dsp] = "ARM DSP functionality" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '', d)}" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc b/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc new file mode 100644 index 0000000000..0ea42b1b39 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc @@ -0,0 +1,2 @@ +TUNEVALID[idiv] = "ARM-state integer division instructions" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'idiv', '+idiv', '', d)}" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc index eaddd054ce..174b9b9f2a 100644 --- a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc +++ b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc @@ -19,3 +19,8 @@ TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ], TUNEVALID[vfpv4d16] = "Enable Vector Floating Point Version 4 with 16 registers (vfpv4-d16) unit." TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4d16', ' vfpv4-d16', '', d)}" + +TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit." +TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}" + +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv3d16', 'vfpv5spd16' ], '+fp', '', d)}" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-simd.inc b/poky/meta/conf/machine/include/arm/feature-arm-simd.inc new file mode 100644 index 0000000000..1afaf8d901 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/feature-arm-simd.inc @@ -0,0 +1,5 @@ +# Advanced SIMD and floating-point instructions for armv7-a, armv7ve, +# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r + +TUNEVALID[simd] = "Enable instructions for Advanced SIMD and floating-point units" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', d)}" |