xref: /optee_os/core/arch/arm/kernel/sub.mk (revision bbfe5da7daee2ab8efcb94fe11938d444b940384)
1ifeq ($(CFG_WITH_USER_TA),y)
2srcs-y += user_ta.c
3srcs-y += ldelf_loader.c
4srcs-$(CFG_REE_FS_TA) += ree_fs_ta.c
5srcs-$(CFG_EARLY_TA) += early_ta.c
6srcs-$(CFG_SECSTOR_TA) += secstor_ta.c
7endif
8
9srcs-$(CFG_EMBEDDED_TS) += embedded_ts.c
10srcs-y += pseudo_ta.c
11srcs-y += tee_time.c
12srcs-y += rpc_io_i2c.c
13srcs-y += otp_stubs.c
14srcs-y += delay.c
15
16srcs-$(CFG_SECURE_TIME_SOURCE_CNTPCT) += tee_time_arm_cntpct.c
17srcs-$(CFG_SECURE_TIME_SOURCE_REE) += tee_time_ree.c
18srcs-$(CFG_ARM64_core) += timer_a64.c
19
20srcs-$(CFG_ARM32_core) += spin_lock_a32.S
21srcs-$(CFG_ARM64_core) += spin_lock_a64.S
22srcs-$(CFG_TEE_CORE_DEBUG) += spin_lock_debug.c
23srcs-$(CFG_ARM32_core) += tlb_helpers_a32.S
24srcs-$(CFG_ARM64_core) += tlb_helpers_a64.S
25srcs-$(CFG_ARM64_core) += cache_helpers_a64.S
26srcs-$(CFG_ARM32_core) += cache_helpers_a32.S
27srcs-$(CFG_PL310) += tz_ssvce_pl310_a32.S
28srcs-$(CFG_PL310) += tee_l2cc_mutex.c
29
30srcs-$(CFG_ARM32_core) += thread_a32.S
31srcs-$(CFG_ARM64_core) += thread_a64.S
32srcs-y += thread.c
33ifeq ($(CFG_CORE_FFA),y)
34srcs-y += thread_spmc.c
35cppflags-thread_spmc.c-y += -DTEE_IMPL_GIT_SHA1=$(TEE_IMPL_GIT_SHA1)
36srcs-$(CFG_ARM32_core) += thread_spmc_a32.S
37srcs-$(CFG_ARM64_core) += thread_spmc_a64.S
38else
39srcs-y += thread_optee_smc.c
40srcs-$(CFG_ARM32_core) += thread_optee_smc_a32.S
41srcs-$(CFG_ARM64_core) += thread_optee_smc_a64.S
42endif
43srcs-y += abort.c
44srcs-$(CFG_WITH_VFP) += vfp.c
45ifeq ($(CFG_WITH_VFP),y)
46srcs-$(CFG_ARM32_core) += vfp_a32.S
47srcs-$(CFG_ARM64_core) += vfp_a64.S
48endif
49srcs-y += trace_ext.c
50srcs-$(CFG_ARM32_core) += misc_a32.S
51srcs-$(CFG_ARM64_core) += misc_a64.S
52srcs-$(CFG_WITH_STMM_SP) += stmm_sp.c
53srcs-$(CFG_SECURE_PARTITION) += secure_partition.c
54srcs-$(CFG_SECURE_PARTITION) += spmc_sp_handler.c
55
56srcs-y += boot.c
57srcs-$(CFG_ARM32_core) += entry_a32.S
58srcs-$(CFG_ARM64_core) += entry_a64.S
59
60ifeq ($(CFG_UNWIND),y)
61srcs-$(CFG_ARM32_core) += unwind_arm32.c
62srcs-$(CFG_ARM64_core) += unwind_arm64.c
63endif
64
65srcs-$(CFG_VIRTUALIZATION) += virtualization.c
66
67srcs-y += link_dummies_paged.c
68srcs-y += link_dummies_init.c
69
70asm-defines-y += asm-defines.c
71# Reflect the following dependencies:
72# asm-defines.c includes <kernel/thread.h>
73#   <kernel/thread.h> includes <asm.h>
74#     <asm.h> includes <generated/arm32_sysreg.h>
75#                  and <generated/arm32_gicv3_sysreg.h> (optional)
76asm-defines-asm-defines.c-deps += $(out-dir)/core/include/generated/arm32_sysreg.h
77ifeq ($(CFG_ARM_GICV3),y)
78asm-defines-asm-defines.c-deps += $(out-dir)/core/include/generated/arm32_gicv3_sysreg.h
79endif
80
81ifeq ($(CFG_SYSCALL_FTRACE),y)
82# We would not like to profile thread.c file as it provide common APIs
83# that are needed for ftrace framework to trace syscalls. So profiling
84# this file could create an incorrect cyclic behaviour.
85cflags-remove-thread.c-y += -pg
86cflags-remove-spin_lock_debug.c-$(CFG_TEE_CORE_DEBUG) += -pg
87# Tracing abort dump files corrupts the stack trace. So exclude them
88# from profiling.
89cflags-remove-abort.c-y += -pg
90ifeq ($(CFG_UNWIND),y)
91cflags-remove-unwind_arm32.c-y += -pg
92cflags-remove-unwind_arm64.c-$(CFG_ARM64_core) += -pg
93endif
94endif
95