xref: /optee_os/core/arch/arm/plat-vexpress/conf.mk (revision dc0f4ec2074a459f7bf6279e19dd3a68f86468f1)
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
49# DRAM1 is defined above 4G
50$(call force,CFG_CORE_LARGE_PHYS_ADDR,y)
51endif
52
53ifeq ($(PLATFORM_FLAVOR),juno)
54CFG_TEE_CORE_NB_CORE = 6
55# DRAM1 is defined above 4G
56$(call force,CFG_CORE_LARGE_PHYS_ADDR,y)
57CFG_CRYPTO_WITH_CE ?= y
58endif
59
60ifeq ($(PLATFORM_FLAVOR),qemu_virt)
61CFG_TEE_CORE_NB_CORE = 4
62ifeq ($(CFG_CORE_SANITIZE_KADDRESS),y)
63# CFG_ASAN_SHADOW_OFFSET is calculated as:
64# (&__asan_shadow_start - (TEE_RAM_VA_START / 8)
65# This is unfortunately currently not possible to do in make so we have to
66# calculate it offline, there's some asserts in
67# core/arch/arm/kernel/generic_boot.c to check that we got it right
68CFG_ASAN_SHADOW_OFFSET = 0xc6a71c0
69endif
70$(call force,CFG_BOOT_SECONDARY_REQUEST,y)
71$(call force,CFG_PSCI_ARM32,y)
72$(call force,CFG_DT,y)
73# SE API is only supported by QEMU Virt platform
74CFG_SE_API ?= y
75CFG_SE_API_SELF_TEST ?= y
76CFG_PCSC_PASSTHRU_READER_DRV ?= n
77endif
78
79ifeq ($(PLATFORM_FLAVOR),qemu_armv8a)
80CFG_TEE_CORE_NB_CORE = 2
81$(call force,CFG_DT,y)
82endif
83