diff --git a/config/arch.aarch64 b/config/arch.aarch64 new file mode 100644 index 0000000000..bafee892fc --- /dev/null +++ b/config/arch.aarch64 @@ -0,0 +1,43 @@ +# determines TARGET_CPU, if not forced by user + if [ -z "$TARGET_CPU" ]; then + TARGET_CPU=cortex-a53 + fi + +# TARGET_CPU: +# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d +# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c arm7100 +# arm720 arm7500 arm7500fe arm7tdmi arm7tdmi-s arm710t arm720t +# arm740t strongarm strongarm110 strongarm1100 strongarm1110 arm8 +# arm810 arm9 arm9e arm920 arm920t arm922t arm946e-s arm966e-s +# arm968e-s arm926ej-s arm940t arm9tdmi arm10tdmi arm1020t +# arm1026ej-s arm10e arm1020e arm1022e arm1136j-s arm1136jf-s +# mpcore mpcorenovfp arm1156t2-s arm1156t2f-s arm1176jz-s +# arm1176jzf-s generic-armv7-a cortex-a5 cortex-a7 cortex-a8 +# cortex-a9 cortex-a12 cortex-a15 cortex-a17 cortex-a53 +# cortex-a57 cortex-a72 cortex-r4 cortex-r4f cortex-r5 cortex-r7 +# cortex-m7 cortex-m4 cortex-m3 cortex-m1 cortex-m0 cortex-m0plus +# cortex-m1.small-multiply cortex-m0.small-multiply +# cortex-m0plus.small-multiply exynos-m1 qdf24xx marvell-pj4 +# xscale iwmmxt iwmmxt2 ep9312 fa526 fa626 fa606te fa626te fmp626 +# fa726te xgene1 cortex-a15.cortex-a7 cortex-a17.cortex-a7 +# cortex-a57.cortex-a53 cortex-a72.cortex-a53 + +# determine architecture's family + case $TARGET_CPU in + cortex-a53) + TARGET_SUBARCH=aarch64 + TARGET_VARIANT=armv8-a + TARGET_ABI=eabi + TARGET_CPU_FLAGS="+crc+crypto" + TARGET_EXTRA_FLAGS="-mcpu=${TARGET_CPU}${TARGET_CPU_FLAGS}" + SIMD_SUPPORT="yes" + ;; + esac + + TARGET_GCC_ARCH=$(echo $TARGET_SUBARCH | sed -e "s,-,,") + TARGET_KERNEL_ARCH=arm64 + +# setup ARCH specific *FLAGS + TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi $TARGET_EXTRA_FLAGS" + TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=$TARGET_CPU" + GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"