summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorJonathan Richardson <jonathan.richardson@broadcom.com>2020-08-18 15:42:07 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-08-20 15:30:07 +0100
commit5731777f62b340d3c0c300da5a0290153e0fc10c (patch)
tree9a6b5ec7a83978b7c282a1ca9986412fdf3e12a3 /meta
parent3558af1ce6639cc548bf3be30813d414c7bf7055 (diff)
downloadpoky-5731777f62b340d3c0c300da5a0290153e0fc10c.tar.gz
cortex-m0plus.inc: Add tuning for cortex M0 plus
Add tuning files for ARM cortex m0 plus and the armv6-m architecture that it is based on. (From OE-Core rev: 1a2d05b504c7a6f5a917cb2e7d026e57bb2daf8f) Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rwxr-xr-xmeta/conf/machine/include/arm/arch-armv6m.inc19
-rwxr-xr-xmeta/conf/machine/include/tune-cortex-m0plus.inc11
2 files changed, 30 insertions, 0 deletions
diff --git a/meta/conf/machine/include/arm/arch-armv6m.inc b/meta/conf/machine/include/arm/arch-armv6m.inc
new file mode 100755
index 0000000000..68768106c6
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv6m.inc
@@ -0,0 +1,19 @@
1# Tuning for ARMV6-m defined in ARM v6-M ArchitectureReference Manual
2# at https://static.docs.arm.com/ddi0419/d/DDI0419D_armv6m_arm.pdf
3DEFAULTTUNE ?= "armv6m"
4
5TUNEVALID[armv6m] = "Enable instructions for ARMv6-m"
6TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
7
8# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
9# SVC is a valid instruction.
10TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
11MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '' ,d)}"
12
13require conf/machine/include/arm/arch-armv5.inc
14
15# Little Endian
16AVAILTUNES += "armv6m"
17ARMPKGARCH_tune-armv6m = "armv6m"
18TUNE_FEATURES_tune-armv6m = "armv6m"
19PACKAGE_EXTRA_ARCHS_tune-armv6m = "armv6m"
diff --git a/meta/conf/machine/include/tune-cortex-m0plus.inc b/meta/conf/machine/include/tune-cortex-m0plus.inc
new file mode 100755
index 0000000000..1c7512b061
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortex-m0plus.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "cortexm0-plus"
2require conf/machine/include/arm/arch-armv6m.inc
3
4TUNEVALID[cortexm0-plus] = "Enable Cortex-M0 Plus specific processor optimizations"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0-plus', ' -mcpu=cortex-m0plus', '', d)}"
6AVAILTUNES += "cortexm0-plus"
7
8ARMPKGARCH_tune-cortexm0-plus = "cortexm0-plus"
9TUNE_FEATURES_tune-cortexm0-plus = "${TUNE_FEATURES_tune-armv6m} cortexm0-plus"
10
11PACKAGE_EXTRA_ARCHS_tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS_tune-armv6m} cortexm0-plus"