diff options
Diffstat (limited to 'meta/conf/machine/include/arm')
104 files changed, 2168 insertions, 459 deletions
diff --git a/meta/conf/machine/include/arm/README b/meta/conf/machine/include/arm/README index a1beb75fdf..c5637798e6 100644 --- a/meta/conf/machine/include/arm/README +++ b/meta/conf/machine/include/arm/README @@ -10,7 +10,7 @@ of the existence of the "bigendian" feature in a given tune. A small set of ARM specific variables have been defined to allow TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT -change the definiton of TUNE_PKGARCH. TUNE_PKGACH_tune-<tune> will be +change the definiton of TUNE_PKGARCH. TUNE_PKGACH:tune-<tune> will be ignored. The format of the package arch is enforced by the TUNE_PKGARCH default. The format must be of the form: <armversion>[t][e][hf][b][-vfp][-neon] diff --git a/meta/conf/machine/include/arm/arch-arm.inc b/meta/conf/machine/include/arm/arch-arm.inc index 99625d8417..f1e92e19c6 100644 --- a/meta/conf/machine/include/arm/arch-arm.inc +++ b/meta/conf/machine/include/arm/arch-arm.inc @@ -1,7 +1,7 @@ TUNEVALID[bigendian] = "Enable big-endian mode." -ARMPKGARCH = "${ARMPKGARCH_tune-${DEFAULTTUNE}}" +ARMPKGARCH = "${ARMPKGARCH:tune-${DEFAULTTUNE}}" ARMPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'b', '', d)}" ARMPKGSFX_FPU ??= "" ARMPKGSFX_DSP ??= "" @@ -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/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc index 5f90763f7f..832d0000ac 100644 --- a/meta/conf/machine/include/arm/arch-arm64.inc +++ b/meta/conf/machine/include/arm/arch-arm64.inc @@ -3,24 +3,27 @@ DEFAULTTUNE ?= "aarch64" require conf/machine/include/arm/arch-armv7ve.inc TUNEVALID[aarch64] = "Enable instructions for aarch64" +TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a" -MACHINEOVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ':aarch64', '' ,d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:', '', d)}" # Little Endian base configs AVAILTUNES += "aarch64 aarch64_be" -ARMPKGARCH_tune-aarch64 ?= "aarch64" -ARMPKGARCH_tune-aarch64_be ?= "aarch64_be" -TUNE_FEATURES_tune-aarch64 = "aarch64" -TUNE_FEATURES_tune-aarch64_be = "${TUNE_FEATURES_tune-aarch64} bigendian" -BASE_LIB_tune-aarch64 = "lib64" -BASE_LIB_tune-aarch64_be = "lib64" - -PACKAGE_EXTRA_ARCHS_tune-aarch64 = "aarch64" -PACKAGE_EXTRA_ARCHS_tune-aarch64_be = "aarch64_be" +ARMPKGARCH:tune-aarch64 ?= "aarch64" +ARMPKGARCH:tune-aarch64_be ?= "aarch64" +TUNE_FEATURES:tune-aarch64 = "aarch64" +TUNE_FEATURES:tune-aarch64_be = "${TUNE_FEATURES:tune-aarch64} bigendian" +TUNE_PKGARCH_64:tune-aarch64 = "aarch64" +TUNE_PKGARCH_64:tune-aarch64_be = "aarch64_be" +BASE_LIB:tune-aarch64 = "lib64" +BASE_LIB:tune-aarch64_be = "lib64" + +PACKAGE_EXTRA_ARCHS:tune-aarch64 = "aarch64" +PACKAGE_EXTRA_ARCHS:tune-aarch64_be = "aarch64_be" ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}" TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" -TUNE_PKGARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" +TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}" ABIEXTENSION_64 = "" TARGET_FPU_64 = "" @@ -30,7 +33,12 @@ TUNE_PKGARCH_32 = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EA ABIEXTENSION_32 = "eabi" TARGET_FPU_32 = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}" -TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}', '${TUNE_ARCH_32}' ,d)}" -TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}' ,d)}" -ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}' ,d)}" -TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}' ,d)}" +TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}', '${TUNE_ARCH_32}', d)}" +TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}" +ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}" +TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}" + +# Emit branch protection (PAC/BTI) instructions. On hardware that doesn't +# support these they're meaningless NOP instructions, so there's very little +# reason not to. +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ' -mbranch-protection=standard', '', d)}" diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc index 47a7ad2830..be5761fb20 100644 --- a/meta/conf/machine/include/arm/arch-armv4.inc +++ b/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=armv4t', '', 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 @@ -10,25 +10,25 @@ FIX_V4BX_ARMV4 = "${@bb.utils.contains('TUNE_FEATURES', 'armv4', '--fix-v4bx', ' FIX_V4BX_ARMV5 = "${@bb.utils.contains('TUNE_FEATURES', 'armv5', '', '${FIX_V4BX_ARMV4}', d)}" FIX_V4BX = "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '', '${FIX_V4BX_ARMV5}', d)}" TARGET_LD_KERNEL_ARCH += "${FIX_V4BX}" -MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv4', 'armv4:', '' ,d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv4', 'armv4:', '', d)}" require conf/machine/include/arm/arch-arm.inc require conf/machine/include/arm/feature-arm-thumb.inc # Little Endian AVAILTUNES += "armv4 armv4t" -ARMPKGARCH_tune-armv4 ?= "armv4" -ARMPKGARCH_tune-armv4t ?= "armv4" -TUNE_FEATURES_tune-armv4 = "arm armv4" -TUNE_FEATURES_tune-armv4t = "${TUNE_FEATURES_tune-armv4} thumb" -PACKAGE_EXTRA_ARCHS_tune-armv4 = "arm armv4" -PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t" +ARMPKGARCH:tune-armv4 ?= "armv4" +ARMPKGARCH:tune-armv4t ?= "armv4" +TUNE_FEATURES:tune-armv4 = "arm armv4" +TUNE_FEATURES:tune-armv4t = "${TUNE_FEATURES:tune-armv4} thumb" +PACKAGE_EXTRA_ARCHS:tune-armv4 = "arm armv4" +PACKAGE_EXTRA_ARCHS:tune-armv4t = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv4t" # Big Endian AVAILTUNES += "armv4b armv4tb" -ARMPKGARCH_tune-armv4b ?= "armv4" -ARMPKGARCH_tune-armv4tb ?= "armv4" -TUNE_FEATURES_tune-armv4b = "${TUNE_FEATURES_tune-armv4} bigendian" -TUNE_FEATURES_tune-armv4tb = "${TUNE_FEATURES_tune-armv4t} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv4b = "armeb armv4b" -PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb" +ARMPKGARCH:tune-armv4b ?= "armv4" +ARMPKGARCH:tune-armv4tb ?= "armv4" +TUNE_FEATURES:tune-armv4b = "${TUNE_FEATURES:tune-armv4} bigendian" +TUNE_FEATURES:tune-armv4tb = "${TUNE_FEATURES:tune-armv4t} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv4b = "armeb armv4b" +PACKAGE_EXTRA_ARCHS:tune-armv4tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv4tb" diff --git a/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/meta/conf/machine/include/arm/arch-armv5-dsp.inc index 1f16085fcd..f3c749d722 100644 --- a/meta/conf/machine/include/arm/arch-armv5-dsp.inc +++ b/meta/conf/machine/include/arm/arch-armv5-dsp.inc @@ -1,52 +1,53 @@ -ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'armv5', 'dsp' ], 'e', '', d)}" +# 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" require conf/machine/include/arm/arch-armv5.inc # Little Endian AVAILTUNES += "armv5e armv5te" -ARMPKGARCH_tune-armv5e ?= "armv5" -ARMPKGARCH_tune-armv5te ?= "armv5" -TUNE_FEATURES_tune-armv5e = "${TUNE_FEATURES_tune-armv5} dsp" -TUNE_FEATURES_tune-armv5te = "${TUNE_FEATURES_tune-armv5t} dsp" -PACKAGE_EXTRA_ARCHS_tune-armv5e = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e" -PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te" +ARMPKGARCH:tune-armv5e ?= "armv5" +ARMPKGARCH:tune-armv5te ?= "armv5" +TUNE_FEATURES:tune-armv5e = "${TUNE_FEATURES:tune-armv5} dsp" +TUNE_FEATURES:tune-armv5te = "${TUNE_FEATURES:tune-armv5t} dsp" +PACKAGE_EXTRA_ARCHS:tune-armv5e = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5e" +PACKAGE_EXTRA_ARCHS:tune-armv5te = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5e armv5te" # Little Endian + VFP/DSP AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp" -ARMPKGARCH_tune-armv5e-vfp ?= "armv5" -ARMPKGARCH_tune-armv5te-vfp ?= "armv5" -ARMPKGARCH_tune-armv5ehf-vfp ?= "armv5" -ARMPKGARCH_tune-armv5tehf-vfp ?= "armv5" -TUNE_FEATURES_tune-armv5e-vfp = "${TUNE_FEATURES_tune-armv5e} vfp" -TUNE_FEATURES_tune-armv5te-vfp = "${TUNE_FEATURES_tune-armv5te} vfp" -TUNE_FEATURES_tune-armv5ehf-vfp = "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard" -TUNE_FEATURES_tune-armv5tehf-vfp = "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" +ARMPKGARCH:tune-armv5e-vfp ?= "armv5" +ARMPKGARCH:tune-armv5te-vfp ?= "armv5" +ARMPKGARCH:tune-armv5ehf-vfp ?= "armv5" +ARMPKGARCH:tune-armv5tehf-vfp ?= "armv5" +TUNE_FEATURES:tune-armv5e-vfp = "${TUNE_FEATURES:tune-armv5e} vfp" +TUNE_FEATURES:tune-armv5te-vfp = "${TUNE_FEATURES:tune-armv5te} vfp" +TUNE_FEATURES:tune-armv5ehf-vfp = "${TUNE_FEATURES:tune-armv5e-vfp} callconvention-hard" +TUNE_FEATURES:tune-armv5tehf-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5-vfp} armv5e armv5e-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp} armv5ehf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" # Big Endian AVAILTUNES += "armv5eb armv5teb" -ARMPKGARCH_tune-armv5eb ?= "armv5" -ARMPKGARCH_tune-armv5teb ?= "armv5" -TUNE_FEATURES_tune-armv5eb = "${TUNE_FEATURES_tune-armv5e} bigendian" -TUNE_FEATURES_tune-armv5teb = "${TUNE_FEATURES_tune-armv5te} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv5eb = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb" -PACKAGE_EXTRA_ARCHS_tune-armv5teb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb" +ARMPKGARCH:tune-armv5eb ?= "armv5" +ARMPKGARCH:tune-armv5teb ?= "armv5" +TUNE_FEATURES:tune-armv5eb = "${TUNE_FEATURES:tune-armv5e} bigendian" +TUNE_FEATURES:tune-armv5teb = "${TUNE_FEATURES:tune-armv5te} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv5eb = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5eb" +PACKAGE_EXTRA_ARCHS:tune-armv5teb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5eb armv5teb" # Big Endian + VFP/DSP AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp" -ARMPKGARCH_tune-armv5eb-vfp ?= "armv5" -ARMPKGARCH_tune-armv5teb-vfp ?= "armv5" -ARMPKGARCH_tune-armv5ehfb-vfp ?= "armv5" -ARMPKGARCH_tune-armv5tehfb-vfp ?= "armv5" -TUNE_FEATURES_tune-armv5eb-vfp = "${TUNE_FEATURES_tune-armv5e-vfp} bigendian" -TUNE_FEATURES_tune-armv5teb-vfp = "${TUNE_FEATURES_tune-armv5te-vfp} bigendian" -TUNE_FEATURES_tune-armv5ehfb-vfp = "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian" -TUNE_FEATURES_tune-armv5tehfb-vfp = "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp" +ARMPKGARCH:tune-armv5eb-vfp ?= "armv5" +ARMPKGARCH:tune-armv5teb-vfp ?= "armv5" +ARMPKGARCH:tune-armv5ehfb-vfp ?= "armv5" +ARMPKGARCH:tune-armv5tehfb-vfp ?= "armv5" +TUNE_FEATURES:tune-armv5eb-vfp = "${TUNE_FEATURES:tune-armv5e-vfp} bigendian" +TUNE_FEATURES:tune-armv5teb-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} bigendian" +TUNE_FEATURES:tune-armv5ehfb-vfp = "${TUNE_FEATURES:tune-armv5ehf-vfp} bigendian" +TUNE_FEATURES:tune-armv5tehfb-vfp = "${TUNE_FEATURES:tune-armv5tehf-vfp} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp} armv5eb armv5eb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp} armv5ehfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp" diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc index f9068af9de..6bb465e7b6 100644 --- a/meta/conf/machine/include/arm/arch-armv5.inc +++ b/meta/conf/machine/include/arm/arch-armv5.inc @@ -2,56 +2,56 @@ DEFAULTTUNE ?= "armv5" TUNEVALID[armv5] = "Enable instructions for ARMv5" TUNECONFLICTS[armv5] = "armv4" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}" -MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '' ,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 require conf/machine/include/arm/feature-arm-vfp.inc # Little Endian AVAILTUNES += "armv5 armv5t" -ARMPKGARCH_tune-armv5 ?= "armv5" -ARMPKGARCH_tune-armv5t ?= "armv5" -TUNE_FEATURES_tune-armv5 = "arm armv5" -TUNE_FEATURES_tune-armv5t = "${TUNE_FEATURES_tune-armv5} thumb" -PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5" -PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t" +ARMPKGARCH:tune-armv5 ?= "armv5" +ARMPKGARCH:tune-armv5t ?= "armv5" +TUNE_FEATURES:tune-armv5 = "arm armv5" +TUNE_FEATURES:tune-armv5t = "${TUNE_FEATURES:tune-armv5} thumb" +PACKAGE_EXTRA_ARCHS:tune-armv5 = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv5" +PACKAGE_EXTRA_ARCHS:tune-armv5t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} armv5 armv5t" # Little Endian + VFP/DSP AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp" -ARMPKGARCH_tune-armv5-vfp ?= "armv5" -ARMPKGARCH_tune-armv5t-vfp ?= "armv5" -ARMPKGARCH_tune-armv5hf-vfp ?= "armv5" -ARMPKGARCH_tune-armv5thf-vfp ?= "armv5" -TUNE_FEATURES_tune-armv5-vfp = "${TUNE_FEATURES_tune-armv5} vfp" -TUNE_FEATURES_tune-armv5t-vfp = "${TUNE_FEATURES_tune-armv5t} vfp" -TUNE_FEATURES_tune-armv5hf-vfp = "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard" -TUNE_FEATURES_tune-armv5thf-vfp = "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp = "armv5hf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp" +ARMPKGARCH:tune-armv5-vfp ?= "armv5" +ARMPKGARCH:tune-armv5t-vfp ?= "armv5" +ARMPKGARCH:tune-armv5hf-vfp ?= "armv5" +ARMPKGARCH:tune-armv5thf-vfp ?= "armv5" +TUNE_FEATURES:tune-armv5-vfp = "${TUNE_FEATURES:tune-armv5} vfp" +TUNE_FEATURES:tune-armv5t-vfp = "${TUNE_FEATURES:tune-armv5t} vfp" +TUNE_FEATURES:tune-armv5hf-vfp = "${TUNE_FEATURES:tune-armv5-vfp} callconvention-hard" +TUNE_FEATURES:tune-armv5thf-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5-vfp armv5t-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp = "armv5hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp" # Big Endian AVAILTUNES += "armv5b armv5tb" -ARMPKGARCH_tune-armv5b ?= "armv5" -ARMPKGARCH_tune-armv5tb ?= "armv5" -TUNE_FEATURES_tune-armv5b = "${TUNE_FEATURES_tune-armv5} bigendian" -TUNE_FEATURES_tune-armv5tb = "${TUNE_FEATURES_tune-armv5t} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b" -PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb" +ARMPKGARCH:tune-armv5b ?= "armv5" +ARMPKGARCH:tune-armv5tb ?= "armv5" +TUNE_FEATURES:tune-armv5b = "${TUNE_FEATURES:tune-armv5} bigendian" +TUNE_FEATURES:tune-armv5tb = "${TUNE_FEATURES:tune-armv5t} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv5b = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv5b" +PACKAGE_EXTRA_ARCHS:tune-armv5tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4tb} armv5b armv5tb" # Big Endian + VFP/DSP AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp" -ARMPKGARCH_tune-armv5b-vfp ?= "armv5" -ARMPKGARCH_tune-armv5tb-vfp ?= "armv5" -ARMPKGARCH_tune-armv5hfb-vfp ?= "armv5" -ARMPKGARCH_tune-armv5thfb-vfp ?= "armv5" -TUNE_FEATURES_tune-armv5b-vfp = "${TUNE_FEATURES_tune-armv5-vfp} bigendian" -TUNE_FEATURES_tune-armv5tb-vfp = "${TUNE_FEATURES_tune-armv5t-vfp} bigendian" -TUNE_FEATURES_tune-armv5hfb-vfp = "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian" -TUNE_FEATURES_tune-armv5thfb-vfp = "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp" +ARMPKGARCH:tune-armv5b-vfp ?= "armv5" +ARMPKGARCH:tune-armv5tb-vfp ?= "armv5" +ARMPKGARCH:tune-armv5hfb-vfp ?= "armv5" +ARMPKGARCH:tune-armv5thfb-vfp ?= "armv5" +TUNE_FEATURES:tune-armv5b-vfp = "${TUNE_FEATURES:tune-armv5-vfp} bigendian" +TUNE_FEATURES:tune-armv5tb-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} bigendian" +TUNE_FEATURES:tune-armv5hfb-vfp = "${TUNE_FEATURES:tune-armv5hf-vfp} bigendian" +TUNE_FEATURES:tune-armv5thfb-vfp = "${TUNE_FEATURES:tune-armv5thf-vfp} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5b-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5b-vfp armv5tb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp = "armv5hfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp" diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc index 6c838e999c..ef8d288ea7 100644 --- a/meta/conf/machine/include/arm/arch-armv6.inc +++ b/meta/conf/machine/include/arm/arch-armv6.inc @@ -2,49 +2,49 @@ DEFAULTTUNE ?= "armv6hf" TUNEVALID[armv6] = "Enable instructions for ARMv6" TUNECONFLICTS[armv6] = "armv4 armv5" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}" -MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', '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 # Little Endian AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf" -ARMPKGARCH_tune-armv6-novfp ?= "armv6" -ARMPKGARCH_tune-armv6t-novfp ?= "armv6" -ARMPKGARCH_tune-armv6 ?= "armv6" -ARMPKGARCH_tune-armv6t ?= "armv6" -ARMPKGARCH_tune-armv6hf ?= "armv6" -ARMPKGARCH_tune-armv6thf ?= "armv6" -TUNE_FEATURES_tune-armv6-novfp = "arm armv6" -TUNE_FEATURES_tune-armv6t-novfp = "${TUNE_FEATURES_tune-armv6-novfp} thumb" -TUNE_FEATURES_tune-armv6 = "${TUNE_FEATURES_tune-armv6-novfp} vfp" -TUNE_FEATURES_tune-armv6t = "${TUNE_FEATURES_tune-armv6t-novfp} vfp" -TUNE_FEATURES_tune-armv6hf = "${TUNE_FEATURES_tune-armv6} callconvention-hard" -TUNE_FEATURES_tune-armv6thf = "${TUNE_FEATURES_tune-armv6t} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6" -PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t" -PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6hf = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6thf = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp" +ARMPKGARCH:tune-armv6-novfp ?= "armv6" +ARMPKGARCH:tune-armv6t-novfp ?= "armv6" +ARMPKGARCH:tune-armv6 ?= "armv6" +ARMPKGARCH:tune-armv6t ?= "armv6" +ARMPKGARCH:tune-armv6hf ?= "armv6" +ARMPKGARCH:tune-armv6thf ?= "armv6" +TUNE_FEATURES:tune-armv6-novfp = "arm armv6" +TUNE_FEATURES:tune-armv6t-novfp = "${TUNE_FEATURES:tune-armv6-novfp} thumb" +TUNE_FEATURES:tune-armv6 = "${TUNE_FEATURES:tune-armv6-novfp} vfp" +TUNE_FEATURES:tune-armv6t = "${TUNE_FEATURES:tune-armv6t-novfp} vfp" +TUNE_FEATURES:tune-armv6hf = "${TUNE_FEATURES:tune-armv6} callconvention-hard" +TUNE_FEATURES:tune-armv6thf = "${TUNE_FEATURES:tune-armv6t} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5e} armv6" +PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} armv6 armv6t" +PACKAGE_EXTRA_ARCHS:tune-armv6 = "${PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp} armv6 armv6-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv6t = "${PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv6hf = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp} armv6hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv6thf = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp" # Big Endian AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb" -ARMPKGARCH_tune-armv6b-novfp ?= "armv6" -ARMPKGARCH_tune-armv6tb-novfp ?= "armv6" -ARMPKGARCH_tune-armv6b ?= "armv6" -ARMPKGARCH_tune-armv6tb ?= "armv6" -ARMPKGARCH_tune-armv6hfb ?= "armv6" -ARMPKGARCH_tune-armv6thfb ?= "armv6" -TUNE_FEATURES_tune-armv6b-novfp = "${TUNE_FEATURES_tune-armv6-novfp} bigendian" -TUNE_FEATURES_tune-armv6tb-novfp = "${TUNE_FEATURES_tune-armv6t-novfp} bigendian" -TUNE_FEATURES_tune-armv6b = "${TUNE_FEATURES_tune-armv6} bigendian" -TUNE_FEATURES_tune-armv6tb = "${TUNE_FEATURES_tune-armv6t} bigendian" -TUNE_FEATURES_tune-armv6hfb = "${TUNE_FEATURES_tune-armv6hf} bigendian" -TUNE_FEATURES_tune-armv6thfb = "${TUNE_FEATURES_tune-armv6thf} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b" -PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb" -PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp" +ARMPKGARCH:tune-armv6b-novfp ?= "armv6" +ARMPKGARCH:tune-armv6tb-novfp ?= "armv6" +ARMPKGARCH:tune-armv6b ?= "armv6" +ARMPKGARCH:tune-armv6tb ?= "armv6" +ARMPKGARCH:tune-armv6hfb ?= "armv6" +ARMPKGARCH:tune-armv6thfb ?= "armv6" +TUNE_FEATURES:tune-armv6b-novfp = "${TUNE_FEATURES:tune-armv6-novfp} bigendian" +TUNE_FEATURES:tune-armv6tb-novfp = "${TUNE_FEATURES:tune-armv6t-novfp} bigendian" +TUNE_FEATURES:tune-armv6b = "${TUNE_FEATURES:tune-armv6} bigendian" +TUNE_FEATURES:tune-armv6tb = "${TUNE_FEATURES:tune-armv6t} bigendian" +TUNE_FEATURES:tune-armv6hfb = "${TUNE_FEATURES:tune-armv6hf} bigendian" +TUNE_FEATURES:tune-armv6thfb = "${TUNE_FEATURES:tune-armv6thf} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb} armv6b" +PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} armv6b armv6tb" +PACKAGE_EXTRA_ARCHS:tune-armv6b = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp} armv6b armv6b-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv6tb = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp} armv6hfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp" diff --git a/meta/conf/machine/include/arm/arch-armv6m.inc b/meta/conf/machine/include/arm/arch-armv6m.inc new file mode 100644 index 0000000000..d6d6c7ed2d --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv6m.inc @@ -0,0 +1,19 @@ +# Tuning for ARMV6-m defined in ARM v6-M ArchitectureReference Manual +# at https://static.docs.arm.com/ddi0419/d/DDI0419D_armv6m_arm.pdf +DEFAULTTUNE ?= "armv6m" + +TUNEVALID[armv6m] = "Enable instructions for ARMv6-m" +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_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 + +# Little Endian +AVAILTUNES += "armv6m" +ARMPKGARCH:tune-armv6m = "armv6m" +TUNE_FEATURES:tune-armv6m = "armv6m" +PACKAGE_EXTRA_ARCHS:tune-armv6m = "armv6m" diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc index 199e63f98a..74fc8d11ab 100644 --- a/meta/conf/machine/include/arm/arch-armv7a.inc +++ b/meta/conf/machine/include/arm/arch-armv7a.inc @@ -3,164 +3,165 @@ 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)}" -MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '' ,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" -ARMPKGARCH_tune-armv7a ?= "armv7a" -ARMPKGARCH_tune-armv7at ?= "armv7a" -ARMPKGARCH_tune-armv7a-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7at-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7a-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7at-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7a-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7at-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7a-neon ?= "armv7a" -ARMPKGARCH_tune-armv7at-neon ?= "armv7a" -ARMPKGARCH_tune-armv7a-neon-vfpv4 ?= "armv7a" -ARMPKGARCH_tune-armv7at-neon-vfpv4 ?= "armv7a" -TUNE_FEATURES_tune-armv7a = "arm armv7a vfp" -TUNE_FEATURES_tune-armv7at = "${TUNE_FEATURES_tune-armv7a} thumb" -TUNE_FEATURES_tune-armv7a-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a} vfpv3d16" -TUNE_FEATURES_tune-armv7at-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at} vfpv3d16" -TUNE_FEATURES_tune-armv7a-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} vfpv3" -TUNE_FEATURES_tune-armv7at-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} vfpv3" -TUNE_FEATURES_tune-armv7a-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a} vfpv4d16" -TUNE_FEATURES_tune-armv7at-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at} vfpv4d16" -TUNE_FEATURES_tune-armv7a-neon = "${TUNE_FEATURES_tune-armv7a} neon" -TUNE_FEATURES_tune-armv7at-neon = "${TUNE_FEATURES_tune-armv7at} neon" -TUNE_FEATURES_tune-armv7a-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon} vfpv4" -TUNE_FEATURES_tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon} vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7a = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16} armv7a-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-neon armv7at2-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} armv7a-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4" +ARMPKGARCH:tune-armv7a ?= "armv7a" +ARMPKGARCH:tune-armv7at ?= "armv7a" +ARMPKGARCH:tune-armv7a-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7at-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7a-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7at-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7a-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7at-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7a-neon ?= "armv7a" +ARMPKGARCH:tune-armv7at-neon ?= "armv7a" +ARMPKGARCH:tune-armv7a-neon-vfpv4 ?= "armv7a" +ARMPKGARCH:tune-armv7at-neon-vfpv4 ?= "armv7a" +TUNE_FEATURES:tune-armv7a = "arm armv7a vfp" +TUNE_FEATURES:tune-armv7at = "${TUNE_FEATURES:tune-armv7a} thumb" +TUNE_FEATURES:tune-armv7a-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a} vfpv3d16" +TUNE_FEATURES:tune-armv7at-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at} vfpv3d16" +TUNE_FEATURES:tune-armv7a-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} vfpv3" +TUNE_FEATURES:tune-armv7at-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} vfpv3" +TUNE_FEATURES:tune-armv7a-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a} vfpv4d16" +TUNE_FEATURES:tune-armv7at-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at} vfpv4d16" +TUNE_FEATURES:tune-armv7a-neon = "${TUNE_FEATURES:tune-armv7a} neon" +TUNE_FEATURES:tune-armv7at-neon = "${TUNE_FEATURES:tune-armv7at} neon" +TUNE_FEATURES:tune-armv7a-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon} vfpv4" +TUNE_FEATURES:tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon} vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7a = "${PACKAGE_EXTRA_ARCHS:tune-armv6} armv7a armv7a-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7at = "${PACKAGE_EXTRA_ARCHS:tune-armv6t} armv7a armv7a-vfp armv7at2-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16} armv7a-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-neon armv7at2-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} armv7a-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4" # HF Tunes AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-vfpv4d16 armv7athf-vfpv4d16 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4" -ARMPKGARCH_tune-armv7ahf ?= "armv7a" -ARMPKGARCH_tune-armv7athf ?= "armv7a" -ARMPKGARCH_tune-armv7ahf-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7athf-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7ahf-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7athf-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7ahf-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7athf-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7ahf-neon ?= "armv7a" -ARMPKGARCH_tune-armv7athf-neon ?= "armv7a" -ARMPKGARCH_tune-armv7ahf-neon-vfpv4 ?= "armv7a" -ARMPKGARCH_tune-armv7athf-neon-vfpv4 ?= "armv7a" -TUNE_FEATURES_tune-armv7ahf = "${TUNE_FEATURES_tune-armv7a} callconvention-hard" -TUNE_FEATURES_tune-armv7athf = "${TUNE_FEATURES_tune-armv7at} callconvention-hard" -TUNE_FEATURES_tune-armv7ahf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} callconvention-hard" -TUNE_FEATURES_tune-armv7athf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} callconvention-hard" -TUNE_FEATURES_tune-armv7ahf-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} callconvention-hard" -TUNE_FEATURES_tune-armv7athf-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} callconvention-hard" -TUNE_FEATURES_tune-armv7ahf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} callconvention-hard" -TUNE_FEATURES_tune-armv7athf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} callconvention-hard" -TUNE_FEATURES_tune-armv7ahf-neon = "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard" -TUNE_FEATURES_tune-armv7athf-neon = "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard" -TUNE_FEATURES_tune-armv7ahf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} callconvention-hard" -TUNE_FEATURES_tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-neon armv7at2hf-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4" +ARMPKGARCH:tune-armv7ahf ?= "armv7a" +ARMPKGARCH:tune-armv7athf ?= "armv7a" +ARMPKGARCH:tune-armv7ahf-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7athf-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7ahf-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7athf-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7ahf-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7athf-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7ahf-neon ?= "armv7a" +ARMPKGARCH:tune-armv7athf-neon ?= "armv7a" +ARMPKGARCH:tune-armv7ahf-neon-vfpv4 ?= "armv7a" +ARMPKGARCH:tune-armv7athf-neon-vfpv4 ?= "armv7a" +TUNE_FEATURES:tune-armv7ahf = "${TUNE_FEATURES:tune-armv7a} callconvention-hard" +TUNE_FEATURES:tune-armv7athf = "${TUNE_FEATURES:tune-armv7at} callconvention-hard" +TUNE_FEATURES:tune-armv7ahf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} callconvention-hard" +TUNE_FEATURES:tune-armv7athf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} callconvention-hard" +TUNE_FEATURES:tune-armv7ahf-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3} callconvention-hard" +TUNE_FEATURES:tune-armv7athf-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3} callconvention-hard" +TUNE_FEATURES:tune-armv7ahf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} callconvention-hard" +TUNE_FEATURES:tune-armv7athf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} callconvention-hard" +TUNE_FEATURES:tune-armv7ahf-neon = "${TUNE_FEATURES:tune-armv7a-neon} callconvention-hard" +TUNE_FEATURES:tune-armv7athf-neon = "${TUNE_FEATURES:tune-armv7at-neon} callconvention-hard" +TUNE_FEATURES:tune-armv7ahf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} callconvention-hard" +TUNE_FEATURES:tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} armv7ahf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7athf = "${PACKAGE_EXTRA_ARCHS:tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-neon armv7at2hf-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} armv7ahf-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4" # Big Endian AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-vfpv4d16 armv7atb-vfpv4d16 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4" -ARMPKGARCH_tune-armv7ab ?= "armv7a" -ARMPKGARCH_tune-armv7atb ?= "armv7a" -ARMPKGARCH_tune-armv7ab-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7atb-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7ab-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7atb-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7ab-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7atb-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7ab-neon ?= "armv7a" -ARMPKGARCH_tune-armv7atb-neon ?= "armv7a" -ARMPKGARCH_tune-armv7ab-neon-vfpv4 ?= "armv7a" -ARMPKGARCH_tune-armv7atb-neon-vfpv4 ?= "armv7a" -TUNE_FEATURES_tune-armv7ab = "${TUNE_FEATURES_tune-armv7a} bigendian" -TUNE_FEATURES_tune-armv7atb = "${TUNE_FEATURES_tune-armv7at} bigendian" -TUNE_FEATURES_tune-armv7ab-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7atb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7ab-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7atb-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7ab-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7atb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7ab-neon = "${TUNE_FEATURES_tune-armv7a-neon} bigendian" -TUNE_FEATURES_tune-armv7atb-neon = "${TUNE_FEATURES_tune-armv7at-neon} bigendian" -TUNE_FEATURES_tune-armv7ab-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} bigendian" -TUNE_FEATURES_tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfp43d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4" +ARMPKGARCH:tune-armv7ab ?= "armv7a" +ARMPKGARCH:tune-armv7atb ?= "armv7a" +ARMPKGARCH:tune-armv7ab-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7atb-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7ab-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7atb-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7ab-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7atb-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7ab-neon ?= "armv7a" +ARMPKGARCH:tune-armv7atb-neon ?= "armv7a" +ARMPKGARCH:tune-armv7ab-neon-vfpv4 ?= "armv7a" +ARMPKGARCH:tune-armv7atb-neon-vfpv4 ?= "armv7a" +TUNE_FEATURES:tune-armv7ab = "${TUNE_FEATURES:tune-armv7a} bigendian" +TUNE_FEATURES:tune-armv7atb = "${TUNE_FEATURES:tune-armv7at} bigendian" +TUNE_FEATURES:tune-armv7ab-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7atb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7ab-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7atb-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7ab-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7atb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7ab-neon = "${TUNE_FEATURES:tune-armv7a-neon} bigendian" +TUNE_FEATURES:tune-armv7atb-neon = "${TUNE_FEATURES:tune-armv7at-neon} bigendian" +TUNE_FEATURES:tune-armv7ab-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} bigendian" +TUNE_FEATURES:tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv7ab = "${PACKAGE_EXTRA_ARCHS:tune-armv6b} armv7ab-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7atb = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb} armv7ab-vfp armv7at2b-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16} armv7ab-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-neon armv7at2b-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon} armv7ab-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4" # Big Endian + HF AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-vfpv4d16 armv7athfb-vfpv4d16 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4" -ARMPKGARCH_tune-armv7ahfb ?= "armv7a" -ARMPKGARCH_tune-armv7athfb ?= "armv7a" -ARMPKGARCH_tune-armv7ahfb-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7athfb-vfpv3d16 ?= "armv7a" -ARMPKGARCH_tune-armv7ahfb-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7athfb-vfpv3 ?= "armv7a" -ARMPKGARCH_tune-armv7ahfb-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7athfb-vfpv4d16 ?= "armv7a" -ARMPKGARCH_tune-armv7ahfb-neon ?= "armv7a" -ARMPKGARCH_tune-armv7athfb-neon ?= "armv7a" -ARMPKGARCH_tune-armv7ahfb-neon-vfpv4 ?= "armv7a" -ARMPKGARCH_tune-armv7athfb-neon-vfpv4 ?= "armv7a" -TUNE_FEATURES_tune-armv7ahfb = "${TUNE_FEATURES_tune-armv7ahf} bigendian" -TUNE_FEATURES_tune-armv7athfb = "${TUNE_FEATURES_tune-armv7athf} bigendian" -TUNE_FEATURES_tune-armv7ahfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7athfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7athf-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7ahfb-vfpv3 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7athfb-vfpv3 = "${TUNE_FEATURES_tune-armv7athf-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7ahfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ahf-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7athfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7athf-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7ahfb-neon = "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian" -TUNE_FEATURES_tune-armv7athfb-neon = "${TUNE_FEATURES_tune-armv7athf-neon} bigendian" -TUNE_FEATURES_tune-armv7ahfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} bigendian" -TUNE_FEATURES_tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7athf-neon-vfpv4} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4" +ARMPKGARCH:tune-armv7ahfb ?= "armv7a" +ARMPKGARCH:tune-armv7athfb ?= "armv7a" +ARMPKGARCH:tune-armv7ahfb-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7athfb-vfpv3d16 ?= "armv7a" +ARMPKGARCH:tune-armv7ahfb-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7athfb-vfpv3 ?= "armv7a" +ARMPKGARCH:tune-armv7ahfb-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7athfb-vfpv4d16 ?= "armv7a" +ARMPKGARCH:tune-armv7ahfb-neon ?= "armv7a" +ARMPKGARCH:tune-armv7athfb-neon ?= "armv7a" +ARMPKGARCH:tune-armv7ahfb-neon-vfpv4 ?= "armv7a" +ARMPKGARCH:tune-armv7athfb-neon-vfpv4 ?= "armv7a" +TUNE_FEATURES:tune-armv7ahfb = "${TUNE_FEATURES:tune-armv7ahf} bigendian" +TUNE_FEATURES:tune-armv7athfb = "${TUNE_FEATURES:tune-armv7athf} bigendian" +TUNE_FEATURES:tune-armv7ahfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ahf-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7athfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7athf-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7ahfb-vfpv3 = "${TUNE_FEATURES:tune-armv7ahf-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7athfb-vfpv3 = "${TUNE_FEATURES:tune-armv7athf-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7ahfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ahf-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7athfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7athf-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7ahfb-neon = "${TUNE_FEATURES:tune-armv7ahf-neon} bigendian" +TUNE_FEATURES:tune-armv7athfb-neon = "${TUNE_FEATURES:tune-armv7athf-neon} bigendian" +TUNE_FEATURES:tune-armv7ahfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ahf-neon-vfpv4} bigendian" +TUNE_FEATURES:tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7athf-neon-vfpv4} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS:tune-armv6hfb} armv7ahfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS:tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4" diff --git a/meta/conf/machine/include/arm/arch-armv7em.inc b/meta/conf/machine/include/arm/arch-armv7em.inc new file mode 100644 index 0000000000..f7608ea2ee --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv7em.inc @@ -0,0 +1,17 @@ +# +# Defaults for ARMv7e-m +# +DEFAULTTUNE ?= "armv7em" + +TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m" +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" + +require conf/machine/include/arm/arch-armv7m.inc + +AVAILTUNES += "armv7em" +ARMPKGARCH:tune-armv7em = "armv7em" +TUNE_FEATURES:tune-armv7em = "armv7em" +PACKAGE_EXTRA_ARCHS:tune-armv7em = "armv7em" diff --git a/meta/conf/machine/include/arm/arch-armv7m.inc b/meta/conf/machine/include/arm/arch-armv7m.inc new file mode 100644 index 0000000000..2b69a3dfd1 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv7m.inc @@ -0,0 +1,17 @@ +# +# Defaults for ARMv7-m +# +DEFAULTTUNE ?= "armv7m" + +TUNEVALID[armv7m] = "Enable instructions for ARMv7-m" +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" + +require conf/machine/include/arm/arch-armv6m.inc + +AVAILTUNES += "armv7m" +ARMPKGARCH:tune-armv7m = "armv7m" +TUNE_FEATURES:tune-armv7m = "armv7m" +PACKAGE_EXTRA_ARCHS:tune-armv7m = "armv7m" diff --git a/meta/conf/machine/include/arm/arch-armv7r.inc b/meta/conf/machine/include/arm/arch-armv7r.inc new file mode 100644 index 0000000000..fac26cf4ad --- /dev/null +++ b/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/meta/conf/machine/include/arm/arch-armv7ve.inc b/meta/conf/machine/include/arm/arch-armv7ve.inc index fc172d0cb0..8102ae6085 100644 --- a/meta/conf/machine/include/arm/arch-armv7ve.inc +++ b/meta/conf/machine/include/arm/arch-armv7ve.inc @@ -2,163 +2,163 @@ 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)}" -MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', '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 # Little Endian base configs AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-vfpv4d16 armv7vet-vfpv4d16 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4" -ARMPKGARCH_tune-armv7ve ?= "armv7ve" -ARMPKGARCH_tune-armv7vet ?= "armv7ve" -ARMPKGARCH_tune-armv7ve-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vet-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7ve-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7vet-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7ve-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vet-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7ve-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7vet-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7ve-neon-vfpv4 ?= "armv7ve" -ARMPKGARCH_tune-armv7vet-neon-vfpv4 ?= "armv7ve" -TUNE_FEATURES_tune-armv7ve = "arm armv7ve vfp" -TUNE_FEATURES_tune-armv7vet = "${TUNE_FEATURES_tune-armv7ve} thumb" -TUNE_FEATURES_tune-armv7ve-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve} vfpv3d16" -TUNE_FEATURES_tune-armv7vet-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet} vfpv3d16" -TUNE_FEATURES_tune-armv7ve-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} vfpv3" -TUNE_FEATURES_tune-armv7vet-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} vfpv3" -TUNE_FEATURES_tune-armv7ve-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve} vfpv4d16" -TUNE_FEATURES_tune-armv7vet-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet} vfpv4d16" -TUNE_FEATURES_tune-armv7ve-neon = "${TUNE_FEATURES_tune-armv7ve} neon" -TUNE_FEATURES_tune-armv7vet-neon = "${TUNE_FEATURES_tune-armv7vet} neon" -TUNE_FEATURES_tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4" -TUNE_FEATURES_tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon} vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7ve = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ve armv7ve-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vet = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-neon armv7vet2-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} armv7ve-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4" +ARMPKGARCH:tune-armv7ve ?= "armv7ve" +ARMPKGARCH:tune-armv7vet ?= "armv7ve" +ARMPKGARCH:tune-armv7ve-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vet-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7ve-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7vet-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7ve-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vet-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7ve-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7vet-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7ve-neon-vfpv4 ?= "armv7ve" +ARMPKGARCH:tune-armv7vet-neon-vfpv4 ?= "armv7ve" +TUNE_FEATURES:tune-armv7ve = "arm armv7ve vfp" +TUNE_FEATURES:tune-armv7vet = "${TUNE_FEATURES:tune-armv7ve} thumb" +TUNE_FEATURES:tune-armv7ve-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve} vfpv3d16" +TUNE_FEATURES:tune-armv7vet-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet} vfpv3d16" +TUNE_FEATURES:tune-armv7ve-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} vfpv3" +TUNE_FEATURES:tune-armv7vet-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} vfpv3" +TUNE_FEATURES:tune-armv7ve-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve} vfpv4d16" +TUNE_FEATURES:tune-armv7vet-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet} vfpv4d16" +TUNE_FEATURES:tune-armv7ve-neon = "${TUNE_FEATURES:tune-armv7ve} neon" +TUNE_FEATURES:tune-armv7vet-neon = "${TUNE_FEATURES:tune-armv7vet} neon" +TUNE_FEATURES:tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon} vfpv4" +TUNE_FEATURES:tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon} vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7ve = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7ve armv7ve-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7vet = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16} armv7ve-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-neon armv7vet2-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} armv7ve-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4" # HF Tunes AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-vfpv4d16 armv7vethf-vfpv4d16 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4" -ARMPKGARCH_tune-armv7vehf ?= "armv7ve" -ARMPKGARCH_tune-armv7vethf ?= "armv7ve" -ARMPKGARCH_tune-armv7vehf-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethf-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vehf-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethf-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7vehf-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethf-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vehf-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7vethf-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7vehf-neon-vfpv4 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethf-neon-vfpv4 ?= "armv7ve" -TUNE_FEATURES_tune-armv7vehf = "${TUNE_FEATURES_tune-armv7ve} callconvention-hard" -TUNE_FEATURES_tune-armv7vethf = "${TUNE_FEATURES_tune-armv7vet} callconvention-hard" -TUNE_FEATURES_tune-armv7vehf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} callconvention-hard" -TUNE_FEATURES_tune-armv7vethf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} callconvention-hard" -TUNE_FEATURES_tune-armv7vehf-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3} callconvention-hard" -TUNE_FEATURES_tune-armv7vethf-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3} callconvention-hard" -TUNE_FEATURES_tune-armv7vehf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} callconvention-hard" -TUNE_FEATURES_tune-armv7vethf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} callconvention-hard" -TUNE_FEATURES_tune-armv7vehf-neon = "${TUNE_FEATURES_tune-armv7ve-neon} callconvention-hard" -TUNE_FEATURES_tune-armv7vethf-neon = "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard" -TUNE_FEATURES_tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard" -TUNE_FEATURES_tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7vehf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} armv7vehf-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4" +ARMPKGARCH:tune-armv7vehf ?= "armv7ve" +ARMPKGARCH:tune-armv7vethf ?= "armv7ve" +ARMPKGARCH:tune-armv7vehf-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethf-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vehf-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethf-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7vehf-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethf-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vehf-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7vethf-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7vehf-neon-vfpv4 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethf-neon-vfpv4 ?= "armv7ve" +TUNE_FEATURES:tune-armv7vehf = "${TUNE_FEATURES:tune-armv7ve} callconvention-hard" +TUNE_FEATURES:tune-armv7vethf = "${TUNE_FEATURES:tune-armv7vet} callconvention-hard" +TUNE_FEATURES:tune-armv7vehf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} callconvention-hard" +TUNE_FEATURES:tune-armv7vethf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} callconvention-hard" +TUNE_FEATURES:tune-armv7vehf-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3} callconvention-hard" +TUNE_FEATURES:tune-armv7vethf-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3} callconvention-hard" +TUNE_FEATURES:tune-armv7vehf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} callconvention-hard" +TUNE_FEATURES:tune-armv7vethf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} callconvention-hard" +TUNE_FEATURES:tune-armv7vehf-neon = "${TUNE_FEATURES:tune-armv7ve-neon} callconvention-hard" +TUNE_FEATURES:tune-armv7vethf-neon = "${TUNE_FEATURES:tune-armv7vet-neon} callconvention-hard" +TUNE_FEATURES:tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} callconvention-hard" +TUNE_FEATURES:tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7vehf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} armv7vehf-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4" # Big Endian AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-vfpv4d16 armv7vetb-vfpv4d16 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4" -ARMPKGARCH_tune-armv7veb ?= "armv7ve" -ARMPKGARCH_tune-armv7vetb ?= "armv7ve" -ARMPKGARCH_tune-armv7veb-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vetb-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7veb-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7vetb-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7veb-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vetb-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7veb-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7vetb-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7veb-neon-vfpv4 ?= "armv7ve" -ARMPKGARCH_tune-armv7vetb-neon-vfpv4 ?= "armv7ve" -TUNE_FEATURES_tune-armv7veb = "${TUNE_FEATURES_tune-armv7ve} bigendian" -TUNE_FEATURES_tune-armv7vetb = "${TUNE_FEATURES_tune-armv7vet} bigendian" -TUNE_FEATURES_tune-armv7veb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7vetb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7veb-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7vetb-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7veb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7vetb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7veb-neon = "${TUNE_FEATURES_tune-armv7ve-neon} bigendian" -TUNE_FEATURES_tune-armv7vetb-neon = "${TUNE_FEATURES_tune-armv7vet-neon} bigendian" -TUNE_FEATURES_tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian" -TUNE_FEATURES_tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7veb = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7veb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7veb-vfp armv7vet2b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-neon armv7vet2b-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon} armv7veb-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4" +ARMPKGARCH:tune-armv7veb ?= "armv7ve" +ARMPKGARCH:tune-armv7vetb ?= "armv7ve" +ARMPKGARCH:tune-armv7veb-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vetb-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7veb-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7vetb-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7veb-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vetb-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7veb-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7vetb-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7veb-neon-vfpv4 ?= "armv7ve" +ARMPKGARCH:tune-armv7vetb-neon-vfpv4 ?= "armv7ve" +TUNE_FEATURES:tune-armv7veb = "${TUNE_FEATURES:tune-armv7ve} bigendian" +TUNE_FEATURES:tune-armv7vetb = "${TUNE_FEATURES:tune-armv7vet} bigendian" +TUNE_FEATURES:tune-armv7veb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7vetb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7veb-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7vetb-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7veb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7vetb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7veb-neon = "${TUNE_FEATURES:tune-armv7ve-neon} bigendian" +TUNE_FEATURES:tune-armv7vetb-neon = "${TUNE_FEATURES:tune-armv7vet-neon} bigendian" +TUNE_FEATURES:tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} bigendian" +TUNE_FEATURES:tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv7veb = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7veb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7veb-vfp armv7vet2b-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16} armv7veb-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-neon armv7vet2b-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon} armv7veb-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4" # Big Endian + HF AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-vfpv4d16 armv7vethfb-vfpv4d16 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4" -ARMPKGARCH_tune-armv7vehfb ?= "armv7ve" -ARMPKGARCH_tune-armv7vethfb ?= "armv7ve" -ARMPKGARCH_tune-armv7vehfb-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethfb-vfpv3d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vehfb-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethfb-vfpv3 ?= "armv7ve" -ARMPKGARCH_tune-armv7vehfb-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethfb-vfpv4d16 ?= "armv7ve" -ARMPKGARCH_tune-armv7vehfb-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7vethfb-neon ?= "armv7ve" -ARMPKGARCH_tune-armv7vehfb-neon-vfpv4 ?= "armv7ve" -ARMPKGARCH_tune-armv7vethfb-neon-vfpv4 ?= "armv7ve" -TUNE_FEATURES_tune-armv7vehfb = "${TUNE_FEATURES_tune-armv7vehf} bigendian" -TUNE_FEATURES_tune-armv7vethfb = "${TUNE_FEATURES_tune-armv7vethf} bigendian" -TUNE_FEATURES_tune-armv7vehfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vehf-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7vethfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vethf-vfpv3d16} bigendian" -TUNE_FEATURES_tune-armv7vehfb-vfpv3 = "${TUNE_FEATURES_tune-armv7vehf-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7vethfb-vfpv3 = "${TUNE_FEATURES_tune-armv7vethf-vfpv3} bigendian" -TUNE_FEATURES_tune-armv7vehfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vehf-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7vethfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vethf-vfpv4d16} bigendian" -TUNE_FEATURES_tune-armv7vehfb-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} bigendian" -TUNE_FEATURES_tune-armv7vethfb-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian" -TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian" -TUNE_FEATURES_tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7vehfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4" +ARMPKGARCH:tune-armv7vehfb ?= "armv7ve" +ARMPKGARCH:tune-armv7vethfb ?= "armv7ve" +ARMPKGARCH:tune-armv7vehfb-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethfb-vfpv3d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vehfb-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethfb-vfpv3 ?= "armv7ve" +ARMPKGARCH:tune-armv7vehfb-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethfb-vfpv4d16 ?= "armv7ve" +ARMPKGARCH:tune-armv7vehfb-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7vethfb-neon ?= "armv7ve" +ARMPKGARCH:tune-armv7vehfb-neon-vfpv4 ?= "armv7ve" +ARMPKGARCH:tune-armv7vethfb-neon-vfpv4 ?= "armv7ve" +TUNE_FEATURES:tune-armv7vehfb = "${TUNE_FEATURES:tune-armv7vehf} bigendian" +TUNE_FEATURES:tune-armv7vethfb = "${TUNE_FEATURES:tune-armv7vethf} bigendian" +TUNE_FEATURES:tune-armv7vehfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vehf-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7vethfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vethf-vfpv3d16} bigendian" +TUNE_FEATURES:tune-armv7vehfb-vfpv3 = "${TUNE_FEATURES:tune-armv7vehf-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7vethfb-vfpv3 = "${TUNE_FEATURES:tune-armv7vethf-vfpv3} bigendian" +TUNE_FEATURES:tune-armv7vehfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vehf-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7vethfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vethf-vfpv4d16} bigendian" +TUNE_FEATURES:tune-armv7vehfb-neon = "${TUNE_FEATURES:tune-armv7vehf-neon} bigendian" +TUNE_FEATURES:tune-armv7vethfb-neon = "${TUNE_FEATURES:tune-armv7vethf-neon} bigendian" +TUNE_FEATURES:tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vehf-neon-vfpv4} bigendian" +TUNE_FEATURES:tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vethf-neon-vfpv4} bigendian" +PACKAGE_EXTRA_ARCHS:tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7vehfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp" +PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3" +PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16" +PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon" +PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4" +PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4" diff --git a/meta/conf/machine/include/arm/arch-armv8-1a.inc b/meta/conf/machine/include/arm/arch-armv8-1a.inc new file mode 100644 index 0000000000..be8e814a39 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-1a.inc @@ -0,0 +1,18 @@ +DEFAULTTUNE ?= "armv8-1a" + +TUNEVALID[armv8-1a] = "Enable instructions for ARMv8.1-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1a', ' -march=armv8.1-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1a', 'armv8-1a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +AVAILTUNES += "armv8-1a armv8-1a-crypto" +ARMPKGARCH:tune-armv8-1a ?= "armv8-1a" +ARMPKGARCH:tune-armv8-1a-crypto ?= "armv8-1a" +TUNE_FEATURES:tune-armv8-1a = "aarch64 armv8-1a" +TUNE_FEATURES:tune-armv8-1a-crypto = "${TUNE_FEATURES:tune-armv8-1a} crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-1a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-1a" +PACKAGE_EXTRA_ARCHS:tune-armv8-1a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1a} armv8-1a-crypto" +BASE_LIB:tune-armv8-1a = "lib64" +BASE_LIB:tune-armv8-1a-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/meta/conf/machine/include/arm/arch-armv8-1m-main.inc new file mode 100644 index 0000000000..5b1bcb8f46 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-1m-main.inc @@ -0,0 +1,18 @@ +# +# +# Defaults for ARMv8.1-M.main +# +DEFAULTTUNE ?= "armv8-1m-main" + +TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main" +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" + +require conf/machine/include/arm/arch-armv8m-main.inc + +AVAILTUNES += "armv8-1m-main" +ARMPKGARCH:tune-armv8-1m-main = "armv8-1m-main" +TUNE_FEATURES:tune-armv8-1m-main = "armv8-1m-main" +PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main = "armv8-1m-main" diff --git a/meta/conf/machine/include/arm/arch-armv8-2a.inc b/meta/conf/machine/include/arm/arch-armv8-2a.inc new file mode 100644 index 0000000000..2b5fae1406 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-2a.inc @@ -0,0 +1,20 @@ +DEFAULTTUNE ?= "armv8-2a" + +TUNEVALID[armv8-2a] = "Enable instructions for ARMv8.2-a" +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)}" + +require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/arm/feature-arm-sve.inc + +# Little Endian base configs +AVAILTUNES += "armv8-2a armv8-2a-crypto" +ARMPKGARCH:tune-armv8-2a ?= "armv8-2a" +ARMPKGARCH:tune-armv8-2a-crypto ?= "armv8-2a" +TUNE_FEATURES:tune-armv8-2a = "aarch64 armv8-2a" +TUNE_FEATURES:tune-armv8-2a-crypto = "${TUNE_FEATURES:tune-armv8-2a} crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-2a" +PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} armv8-2a-crypto" +BASE_LIB:tune-armv8-2a = "lib64" +BASE_LIB:tune-armv8-2a-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-3a.inc b/meta/conf/machine/include/arm/arch-armv8-3a.inc new file mode 100644 index 0000000000..49493fb3b5 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-3a.inc @@ -0,0 +1,22 @@ +DEFAULTTUNE ?= "armv8-3a" + +TUNEVALID[armv8-3a] = "Enable instructions for ARMv8.3-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-3a', ' -march=armv8.3-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-3a', 'armv8-3a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +AVAILTUNES += "armv8-3a armv8-3a-crypto armv8-3a-crypto-sve" +ARMPKGARCH:tune-armv8-3a ?= "armv8-3a" +ARMPKGARCH:tune-armv8-3a-crypto ?= "armv8-3a" +ARMPKGARCH:tune-armv8-3a-crypto-sve ?= "armv8-3a" +TUNE_FEATURES:tune-armv8-3a = "aarch64 armv8-3a" +TUNE_FEATURES:tune-armv8-3a-crypto = "${TUNE_FEATURES:tune-armv8-3a} crypto" +TUNE_FEATURES:tune-armv8-3a-crypto-sve = "${TUNE_FEATURES:tune-armv8-3a-crypto} sve" +PACKAGE_EXTRA_ARCHS:tune-armv8-3a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-3a" +PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-3a} armv8-3a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto} armv8-3a-crypto-sve" +BASE_LIB:tune-armv8-3a = "lib64" +BASE_LIB:tune-armv8-3a-crypto = "lib64" +BASE_LIB:tune-armv8-3a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-4a.inc b/meta/conf/machine/include/arm/arch-armv8-4a.inc new file mode 100644 index 0000000000..b61d50daa5 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-4a.inc @@ -0,0 +1,24 @@ +DEFAULTTUNE ?= "armv8-4a" + +TUNEVALID[armv8-4a] = "Enable instructions for ARMv8.4-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march=armv8.4-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/arm/feature-arm-sve.inc + +# Little Endian base configs +AVAILTUNES += "armv8-4a armv8-4a-crypto armv8-4a-crypto-sve" +ARMPKGARCH:tune-armv8-4a ?= "armv8-4a" +ARMPKGARCH:tune-armv8-4a-crypto ?= "armv8-4a" +ARMPKGARCH:tune-armv8-4a-crypto-sve ?= "armv8-4a" +TUNE_FEATURES:tune-armv8-4a = "aarch64 armv8-4a" +TUNE_FEATURES:tune-armv8-4a-crypto = "${TUNE_FEATURES:tune-armv8-4a} crypto" +TUNE_FEATURES:tune-armv8-4a-crypto-sve = "${TUNE_FEATURES:tune-armv8-4a-crypto} sve" +PACKAGE_EXTRA_ARCHS:tune-armv8-4a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-4a" +PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a} armv8-4a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} armv8-4a-crypto-sve" +BASE_LIB:tune-armv8-4a = "lib64" +BASE_LIB:tune-armv8-4a-crypto = "lib64" +BASE_LIB:tune-armv8-4a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-5a.inc b/meta/conf/machine/include/arm/arch-armv8-5a.inc new file mode 100644 index 0000000000..176bc9033c --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-5a.inc @@ -0,0 +1,24 @@ +DEFAULTTUNE ?= "armv8-5a" + +TUNEVALID[armv8-5a] = "Enable instructions for ARMv8.5-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', ' -march=armv8.5-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', 'armv8-5a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/arm/feature-arm-sve.inc + +# Little Endian base configs +AVAILTUNES += "armv8-5a armv8-5a-crypto armv8-5a-crypto-sve" +ARMPKGARCH:tune-armv8-5a ?= "armv8-5a" +ARMPKGARCH:tune-armv8-5a-crypto ?= "armv8-5a" +ARMPKGARCH:tune-armv8-5a-crypto-sve ?= "armv8-5a" +TUNE_FEATURES:tune-armv8-5a = "aarch64 armv8-5a" +TUNE_FEATURES:tune-armv8-5a-crypto = "${TUNE_FEATURES:tune-armv8-5a} crypto" +TUNE_FEATURES:tune-armv8-5a-crypto-sve = "${TUNE_FEATURES:tune-armv8-5a-crypto} sve" +PACKAGE_EXTRA_ARCHS:tune-armv8-5a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-5a" +PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} armv8-5a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} armv8-5a-crypto-sve" +BASE_LIB:tune-armv8-5a = "lib64" +BASE_LIB:tune-armv8-5a-crypto = "lib64" +BASE_LIB:tune-armv8-5a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-6a.inc b/meta/conf/machine/include/arm/arch-armv8-6a.inc new file mode 100644 index 0000000000..27f85325ca --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-6a.inc @@ -0,0 +1,22 @@ +DEFAULTTUNE ?= "armv8-6a" + +TUNEVALID[armv8-6a] = "Enable instructions for ARMv8.6-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-6a', ' -march=armv8.6-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-6a', 'armv8-6a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +AVAILTUNES += "armv8-6a armv8-6a-crypto armv8-6a-crypto-sve" +ARMPKGARCH:tune-armv8-6a ?= "armv8-6a" +ARMPKGARCH:tune-armv8-6a-crypto ?= "armv8-6a" +ARMPKGARCH:tune-armv8-6a-crypto-sve ?= "armv8-6a" +TUNE_FEATURES:tune-armv8-6a = "aarch64 armv8-6a" +TUNE_FEATURES:tune-armv8-6a-crypto = "${TUNE_FEATURES:tune-armv8-6a} crypto" +TUNE_FEATURES:tune-armv8-6a-crypto-sve = "${TUNE_FEATURES:tune-armv8-6a-crypto} sve" +PACKAGE_EXTRA_ARCHS:tune-armv8-6a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-6a" +PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-6a} armv8-6a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto} armv8-6a-crypto-sve" +BASE_LIB:tune-armv8-6a = "lib64" +BASE_LIB:tune-armv8-6a-crypto = "lib64" +BASE_LIB:tune-armv8-6a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc index 323d0d7f0f..97c944dfa5 100644 --- a/meta/conf/machine/include/arm/arch-armv8a.inc +++ b/meta/conf/machine/include/arm/arch-armv8a.inc @@ -1,28 +1,28 @@ DEFAULTTUNE ?= "armv8a-crc" TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" -TUNEVALID[simd] = "Enable instructions for ARMv8-a Advanced SIMD and floating-point" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', 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)}" -MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '' ,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" -ARMPKGARCH_tune-armv8a ?= "armv8a" -ARMPKGARCH_tune-armv8a-crc ?= "armv8a" -ARMPKGARCH_tune-armv8a-crypto ?= "armv8a" -ARMPKGARCH_tune-armv8a-crc-crypto ?= "armv8a" -TUNE_FEATURES_tune-armv8a = "aarch64 armv8a simd" -TUNE_FEATURES_tune-armv8a-crc = "${TUNE_FEATURES_tune-armv8a} crc" -TUNE_FEATURES_tune-armv8a-crypto = "${TUNE_FEATURES_tune-armv8a} crypto" -TUNE_FEATURES_tune-armv8a-crc-crypto = "${TUNE_FEATURES_tune-armv8a-crc} crypto" -PACKAGE_EXTRA_ARCHS_tune-armv8a = "aarch64 armv8a simd" -PACKAGE_EXTRA_ARCHS_tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} crc" -PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} crypto" -PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} crypto" +ARMPKGARCH:tune-armv8a ?= "armv8a" +ARMPKGARCH:tune-armv8a-crc ?= "armv8a" +ARMPKGARCH:tune-armv8a-crypto ?= "armv8a" +ARMPKGARCH:tune-armv8a-crc-crypto ?= "armv8a" +TUNE_FEATURES:tune-armv8a = "aarch64 armv8a" +TUNE_FEATURES:tune-armv8a-crc = "${TUNE_FEATURES:tune-armv8a} crc" +TUNE_FEATURES:tune-armv8a-crypto = "${TUNE_FEATURES:tune-armv8a} crypto" +TUNE_FEATURES:tune-armv8a-crc-crypto = "${TUNE_FEATURES:tune-armv8a-crc} crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8a = "aarch64 armv8a" +PACKAGE_EXTRA_ARCHS:tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crc" +PACKAGE_EXTRA_ARCHS:tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto" +BASE_LIB:tune-armv8a = "lib64" +BASE_LIB:tune-armv8a-crc = "lib64" +BASE_LIB:tune-armv8a-crypto = "lib64" +BASE_LIB:tune-armv8a-crc-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8m-base.inc b/meta/conf/machine/include/arm/arch-armv8m-base.inc new file mode 100644 index 0000000000..ffee8cea80 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8m-base.inc @@ -0,0 +1,17 @@ +# +# Defaults for ARMv8-m.base +# +DEFAULTTUNE ?= "armv8m-base" + +TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base" +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" + +require conf/machine/include/arm/arch-armv7m.inc + +AVAILTUNES += "armv8m-base" +ARMPKGARCH:tune-armv8m-base = "armv8m-base" +TUNE_FEATURES:tune-armv8m-base = "armv8m-base" +PACKAGE_EXTRA_ARCHS:tune-armv8m-base = "armv8m-base" diff --git a/meta/conf/machine/include/arm/arch-armv8m-main.inc b/meta/conf/machine/include/arm/arch-armv8m-main.inc new file mode 100644 index 0000000000..01bef35428 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8m-main.inc @@ -0,0 +1,28 @@ +# +# Defaults for ARMv8-m.main +# +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_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" + +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" +ARMPKGARCH:tune-armv8m-maine-vfpv5spd16 = "armv8m-main" +TUNE_FEATURES:tune-armv8m-main = "armv8m-main" +TUNE_FEATURES:tune-armv8m-maine = "${TUNE_FEATURES:tune-armv8m-main} dsp" +TUNE_FEATURES:tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main} vfpv5spd16" +TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main-vfpv5spd16} dsp" +PACKAGE_EXTRA_ARCHS:tune-armv8m-main = "armv8m-main" +PACKAGE_EXTRA_ARCHS:tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine" +PACKAGE_EXTRA_ARCHS:tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-main-fpv5-spd16" +PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine-fpv5-spd16" diff --git a/meta/conf/machine/include/arm/arch-armv8r.inc b/meta/conf/machine/include/arm/arch-armv8r.inc new file mode 100644 index 0000000000..2fea8d2517 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8r.inc @@ -0,0 +1,38 @@ +# +# 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 +require conf/machine/include/arm/feature-arm-sve.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/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc new file mode 100644 index 0000000000..e8d7c08a63 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv9a.inc @@ -0,0 +1,19 @@ +DEFAULTTUNE ?= "armv9a" + +TUNEVALID[armv9a] = "Enable instructions for ARMv9-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}" + +require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/arm/feature-arm-crypto.inc + +# Little Endian base configs +AVAILTUNES += "armv9a armv9a-crypto" +ARMPKGARCH:tune-armv9a ?= "armv9a" +ARMPKGARCH:tune-armv9a-crypto ?= "armv9a" +TUNE_FEATURES:tune-armv9a = "aarch64 armv9a" +TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto" +PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a" +PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto" +BASE_LIB:tune-armv9a = "lib64" +BASE_LIB:tune-armv9a-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv4/tune-arm920t.inc b/meta/conf/machine/include/arm/armv4/tune-arm920t.inc new file mode 100644 index 0000000000..1b1cbdb5a7 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc b/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc new file mode 100644 index 0000000000..78b890b43c --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv4/tune-ep9312.inc b/meta/conf/machine/include/arm/armv4/tune-ep9312.inc new file mode 100644 index 0000000000..0d481d3888 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc b/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc new file mode 100644 index 0000000000..38ea9b7dd5 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc b/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc new file mode 100644 index 0000000000..84c5084868 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc b/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc new file mode 100644 index 0000000000..c584b47d18 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv5/tune-xscale.inc b/meta/conf/machine/include/arm/armv5/tune-xscale.inc new file mode 100644 index 0000000000..cc67dcd304 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc b/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc new file mode 100644 index 0000000000..b848580948 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc b/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc new file mode 100644 index 0000000000..21d77f081e --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc b/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc new file mode 100644 index 0000000000..aadc5326ce --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc b/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc new file mode 100644 index 0000000000..a3cf3f0bd2 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc b/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc new file mode 100644 index 0000000000..16661f3a26 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc new file mode 100644 index 0000000000..e827afb2a0 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc new file mode 100644 index 0000000000..3ad00b16d8 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc new file mode 100644 index 0000000000..0de5aadaaa --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc new file mode 100644 index 0000000000..1ada527d8b --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc new file mode 100644 index 0000000000..952302afa2 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc new file mode 100644 index 0000000000..4b4a52884d --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc b/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc new file mode 100644 index 0000000000..a6cb566387 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc b/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc new file mode 100644 index 0000000000..e86622ff3d --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc b/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc new file mode 100644 index 0000000000..6434ec6398 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc new file mode 100644 index 0000000000..0eed729630 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc new file mode 100644 index 0000000000..0712b3ab1b --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc new file mode 100644 index 0000000000..4c8985292b --- /dev/null +++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc @@ -0,0 +1,19 @@ +# +# 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" + +AVAILTUNES += "cortexr5hf" +ARMPKGARCH:tune-cortexr5hf = "cortexr5" +TUNE_FEATURES:tune-cortexr5hf = "${TUNE_FEATURES:tune-cortexr5} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexr5hf = "cortexr5hf-vfpv3d16" diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc new file mode 100644 index 0000000000..bfae1f0075 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc new file mode 100644 index 0000000000..7fb824f6e9 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc new file mode 100644 index 0000000000..0a115be8a4 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for Cortex-M55 +# +DEFAULTTUNE ?= "cortexm55" + +TUNEVALID[cortexm55] = "Enable Cortex-M55 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm55', ' -mcpu=cortex-m55', '', d)}" + +require conf/machine/include/arm/arch-armv8-1m-main.inc + +AVAILTUNES += "cortexm55" +ARMPKGARCH:tune-cortexm55 = "cortexm55" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm55 = "cortexm55" +PACKAGE_EXTRA_ARCHS:tune-cortexm55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main} cortexm55" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc new file mode 100644 index 0000000000..5e63b45ae0 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc @@ -0,0 +1,14 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa55 = "aarch64 crypto cortexa55" +PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55" +BASE_LIB:tune-cortexa55 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc new file mode 100644 index 0000000000..ba96d0452e --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A65 +# +DEFAULTTUNE ?= "cortexa65" + +TUNEVALID[cortexa65] = "Enable Cortex-A65 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa65', ' -mcpu=cortex-a65', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa65" +ARMPKGARCH:tune-cortexa65 = "cortexa65" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa65 = "aarch64 crypto cortexa65" +PACKAGE_EXTRA_ARCHS:tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65" +BASE_LIB:tune-cortexa65 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc new file mode 100644 index 0000000000..cc92147441 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A65AE +# +DEFAULTTUNE ?= "cortexa65ae" + +TUNEVALID[cortexa65ae] = "Enable Cortex-A65AE specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa65ae', ' -mcpu=cortex-a65ae', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa65ae" +ARMPKGARCH:tune-cortexa65ae = "cortexa65ae" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa65ae = "aarch64 crypto cortexa65ae" +PACKAGE_EXTRA_ARCHS:tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae" +BASE_LIB:tune-cortexa65ae = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc new file mode 100644 index 0000000000..e18b2cb6e0 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc @@ -0,0 +1,21 @@ +# +# Tune Settings for big.LITTLE Cortex-A75 - Cortex-A55 +# +DEFAULTTUNE ?= "cortexa75-cortexa55" + +TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=cortex-a75.cortex-a55", "", d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" +ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55" +ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa75-cortexa55 = "aarch64 cortexa75-cortexa55" +TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55" +PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" +BASE_LIB:tune-cortexa75-cortexa55 = "lib64" +BASE_LIB:tune-cortexa75-cortexa55-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc new file mode 100644 index 0000000000..453be2e6fd --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A75 +# +DEFAULTTUNE ?= "cortexa75" + +TUNEVALID[cortexa75] = "Enable Cortex-A75 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa75', ' -mcpu=cortex-a75', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa75" +ARMPKGARCH:tune-cortexa75 = "cortexa75" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa75 = "aarch64 crypto cortexa75" +PACKAGE_EXTRA_ARCHS:tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75" +BASE_LIB:tune-cortexa75 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc new file mode 100644 index 0000000000..7daf9d91a8 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc @@ -0,0 +1,21 @@ +# +# Tune Settings for big.LITTLE Cortex-A76 - Cortex-A55 +# +DEFAULTTUNE ?= "cortexa76-cortexa55" + +TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=cortex-a76.cortex-a55", "", d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto" +ARMPKGARCH:tune-cortexa76-cortexa55 = "cortexa76-cortexa55" +ARMPKGARCH:tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa76-cortexa55 = "aarch64 cortexa76-cortexa55" +TUNE_FEATURES:tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55" +PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto" +BASE_LIB:tune-cortexa76-cortexa55 = "lib64" +BASE_LIB:tune-cortexa76-cortexa55-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc new file mode 100644 index 0000000000..14ed81214d --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A76 +# +DEFAULTTUNE ?= "cortexa76" + +TUNEVALID[cortexa76] = "Enable Cortex-A76 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa76', ' -mcpu=cortex-a76', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa76" +ARMPKGARCH:tune-cortexa76 = "cortexa76" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa76 = "aarch64 crypto cortexa76" +PACKAGE_EXTRA_ARCHS:tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76" +BASE_LIB:tune-cortexa76 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc new file mode 100644 index 0000000000..191863bac8 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A76AE +# +DEFAULTTUNE ?= "cortexa76ae" + +TUNEVALID[cortexa76ae] = "Enable Cortex-A76AE specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa76ae', ' -mcpu=cortex-a76ae', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa76ae" +ARMPKGARCH:tune-cortexa76ae = "cortexa76ae" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa76ae = "aarch64 crypto cortexa76ae" +PACKAGE_EXTRA_ARCHS:tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae" +BASE_LIB:tune-cortexa76ae = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc new file mode 100644 index 0000000000..1522fd6abd --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A77 +# +DEFAULTTUNE ?= "cortexa77" + +TUNEVALID[cortexa77] = "Enable Cortex-A77 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa77', ' -mcpu=cortex-a77', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa77" +ARMPKGARCH:tune-cortexa77 = "cortexa77" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa77 = "aarch64 crypto cortexa77" +PACKAGE_EXTRA_ARCHS:tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77" +BASE_LIB:tune-cortexa77 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc new file mode 100644 index 0000000000..198b94c679 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A78 +# +DEFAULTTUNE ?= "cortexa78" + +TUNEVALID[cortexa78] = "Enable Cortex-A78 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78', ' -mcpu=cortex-a78', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa78" +ARMPKGARCH:tune-cortexa78 = "cortexa78" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa78 = "aarch64 crypto cortexa78" +PACKAGE_EXTRA_ARCHS:tune-cortexa78 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78" +BASE_LIB:tune-cortexa78 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc new file mode 100644 index 0000000000..fe68bda9a0 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a78ae +# +DEFAULTTUNE ?= "cortexa78ae" + +TUNEVALID[cortexa78ae] = "Enable cortex-a78ae specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78ae', ' -mcpu=cortex-a78ae', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexa78ae" +ARMPKGARCH:tune-cortexa78ae = "cortexa78ae" +TUNE_FEATURES:tune-cortexa78ae = "aarch64 crypto cortexa78ae" +PACKAGE_EXTRA_ARCHS:tune-cortexa78ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78ae" +BASE_LIB:tune-cortexa78ae = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc new file mode 100644 index 0000000000..cb1fe91dfc --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a78c +# +DEFAULTTUNE ?= "cortexa78c" + +TUNEVALID[cortexa78c] = "Enable cortex-a78c specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78c', ' -mcpu=cortex-a78c', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexa78c" +ARMPKGARCH:tune-cortexa78c = "cortexa78c" +TUNE_FEATURES:tune-cortexa78c = "aarch64 crypto cortexa78c" +PACKAGE_EXTRA_ARCHS:tune-cortexa78c = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78c" +BASE_LIB:tune-cortexa78c = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc new file mode 100644 index 0000000000..0a99156e62 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x1 +# +DEFAULTTUNE ?= "cortexx1" + +TUNEVALID[cortexx1] = "Enable cortex-x1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx1', ' -mcpu=cortex-x1', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexx1" +ARMPKGARCH:tune-cortexx1 = "cortexx1" +TUNE_FEATURES:tune-cortexx1 = "aarch64 crypto cortexx1" +PACKAGE_EXTRA_ARCHS:tune-cortexx1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexx1" +BASE_LIB:tune-cortexx1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc new file mode 100644 index 0000000000..2a16d1695d --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x1c +# +DEFAULTTUNE ?= "cortexx1c" + +TUNEVALID[cortexx1c] = "Enable cortex-x1c specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx1c', ' -mcpu=cortex-x1c', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexx1c" +ARMPKGARCH:tune-cortexx1c = "cortexx1c" +TUNE_FEATURES:tune-cortexx1c = "aarch64 crypto cortexx1c" +PACKAGE_EXTRA_ARCHS:tune-cortexx1c = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexx1c" +BASE_LIB:tune-cortexx1c = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc new file mode 100644 index 0000000000..e906cf965c --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Neoverse-E1 +# +DEFAULTTUNE ?= "neoversee1" + +TUNEVALID[neoversee1] = "Enable Neoverse-E1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversee1', ' -mcpu=neoverse-e1', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "neoversee1" +ARMPKGARCH:tune-neoversee1 = "neoversee1" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-neoversee1 = "aarch64 crypto neoversee1" +PACKAGE_EXTRA_ARCHS:tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1" +BASE_LIB:tune-neoversee1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc new file mode 100644 index 0000000000..55f054713f --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Neoverse-N1 +# +DEFAULTTUNE ?= "neoversen1" + +TUNEVALID[neoversen1] = "Enable Neoverse-N1 specific processor optimizations" +# Note: Neoverse was called Ares, and GCC will accept "ares" in place of "neoverse-n1" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen1', ' -mcpu=neoverse-n1', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "neoversen1" +ARMPKGARCH:tune-neoversen1 = "neoversen1" +TUNE_FEATURES:tune-neoversen1 = "aarch64 crypto neoversen1" +PACKAGE_EXTRA_ARCHS:tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1" +BASE_LIB:tune-neoversen1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc new file mode 100644 index 0000000000..e9d7a59c51 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc @@ -0,0 +1,14 @@ +DEFAULTTUNE ?= "octeontx2" + +TUNEVALID[octeontx2] = "Enable Marvell octeontx2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeontx2', ' -mcpu=octeontx2', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "octeontx2" +ARMPKGARCH:tune-octeontx2 = "octeontx2" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-octeontx2 = "aarch64 crypto octeontx2" +PACKAGE_EXTRA_ARCHS:tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2" +BASE_LIB:tune-octeontx2 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc b/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc new file mode 100644 index 0000000000..450bf74896 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for neoverse-512tvb +# +DEFAULTTUNE ?= "neoverse512tvb" + +TUNEVALID[neoverse512tvb] = "Enable neoverse-512tvb specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoverse512tvb', ' -mcpu=neoverse-512tvb', '', d)}" + +require conf/machine/include/arm/arch-armv8-4a.inc + +AVAILTUNES += "neoverse512tvb" +ARMPKGARCH:tune-neoverse512tvb = "neoverse512tvb" +TUNE_FEATURES:tune-neoverse512tvb = "aarch64 crypto neoverse512tvb" +PACKAGE_EXTRA_ARCHS:tune-neoverse512tvb = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} neoverse512tvb" +BASE_LIB:tune-neoverse512tvb = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc b/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc new file mode 100644 index 0000000000..2b4da7db3c --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for neoverse-v1 +# +DEFAULTTUNE ?= "neoversev1" + +TUNEVALID[neoversev1] = "Enable neoverse-v1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversev1', ' -mcpu=neoverse-v1', '', d)}" + +require conf/machine/include/arm/arch-armv8-4a.inc + +AVAILTUNES += "neoversev1" +ARMPKGARCH:tune-neoversev1 = "neoversev1" +TUNE_FEATURES:tune-neoversev1 = "aarch64 crypto neoversev1" +PACKAGE_EXTRA_ARCHS:tune-neoversev1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} neoversev1" +BASE_LIB:tune-neoversev1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc new file mode 100644 index 0000000000..e83e0ba68a --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for Cortex-M23 +# +DEFAULTTUNE ?= "cortexm23" + +TUNEVALID[cortexm23] = "Enable Cortex-M23 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm23', ' -mcpu=cortex-m23', '', d)}" + +require conf/machine/include/arm/arch-armv8m-base.inc + +AVAILTUNES += "cortexm23" +ARMPKGARCH:tune-cortexm23 = "cortexm23" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm23 = "cortexm23" +PACKAGE_EXTRA_ARCHS:tune-cortexm23 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-base} cortexm23" diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc new file mode 100644 index 0000000000..606900d7a2 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc @@ -0,0 +1,18 @@ +# +# Tune Settings for Cortex-M33 +# +DEFAULTTUNE ?= "cortexm33" + +TUNEVALID[cortexm33] = "Enable Cortex-M33 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm33', ' -mcpu=cortex-m33', '', d)}" + +require conf/machine/include/arm/arch-armv8m-main.inc + +# GCC thnks that DSP and VFP are required, but Arm docs say it is +# optional. So forcing below so that compiling works, but this should +# be fixed in GCC +AVAILTUNES += "cortexm33" +ARMPKGARCH:tune-cortexm33 = "cortexm33" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm33 = "vfpv5spd16 dsp cortexm33" +PACKAGE_EXTRA_ARCHS:tune-cortexm33 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm33e-fpv5-spd16" diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc new file mode 100644 index 0000000000..4394adab0b --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc @@ -0,0 +1,18 @@ +# +# Tune Settings for Cortex-M35P +# +DEFAULTTUNE ?= "cortexm35p" + +TUNEVALID[cortexm35p] = "Enable Cortex-M35p specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm35p', ' -mcpu=cortex-m35p', '', d)}" + +require conf/machine/include/arm/arch-armv8m-main.inc + +# GCC thnks that DSP and VFP are required, but Arm docs say it is +# optional. So forcing below so that compiling works, but this should +# be fixed in GCC +AVAILTUNES += "cortexm35p" +ARMPKGARCH:tune-cortexm35p = "cortexm35p" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm35p = "vfpv5spd16 dsp cortexm35p" +PACKAGE_EXTRA_ARCHS:tune-cortexm35p = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm35pe-fpv5-spd16" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc new file mode 100644 index 0000000000..25bdf12b18 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc @@ -0,0 +1,18 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa32 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc new file mode 100644 index 0000000000..c195d73378 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc @@ -0,0 +1,21 @@ +# +# Tune Settings for Cortex-A34 +# +DEFAULTTUNE ?= "cortexa34" + +TUNEVALID[cortexa34] = "Enable Cortex-A34 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa34', ' -mcpu=cortex-a34', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa34 cortexa34-crypto" +ARMPKGARCH:tune-cortexa34 = "cortexa34" +ARMPKGARCH:tune-cortexa34-crypto = "cortexa34" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa34 = "aarch64 crc cortexa34" +TUNE_FEATURES:tune-cortexa34-crypto = "${TUNE_FEATURES:tune-cortexa34} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa34 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa34" +PACKAGE_EXTRA_ARCHS:tune-cortexa34-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto" +BASE_LIB:tune-cortexa34 = "lib64" +BASE_LIB:tune-cortexa34-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc new file mode 100644 index 0000000000..d811c84455 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc @@ -0,0 +1,18 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa35 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc new file mode 100644 index 0000000000..a88575eb15 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc @@ -0,0 +1,18 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa53 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc new file mode 100644 index 0000000000..052d1173c9 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc @@ -0,0 +1,15 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa57-cortexa53 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc new file mode 100644 index 0000000000..b0de20f836 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc @@ -0,0 +1,18 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa57 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc new file mode 100644 index 0000000000..ff188aec5f --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc @@ -0,0 +1,20 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa72-cortexa53 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc new file mode 100644 index 0000000000..cbb6418c06 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc @@ -0,0 +1,18 @@ +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 cortexa72-crypto" +ARMPKGARCH:tune-cortexa72 = "cortexa72" +ARMPKGARCH:tune-cortexa72-crypto = "cortexa72" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa72 = "aarch64 crc cortexa72" +TUNE_FEATURES:tune-cortexa72-crypto = "${TUNE_FEATURES:tune-cortexa72} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72" +PACKAGE_EXTRA_ARCHS:tune-cortexa72-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72 cortexa72-crypto" +BASE_LIB:tune-cortexa72 = "lib64" +BASE_LIB:tune-cortexa72-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc new file mode 100644 index 0000000000..4f4f25f511 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc @@ -0,0 +1,22 @@ +# +# Tune Settings for big.LITTLE Cortex-A73 - Cortex-A35 +# +DEFAULTTUNE ?= "cortexa73-cortexa35" + +TUNEVALID[cortexa73-cortexa35] = "Enable big.LITTLE Cortex-A73.Cortex-A35 specific processor optimizations" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", "cortexa73-cortexa35:", "", d)}" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=cortex-a73.cortex-a35", "", d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# cortexa73.cortexa35 implies crc support +AVAILTUNES += "cortexa73-cortexa35 cortexa73-cortexa35-crypto" +ARMPKGARCH:tune-cortexa73-cortexa35 = "cortexa73-cortexa35" +ARMPKGARCH:tune-cortexa73-cortexa35-crypto = "cortexa73-cortexa35-crypto" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa73-cortexa35 = "aarch64 crc cortexa73-cortexa35" +TUNE_FEATURES:tune-cortexa73-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa35} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa35" +PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto" +BASE_LIB:tune-cortexa73-cortexa35 = "lib64" +BASE_LIB:tune-cortexa73-cortexa35-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc new file mode 100644 index 0000000000..1d152ed83b --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc @@ -0,0 +1,20 @@ +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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa73-cortexa53 = "aarch64 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/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc new file mode 100644 index 0000000000..b3b06a4f09 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc @@ -0,0 +1,21 @@ +# +# Tune Settings for Cortex-A73 +# +DEFAULTTUNE ?= "cortexa73" + +TUNEVALID[cortexa73] = "Enable Cortex-A73 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa73', ' -mcpu=cortex-a73', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa73 cortexa73-crypto" +ARMPKGARCH:tune-cortexa73 = "cortexa73" +ARMPKGARCH:tune-cortexa73-crypto = "cortexa73" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa73 = "aarch64 crc cortexa73" +TUNE_FEATURES:tune-cortexa73-crypto = "${TUNE_FEATURES:tune-cortexa73} crypto" +PACKAGE_EXTRA_ARCHS:tune-cortexa73 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73" +PACKAGE_EXTRA_ARCHS:tune-cortexa73-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73 cortexa73-crypto" +BASE_LIB:tune-cortexa73 = "lib64" +BASE_LIB:tune-cortexa73-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc b/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc new file mode 100644 index 0000000000..7bc6282be8 --- /dev/null +++ b/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/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc new file mode 100644 index 0000000000..89f0e09450 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc @@ -0,0 +1,20 @@ +# +# 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" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52" +PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" + +AVAILTUNES += "cortexr52hf" +ARMPKGARCH:tune-cortexr52hf = "cortexr52" +TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf" diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc new file mode 100644 index 0000000000..84b2471c6b --- /dev/null +++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-r82 +# +DEFAULTTUNE ?= "cortexr82" + +TUNEVALID[cortexr82] = "Enable cortex-r82 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr82', ' -mcpu=cortex-r82', '', d)}" + +require conf/machine/include/arm/arch-armv8r.inc + +AVAILTUNES += "cortexr82" +ARMPKGARCH:tune-cortexr82 = "cortexr82" +TUNE_FEATURES:tune-cortexr82 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr82" +PACKAGE_EXTRA_ARCHS:tune-cortexr82 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr82" +BASE_LIB:tune-cortexr82 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc new file mode 100644 index 0000000000..09219ec7f1 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a510 +# +DEFAULTTUNE ?= "cortexa510" + +TUNEVALID[cortexa510] = "Enable cortex-a510 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa510', ' -mcpu=cortex-a510', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexa510" +ARMPKGARCH:tune-cortexa510 = "cortexa510" +TUNE_FEATURES:tune-cortexa510 = "aarch64 crypto cortexa510" +PACKAGE_EXTRA_ARCHS:tune-cortexa510 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa510" +BASE_LIB:tune-cortexa510 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc new file mode 100644 index 0000000000..19743d67db --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a710 +# +DEFAULTTUNE ?= "cortexa710" + +TUNEVALID[cortexa710] = "Enable cortex-a710 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa710', ' -mcpu=cortex-a710', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexa710" +ARMPKGARCH:tune-cortexa710 = "cortexa710" +TUNE_FEATURES:tune-cortexa710 = "aarch64 crypto cortexa710" +PACKAGE_EXTRA_ARCHS:tune-cortexa710 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa710" +BASE_LIB:tune-cortexa710 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc new file mode 100644 index 0000000000..2f6d8c6f8f --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a715 +# +DEFAULTTUNE ?= "cortexa715" + +TUNEVALID[cortexa715] = "Enable cortex-a715 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa715', ' -mcpu=cortex-a715', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexa715" +ARMPKGARCH:tune-cortexa715 = "cortexa715" +TUNE_FEATURES:tune-cortexa715 = "aarch64 crypto cortexa715" +PACKAGE_EXTRA_ARCHS:tune-cortexa715 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa715" +BASE_LIB:tune-cortexa715 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc new file mode 100644 index 0000000000..c116e30ff5 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x2 +# +DEFAULTTUNE ?= "cortexx2" + +TUNEVALID[cortexx2] = "Enable cortex-x2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx2', ' -mcpu=cortex-x2', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexx2" +ARMPKGARCH:tune-cortexx2 = "cortexx2" +TUNE_FEATURES:tune-cortexx2 = "aarch64 crypto cortexx2" +PACKAGE_EXTRA_ARCHS:tune-cortexx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexx2" +BASE_LIB:tune-cortexx2 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc new file mode 100644 index 0000000000..7982079ef8 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x3 +# +DEFAULTTUNE ?= "cortexx3" + +TUNEVALID[cortexx3] = "Enable cortex-x3 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx3', ' -mcpu=cortex-x3', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexx3" +ARMPKGARCH:tune-cortexx3 = "cortexx3" +TUNE_FEATURES:tune-cortexx3 = "aarch64 crypto cortexx3" +PACKAGE_EXTRA_ARCHS:tune-cortexx3 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexx3" +BASE_LIB:tune-cortexx3 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc new file mode 100644 index 0000000000..ad60a3c9f3 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc @@ -0,0 +1,21 @@ +# +# Tune Settings for Neoverse-N2 +# +DEFAULTTUNE ?= "neoversen2" + +TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +# Little Endian base configs +AVAILTUNES += "neoversen2 neoversen2-crypto" +ARMPKGARCH:tune-neoversen2 = "neoversen2" +ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-neoversen2 = "aarch64 neoversen2" +TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto" +PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2" +PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto" +BASE_LIB:tune-neoversen2 = "lib64" +BASE_LIB:tune-neoversen2-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc new file mode 100644 index 0000000000..5d1e108468 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for neoverse-v2 +# +DEFAULTTUNE ?= "neoversev2" + +TUNEVALID[neoversev2] = "Enable neoverse-v2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversev2', ' -mcpu=neoverse-v2', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "neoversev2" +ARMPKGARCH:tune-neoversev2 = "neoversev2" +TUNE_FEATURES:tune-neoversev2 = "aarch64 crypto neoversev2" +PACKAGE_EXTRA_ARCHS:tune-neoversev2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversev2" +BASE_LIB:tune-neoversev2 = "lib64" diff --git a/meta/conf/machine/include/arm/feature-arm-crc.inc b/meta/conf/machine/include/arm/feature-arm-crc.inc new file mode 100644 index 0000000000..8a69d2e2fa --- /dev/null +++ b/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/meta/conf/machine/include/arm/feature-arm-crypto.inc b/meta/conf/machine/include/arm/feature-arm-crypto.inc new file mode 100644 index 0000000000..aade6ce08d --- /dev/null +++ b/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/meta/conf/machine/include/arm/feature-arm-dsp.inc b/meta/conf/machine/include/arm/feature-arm-dsp.inc new file mode 100644 index 0000000000..7f7ada7461 --- /dev/null +++ b/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/meta/conf/machine/include/arm/feature-arm-idiv.inc b/meta/conf/machine/include/arm/feature-arm-idiv.inc new file mode 100644 index 0000000000..0ea42b1b39 --- /dev/null +++ b/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/meta/conf/machine/include/arm/feature-arm-neon.inc b/meta/conf/machine/include/arm/feature-arm-neon.inc index eaddd054ce..174b9b9f2a 100644 --- a/meta/conf/machine/include/arm/feature-arm-neon.inc +++ b/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/meta/conf/machine/include/arm/feature-arm-simd.inc b/meta/conf/machine/include/arm/feature-arm-simd.inc new file mode 100644 index 0000000000..1afaf8d901 --- /dev/null +++ b/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)}" diff --git a/meta/conf/machine/include/arm/feature-arm-sve.inc b/meta/conf/machine/include/arm/feature-arm-sve.inc new file mode 100644 index 0000000000..bdae3d8fc3 --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-sve.inc @@ -0,0 +1,8 @@ +# Scalable Vector Extension (SVE) for Armv8-A and R +# Enabled by default for Armv9 + +TUNEVALID[sve] = "Enable SVE instructions for ARMv8" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve', '+sve', '', d)}" + +TUNEVALID[sve2] = "Enable SVE2 instructions for ARMv8" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve2', '+sve2', '', d)}" diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc index 0b47ccad02..1c9a118160 100644 --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc @@ -1,8 +1,6 @@ TUNEVALID[thumb] = "Support Thumb instructions" -ARM_THUMB_SUFFIX = "${@bb.utils.contains_any('TUNE_FEATURES', 'armv4 armv5 armv6', 't', 't2', d)}" - # If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb") # If the device doesn't support ARM, then always set "thumb" even when # some recipe explicitly sets ARM_INSTRUCTION_SET to "arm" @@ -23,6 +21,11 @@ python () { TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}" +ARM_THUMB_SUFFIX = "t2" +ARM_THUMB_SUFFIX:armv4 = "t" +ARM_THUMB_SUFFIX:armv5 = "t" +ARM_THUMB_SUFFIX:armv6 = "t" + # Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}" diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc b/meta/conf/machine/include/arm/feature-arm-vfp.inc index 678888e638..d020100daa 100644 --- a/meta/conf/machine/include/arm/feature-arm-vfp.inc +++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc @@ -5,11 +5,12 @@ TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}" +# simd is special, we don't pass this to the -mfpu, it's implied TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" # The following deals with both vfpv3-d16 and vfpv4-d16 ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." -TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }" +TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '' or bb.utils.contains('TUNE_FEATURES', 'simd', True, False, d)) else '' }" TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}" ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}" |