1PLATFORM_FLAVOR ?= qemu_virt 2 3ifeq ($(PLATFORM_FLAVOR),qemu_virt) 4include core/arch/arm/cpu/cortex-a15.mk 5endif 6ifeq ($(PLATFORM_FLAVOR),fvp) 7include core/arch/arm/cpu/cortex-armv8-0.mk 8platform-debugger-arm := 1 9endif 10ifeq ($(PLATFORM_FLAVOR),juno) 11include core/arch/arm/cpu/cortex-armv8-0.mk 12platform-debugger-arm := 1 13endif 14ifeq ($(PLATFORM_FLAVOR),qemu_armv8a) 15include core/arch/arm/cpu/cortex-armv8-0.mk 16endif 17 18 19ifeq ($(platform-debugger-arm),1) 20# ARM debugger needs this 21platform-cflags-debug-info = -gdwarf-2 22platform-aflags-debug-info = -gdwarf-2 23endif 24 25ifeq ($(platform-flavor-armv8),1) 26$(call force,CFG_WITH_ARM_TRUSTED_FW,y) 27endif 28 29$(call force,CFG_GENERIC_BOOT,y) 30$(call force,CFG_GIC,y) 31$(call force,CFG_PL011,y) 32$(call force,CFG_PM_STUBS,y) 33$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y) 34 35ta-targets = ta_arm32 36 37ifeq ($(CFG_ARM64_core),y) 38$(call force,CFG_WITH_LPAE,y) 39ta-targets += ta_arm64 40else 41$(call force,CFG_ARM32_core,y) 42endif 43 44CFG_WITH_STACK_CANARIES ?= y 45CFG_WITH_STATS ?= y 46 47ifeq ($(PLATFORM_FLAVOR),fvp) 48CFG_TEE_CORE_NB_CORE = 8 49CFG_TZDRAM_START ?= 0x06000000 50CFG_TZDRAM_SIZE ?= 0x02000000 51CFG_SHMEM_START ?= 0x83000000 52CFG_SHMEM_SIZE ?= 0x00200000 53# DRAM1 is defined above 4G 54$(call force,CFG_CORE_LARGE_PHYS_ADDR,y) 55endif 56 57ifeq ($(PLATFORM_FLAVOR),juno) 58CFG_TEE_CORE_NB_CORE = 6 59CFG_TZDRAM_START ?= 0xff000000 60CFG_TZDRAM_SIZE ?= 0x00ff8000 61CFG_SHMEM_START ?= 0xfee00000 62CFG_SHMEM_SIZE ?= 0x00200000 63# DRAM1 is defined above 4G 64$(call force,CFG_CORE_LARGE_PHYS_ADDR,y) 65CFG_CRYPTO_WITH_CE ?= y 66endif 67 68ifeq ($(PLATFORM_FLAVOR),qemu_virt) 69CFG_TEE_CORE_NB_CORE = 4 70# [0e00.0000 0e0f.ffff] is reserved to early boot 71CFG_TZDRAM_START ?= 0x0e100000 72CFG_TZDRAM_SIZE ?= 0x00f00000 73CFG_SHMEM_START ?= 0x7fe00000 74CFG_SHMEM_SIZE ?= 0x00200000 75# When Secure Data Path is enable, last MByte of TZDRAM is SDP test memory. 76CFG_TEE_SDP_MEM_SIZE ?= 0x00400000 77# Set VA space to 2MB for Kasan offset to match LPAE and 32bit MMU configs 78CFG_TEE_RAM_VA_SIZE ?= 0x00200000 79ifeq ($(CFG_CORE_SANITIZE_KADDRESS),y) 80# CFG_ASAN_SHADOW_OFFSET is calculated as: 81# (&__asan_shadow_start - (TEE_RAM_VA_START / 8) 82# This is unfortunately currently not possible to do in make so we have to 83# calculate it offline, there's some asserts in 84# core/arch/arm/kernel/generic_boot.c to check that we got it right 85CFG_ASAN_SHADOW_OFFSET = 0xc6a71c0 86endif 87$(call force,CFG_BOOT_SECONDARY_REQUEST,y) 88$(call force,CFG_PSCI_ARM32,y) 89$(call force,CFG_DT,y) 90# SE API is only supported by QEMU Virt platform 91CFG_SE_API ?= y 92CFG_SE_API_SELF_TEST ?= y 93CFG_PCSC_PASSTHRU_READER_DRV ?= n 94endif 95 96ifeq ($(PLATFORM_FLAVOR),qemu_armv8a) 97CFG_TEE_CORE_NB_CORE = 2 98# [0e00.0000 0e0f.ffff] is reserved to early boot 99CFG_TZDRAM_START ?= 0x0e100000 100CFG_TZDRAM_SIZE ?= 0x00f00000 101# SHM chosen arbitrary, in a way that it does not interfere 102# with initial location of linux kernel, dtb and initrd. 103CFG_SHMEM_START ?= 0x42000000 104CFG_SHMEM_SIZE ?= 0x00200000 105# When Secure Data Path is enable, last MByte of TZDRAM is SDP test memory. 106CFG_TEE_SDP_MEM_SIZE ?= 0x00400000 107$(call force,CFG_DT,y) 108endif 109