summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/arm/arch-armv8m-main.inc
diff options
context:
space:
mode:
authorJon Mason <jdmason@kudzu.us>2021-08-10 17:36:33 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-13 14:44:06 +0100
commitdac9318c5a7145bf499bcc2463e21ddcd63c2331 (patch)
treee0dbc703159892d24225193f84e5e3e4805e46e3 /meta/conf/machine/include/arm/arch-armv8m-main.inc
parent7c88e08e62d526b109f2286f13f9da13e60a8c0f (diff)
downloadpoky-dac9318c5a7145bf499bcc2463e21ddcd63c2331.tar.gz
tune-cortexm*: add support for all Arm Cortex-M processors
Add tune entries for all Arm Cortex-M processors currently supported in GCC (that are not currently present). The ARMv7 entries were added in conf/machine/include/ to match the existing Cortex-M and Cortex-A tune files. The ARMv8 entries were added to conf/machine/include/arm/armv8-m to match how ARMv8 was done for Cortex-A processor tune files. (From OE-Core rev: a9ff58f4cc1b45145fc1576c7eacabaea64b7bd4) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/arm/arch-armv8m-main.inc')
-rw-r--r--meta/conf/machine/include/arm/arch-armv8m-main.inc36
1 files changed, 36 insertions, 0 deletions
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..27f552b2d7
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8m-main.inc
@@ -0,0 +1,36 @@
1#
2# Defaults for ARMv8-m.main
3#
4DEFAULTTUNE ?= "armv8m-main"
5
6require conf/machine/include/arm/arch-armv8m-base.inc
7
8TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main"
9TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}"
10MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}"
11
12TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a"
13
14# FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic
15TUNEVALID[dsp] = "ARM DSP functionality"
16ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
17MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}"
18
19# FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc
20TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
21TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
22MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}"
23
24AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
25ARMPKGARCH:tune-armv8m-main = "armv8m-main"
26ARMPKGARCH:tune-armv8m-maine = "armv8m-main"
27ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main"
28ARMPKGARCH:tune-armv8m-maine-vfpv5spd16 = "armv8m-main"
29TUNE_FEATURES:tune-armv8m-main = "armv8m-main"
30TUNE_FEATURES:tune-armv8m-maine = "${TUNE_FEATURES:tune-armv8m-main} dsp"
31TUNE_FEATURES:tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main} vfpv5spd16"
32TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main-vfpv5spd16} dsp"
33PACKAGE_EXTRA_ARCHS:tune-armv8m-main = "armv8m-main"
34PACKAGE_EXTRA_ARCHS:tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine"
35PACKAGE_EXTRA_ARCHS:tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-main-fpv5-spd16"
36PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine-fpv5-spd16"