1a189a570SPascal BrandCFG_LTC_OPTEE_THREAD ?= y 2a189a570SPascal Brand 3abe38974SJens Wiklanderifeq ($(CFG_ARM64_core),y) 47a976658SJerome ForissierCFG_KERN_LINKER_FORMAT ?= elf64-littleaarch64 57a976658SJerome ForissierCFG_KERN_LINKER_ARCH ?= aarch64 6abe38974SJens Wiklanderendif 7abe38974SJens Wiklanderifeq ($(CFG_ARM32_core),y) 87a976658SJerome ForissierCFG_KERN_LINKER_FORMAT ?= elf32-littlearm 97a976658SJerome ForissierCFG_KERN_LINKER_ARCH ?= arm 107a976658SJerome Forissierendif 117a976658SJerome Forissier 12*739804b5SJens Wiklander 13*739804b5SJens Wiklandercore-platform-cppflags += -I$(arch-dir)/include 14*739804b5SJens Wiklandercore-platform-subdirs += \ 15*739804b5SJens Wiklander $(addprefix $(arch-dir)/, kernel mm tee sta) $(platform-dir) 16*739804b5SJens Wiklander 17*739804b5SJens Wiklanderifneq ($(CFG_WITH_ARM_TRUSTED_FW),y) 18*739804b5SJens Wiklandercore-platform-subdirs += $(arch-dir)/sm 19*739804b5SJens Wiklanderendif 20*739804b5SJens Wiklander 21*739804b5SJens Wiklanderarm64-platform-cppflags += -DARM64=1 -D__LP64__=1 22*739804b5SJens Wiklanderarm32-platform-cppflags += -DARM32=1 -D__ILP32__=1 23*739804b5SJens Wiklander 24*739804b5SJens Wiklanderplatform-cflags-generic ?= -g -ffunction-sections -fdata-sections -pipe 25*739804b5SJens Wiklanderplatform-aflags-generic ?= -g -pipe 26*739804b5SJens Wiklander 27*739804b5SJens Wiklanderarm32-platform-cflags-no-hard-float ?= -mno-apcs-float -mfloat-abi=soft 28*739804b5SJens Wiklanderarm32-platform-cflags-generic ?= -mthumb -mthumb-interwork -mlong-calls \ 29*739804b5SJens Wiklander -fno-short-enums -fno-common -mno-unaligned-access 30*739804b5SJens Wiklanderarm32-platform-aflags-no-hard-float ?= 31*739804b5SJens Wiklander 32*739804b5SJens Wiklanderarm64-platform-cflags-no-hard-float ?= -mgeneral-regs-only 33*739804b5SJens Wiklanderarm64-platform-cflags-generic ?= -mstrict-align 34*739804b5SJens Wiklander 35*739804b5SJens Wiklanderifeq ($(DEBUG),1) 36*739804b5SJens Wiklanderplatform-cflags-optimization ?= -O0 37*739804b5SJens Wiklanderelse 38*739804b5SJens Wiklanderplatform-cflags-optimization ?= -Os 39*739804b5SJens Wiklanderendif 40*739804b5SJens Wiklander 41*739804b5SJens Wiklanderplatform-cflags-debug-info ?= -g3 42*739804b5SJens Wiklanderplatform-aflags-debug-info ?= 43*739804b5SJens Wiklander 44*739804b5SJens Wiklandercore-platform-cflags += $(platform-cflags-optimization) 45*739804b5SJens Wiklandercore-platform-cflags += $(platform-cflags-generic) 46*739804b5SJens Wiklandercore-platform-cflags += $(platform-cflags-debug-info) 47*739804b5SJens Wiklander 48*739804b5SJens Wiklandercore-platform-aflags += $(platform-aflags-generic) 49*739804b5SJens Wiklandercore-platform-aflags += $(platform-aflags-debug-info) 50*739804b5SJens Wiklander 517a976658SJerome Forissierifeq ($(CFG_ARM64_core),y) 527a976658SJerome Forissiercore-platform-cppflags += $(arm64-platform-cppflags) 537a976658SJerome Forissiercore-platform-cflags += $(arm64-platform-cflags) 54*739804b5SJens Wiklandercore-platform-cflags += $(arm64-platform-cflags-generic) 55*739804b5SJens Wiklandercore-platform-cflags += $(arm64-platform-cflags-no-hard-float) 567a976658SJerome Forissiercore-platform-aflags += $(arm64-platform-aflags) 577a976658SJerome Forissierelse 587a976658SJerome Forissiercore-platform-cppflags += $(arm32-platform-cppflags) 597a976658SJerome Forissiercore-platform-cflags += $(arm32-platform-cflags) 60*739804b5SJens Wiklandercore-platform-cflags += $(arm32-platform-cflags-no-hard-float) 61*739804b5SJens Wiklandercore-platform-cflags += $(arm32-platform-cflags-generic) 62*739804b5SJens Wiklandercore-platform-aflags += $(core_arm32-platform-aflags) 637a976658SJerome Forissiercore-platform-aflags += $(arm32-platform-aflags) 64abe38974SJens Wiklanderendif 65*739804b5SJens Wiklander 66*739804b5SJens Wiklanderifneq ($(filter ta_arm32,$(ta-targets)),) 67*739804b5SJens Wiklander# Variables for ta-target/sm "ta_arm32" 68*739804b5SJens WiklanderCFG_ARM32_ta_arm32 := y 69*739804b5SJens Wiklanderta_arm32-platform-cppflags += $(arm32-platform-cppflags) 70*739804b5SJens Wiklanderta_arm32-platform-cflags += $(arm32-platform-cflags) 71*739804b5SJens Wiklanderta_arm32-platform-cflags += $(platform-cflags-optimization) 72*739804b5SJens Wiklanderta_arm32-platform-cflags += $(platform-cflags-debug-info) 73*739804b5SJens Wiklanderta_arm32-platform-cflags += -fpie 74*739804b5SJens Wiklanderta_arm32-platform-cflags += $(arm32-platform-cflags-generic) 75*739804b5SJens Wiklanderta_arm32-platform-cflags += $(arm32-platform-cflags-no-hard-float) 76*739804b5SJens Wiklanderta_arm32-platform-aflags += $(platform-aflags-debug-info) 77*739804b5SJens Wiklanderta_arm32-platform-aflags += $(arm32-platform-aflags) 78*739804b5SJens Wiklander 79*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm32 += CFG_ARM32_ta_arm32 80*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm32 += ta_arm32-platform-cppflags 81*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm32 += ta_arm32-platform-cflags 82*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm32 += ta_arm32-platform-aflags 83*739804b5SJens Wiklanderendif 84*739804b5SJens Wiklander 85*739804b5SJens Wiklanderifneq ($(filter ta_arm64,$(ta-targets)),) 86*739804b5SJens Wiklander# Variables for ta-target/sm "ta_arm64" 87*739804b5SJens WiklanderCFG_ARM64_ta_arm64 := y 88*739804b5SJens Wiklanderta_arm64-platform-cppflags += $(arm64-platform-cppflags) 89*739804b5SJens Wiklanderta_arm64-platform-cflags += $(arm64-platform-cflags) 90*739804b5SJens Wiklanderta_arm64-platform-cflags += $(platform-cflags-optimization) 91*739804b5SJens Wiklanderta_arm64-platform-cflags += $(platform-cflags-debug-info) 92*739804b5SJens Wiklanderta_arm64-platform-cflags += -fpie 93*739804b5SJens Wiklanderta_arm64-platform-cflags += $(arm64-platform-cflags-generic) 94*739804b5SJens Wiklanderta_arm64-platform-cflags += $(arm64-platform-cflags-no-hard-float) 95*739804b5SJens Wiklanderta_arm64-platform-aflags += $(platform-aflags-debug-info) 96*739804b5SJens Wiklanderta_arm64-platform-aflags += $(arm64-platform-aflags) 97*739804b5SJens Wiklander 98*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm64 += CFG_ARM64_ta_arm64 99*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm64 += ta_arm64-platform-cppflags 100*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm64 += ta_arm64-platform-cflags 101*739804b5SJens Wiklanderta-mk-file-export-vars-ta_arm64 += ta_arm64-platform-aflags 102*739804b5SJens Wiklanderendif 103