blob: 739550d0051b7ab3b27eff291474485019e1e966 [file] [log] [blame]
Andrew Geissler635e0e42020-08-21 15:58:33 -05001# 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)}"
Andrew Geisslerc3d88e42020-10-02 09:45:00 -050011MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}"
Andrew Geissler635e0e42020-08-21 15:58:33 -050012
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"