Home | History | Annotate | Download | only in arm
      1 # Configuration for Linux on ARM.
      2 # Generating binaries for the ARMv7-a architecture and higher with NEON
      3 #
      4 ARCH_ARM_HAVE_ARMV7A            := true
      5 ARCH_ARM_HAVE_VFP               := true
      6 ARCH_ARM_HAVE_VFP_D32           := true
      7 ARCH_ARM_HAVE_NEON              := true
      8 
      9 ifneq (,$(filter cortex-a15 krait denver,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)))
     10 	# TODO: krait is not a cortex-a15, we set the variant to cortex-a15 so that
     11 	#       hardware divide operations are generated. This should be removed and a
     12 	#       krait CPU variant added to GCC. For clang we specify -mcpu for krait in
     13 	#       core/clang/arm.mk.
     14 	arch_variant_cflags := -mcpu=cortex-a15
     15 
     16 	# Fake an ARM compiler flag as these processors support LPAE which GCC/clang
     17 	# don't advertise.
     18 	arch_variant_cflags += -D__ARM_FEATURE_LPAE=1
     19 	arch_variant_ldflags := \
     20 		-Wl,--no-fix-cortex-a8
     21 else
     22 ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a8)
     23 	arch_variant_cflags := -mcpu=cortex-a8
     24 	arch_variant_ldflags := \
     25 		-Wl,--fix-cortex-a8
     26 else
     27 ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a7)
     28 	arch_variant_cflags := -mcpu=cortex-a7
     29 	arch_variant_ldflags := \
     30 		-Wl,--no-fix-cortex-a8
     31 else
     32 	arch_variant_cflags := -march=armv7-a
     33 	# Generic ARM might be a Cortex A8 -- better safe than sorry
     34 	arch_variant_ldflags := \
     35 		-Wl,--fix-cortex-a8
     36 endif
     37 endif
     38 endif
     39 
     40 arch_variant_cflags += \
     41     -mfloat-abi=softfp \
     42     -mfpu=neon
     43