summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2024-02-01 14:45:51 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-03 21:43:35 +0000
commit4019e8ecf8d84439d378f6da156081e81566e02f (patch)
tree9c6ab8e964ad1ed72a8500f22d241f0c6f617fdb /meta/conf/machine
parent4cbec71b06e0758137fd483a0b44eeba3bca1a94 (diff)
downloadpoky-4019e8ecf8d84439d378f6da156081e81566e02f.tar.gz
feature-arm-vfp.inc: Allow hard-float on newer simd targets
Currently hard-float is dependency upon the special TUNE_CCARGS_MFPU which contains custom -mfpu= values. However, newer 32-bit architectures like cortex-r52 use 'simd' instead. There is no 'simd' entry for -mfpu= according to the GCC manual, it's more or less automatic based on the cpu settings. Add this as an exception to the TUNE_CCARGS_FLOAT setting of hard or softfp. (From OE-Core rev: f122eb8b19528e1192fd0b68b0639d84aa288155) Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine')
-rw-r--r--meta/conf/machine/include/arm/feature-arm-vfp.inc3
1 files changed, 2 insertions, 1 deletions
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 @@
5TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." 5TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
6TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}" 6TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}"
7 7
8# simd is special, we don't pass this to the -mfpu, it's implied
8TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" 9TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
9# The following deals with both vfpv3-d16 and vfpv4-d16 10# The following deals with both vfpv3-d16 and vfpv4-d16
10ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" 11ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
11 12
12TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." 13TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP."
13TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }" 14TUNE_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 '' }"
14TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}" 15TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
15ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}" 16ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}"