1DEFAULTTUNE ?= "aarch64"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[aarch64] = "Enable instructions for aarch64"
6TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
7
8MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:', '', d)}"
9
10# Little Endian base configs
11AVAILTUNES += "aarch64 aarch64_be"
12ARMPKGARCH: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"
20
21PACKAGE_EXTRA_ARCHS:tune-aarch64 = "aarch64"
22PACKAGE_EXTRA_ARCHS:tune-aarch64_be = "aarch64_be"
23
24ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}"
25TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}"
26TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}"
27ABIEXTENSION_64 = ""
28TARGET_FPU_64 = ""
29
30# Duplicated from arch-arm.inc
31TUNE_ARCH_32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'armeb', 'arm', d)}"
32TUNE_PKGARCH_32 = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
33ABIEXTENSION_32 = "eabi"
34TARGET_FPU_32 = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
35
36TUNE_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)}"
40
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)}"
45