1*4882a593Smuzhiyun# Tuning for ARMV6-m defined in ARM v6-M ArchitectureReference Manual 2*4882a593Smuzhiyun# at https://static.docs.arm.com/ddi0419/d/DDI0419D_armv6m_arm.pdf 3*4882a593SmuzhiyunDEFAULTTUNE ?= "armv6m" 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunTUNEVALID[armv6m] = "Enable instructions for ARMv6-m" 6*4882a593SmuzhiyunTUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture". 9*4882a593Smuzhiyun# SVC is a valid instruction. 10*4882a593SmuzhiyunTUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}" 11*4882a593SmuzhiyunMACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunrequire conf/machine/include/arm/arch-armv5.inc 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun# Little Endian 16*4882a593SmuzhiyunAVAILTUNES += "armv6m" 17*4882a593SmuzhiyunARMPKGARCH:tune-armv6m = "armv6m" 18*4882a593SmuzhiyunTUNE_FEATURES:tune-armv6m = "armv6m" 19*4882a593SmuzhiyunPACKAGE_EXTRA_ARCHS:tune-armv6m = "armv6m" 20