blob: 27f552b2d726650330325216764a12181379e7cf [file] [log] [blame]
Patrick Williams0ca19cc2021-08-16 14:03:13 -05001#
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"