blob: 832d0000acbf996d6f786a67638420f30b219d9e [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001DEFAULTTUNE ?= "aarch64"
2
Brad Bishop37a0e4d2017-12-04 01:01:44 -05003require conf/machine/include/arm/arch-armv7ve.inc
Patrick Williamsc124f4f2015-09-15 14:41:29 -05004
5TUNEVALID[aarch64] = "Enable instructions for aarch64"
Andrew Geisslerf0343792020-11-18 10:42:21 -06006TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007
Andrew Geisslerc3d88e42020-10-02 09:45:00 -05008MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:', '', d)}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009
10# Little Endian base configs
11AVAILTUNES += "aarch64 aarch64_be"
Patrick Williams213cb262021-08-07 19:21:33 -050012ARMPKGARCH:tune-aarch64 ?= "aarch64"
13ARMPKGARCH:tune-aarch64_be ?= "aarch64"
14TUNE_FEATURES:tune-aarch64 = "aarch64"
15TUNE_FEATURES:tune-aarch64_be = "${TUNE_FEATURES:tune-aarch64} bigendian"
16TUNE_PKGARCH_64:tune-aarch64 = "aarch64"
17TUNE_PKGARCH_64:tune-aarch64_be = "aarch64_be"
18BASE_LIB:tune-aarch64 = "lib64"
19BASE_LIB:tune-aarch64_be = "lib64"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050020
Patrick Williams213cb262021-08-07 19:21:33 -050021PACKAGE_EXTRA_ARCHS:tune-aarch64 = "aarch64"
22PACKAGE_EXTRA_ARCHS:tune-aarch64_be = "aarch64_be"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050023
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050024ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050025TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}"
Andrew Geissler4ed12e12020-06-05 18:00:41 -050026TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027ABIEXTENSION_64 = ""
28TARGET_FPU_64 = ""
29
30# Duplicated from arch-arm.inc
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050031TUNE_ARCH_32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'armeb', 'arm', d)}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050032TUNE_PKGARCH_32 = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
33ABIEXTENSION_32 = "eabi"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050034TARGET_FPU_32 = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050035
Andrew Geisslerc3d88e42020-10-02 09:45:00 -050036TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}', '${TUNE_ARCH_32}', d)}"
37TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}"
38ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}"
39TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}"
Andrew Geissler8f840682023-07-21 09:09:43 -050040
41# Emit branch protection (PAC/BTI) instructions. On hardware that doesn't
42# support these they're meaningless NOP instructions, so there's very little
43# reason not to.
44TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ' -mbranch-protection=standard', '', d)}"