Files
Arch-R/config/arch.aarch64
2025-07-22 05:33:45 +00:00

42 lines
1.4 KiB
Plaintext

# determines TARGET_CPU, if not forced by user
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=cortex-a53
fi
# TARGET_CPU:
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
# cortex-a72.cortex-a53
# determine architecture's family
case $TARGET_CPU in
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53|cortex-a73.cortex-a53)
TARGET_SUBARCH=armv8-a
TARGET_ABI=eabi
TARGET_FEATURES+=" neon"
# This only makes sense for 8.0-a, later revisions have LSE
TARGET_CFLAGS=" -mno-outline-atomics"
;;
cortex-a55|cortex-a76.cortex-a55|cortex-a77|cortex-a75.cortex-a55)
TARGET_SUBARCH=armv8.2-a
TARGET_ABI=eabi
TARGET_FEATURES+=" neon"
;;
cortex-x3)
TARGET_SUBARCH=armv9-a
TARGET_ABI=eabi
TARGET_FEATURES+=" neon"
;;
esac
TARGET_SUBARCH="$TARGET_SUBARCH$TARGET_ARCH_FLAGS"
TARGET_TUNE="$TARGET_CPU"
TARGET_GCC_ARCH=aarch64
TARGET_KERNEL_ARCH=arm64
# setup ARCH specific *FLAGS
TARGET_CFLAGS="$TARGET_CFLAGS -march=$TARGET_SUBARCH -mtune=$TARGET_TUNE -mabi=lp64 -Wno-psabi"
TARGET_LDFLAGS="$TARGET_LDFLAGS -march=$TARGET_SUBARCH -mtune=$TARGET_TUNE"
TARGET_ARCH_GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_SUBARCH --with-tune=$TARGET_TUNE"