blob: b0536ca46d9ae7a91b5979315615ebae557f7365 [file] [log] [blame]
nabkah01002e5692022-10-10 12:36:46 +01001#
AlexeiFedorov2f30f102023-03-13 19:37:46 +00002# Copyright (c) 2022-2023, Arm Limited. All rights reserved.
nabkah01002e5692022-10-10 12:36:46 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7include branch_protection.mk
8
9REALM_INCLUDES := \
10 -Itftf/framework/include \
11 -Iinclude \
12 -Iinclude/common \
13 -Iinclude/common/${ARCH} \
14 -Iinclude/lib \
Shruti Gupta369955a2023-04-19 18:05:56 +010015 -Iinclude/lib/extensions \
nabkah01002e5692022-10-10 12:36:46 +010016 -Iinclude/lib/${ARCH} \
17 -Iinclude/lib/utils \
18 -Iinclude/lib/xlat_tables \
19 -Iinclude/runtime_services \
20 -Iinclude/runtime_services/host_realm_managment \
21 -Irealm \
AlexeiFedorov2f30f102023-03-13 19:37:46 +000022 -Irealm/aarch64 \
23 -Irealm/include
nabkah01002e5692022-10-10 12:36:46 +010024
25REALM_SOURCES:= \
26 $(addprefix realm/, \
27 aarch64/realm_entrypoint.S \
28 aarch64/realm_exceptions.S \
Arunachalam Ganapathy5f0afde2023-11-20 12:05:50 +000029 realm_exception_report.c \
nabkah01002e5692022-10-10 12:36:46 +010030 realm_debug.c \
nabkah01002e5692022-10-10 12:36:46 +010031 realm_interrupt.c \
Shruti Gupta24597d12023-10-02 10:40:19 +010032 realm_multiple_rec.c \
Shruti Gupta9d0cfe82023-04-17 10:57:26 +010033 realm_pauth.c \
AlexeiFedorov2f30f102023-03-13 19:37:46 +000034 realm_payload_main.c \
35 realm_pmuv3.c \
Shruti Gupta699cd4f2023-09-27 16:46:54 +010036 realm_psci.c \
nabkah01002e5692022-10-10 12:36:46 +010037 realm_rsi.c \
38 realm_shared_data.c \
Arunachalam Ganapathyf3697172023-09-04 15:04:46 +010039 realm_simd.c \
nabkah01002e5692022-10-10 12:36:46 +010040 )
41
42REALM_SOURCES += lib/${ARCH}/cache_helpers.S \
43 lib/${ARCH}/misc_helpers.S \
44 lib/smc/${ARCH}/asm_smc.S \
45 lib/smc/${ARCH}/smc.c \
Javier Almansa Sobrino7c78f7b2024-10-25 11:44:32 +010046 lib/exceptions/${ARCH}/serror.c \
nabkah01002e5692022-10-10 12:36:46 +010047 lib/exceptions/${ARCH}/sync.c \
48 lib/locks/${ARCH}/spinlock.S \
Shruti Gupta369955a2023-04-19 18:05:56 +010049 lib/delay/delay.c \
Arunachalam Ganapathy0bbdc2d2023-04-05 15:30:18 +010050 lib/extensions/fpu/fpu.c \
Arunachalam Ganapathyc1136a82023-04-12 15:24:44 +010051 lib/extensions/sve/aarch64/sve.c \
Arunachalam Ganapathy5b68e202023-06-06 16:31:19 +010052 lib/extensions/sve/aarch64/sve_helpers.S \
53 lib/extensions/sme/aarch64/sme.c \
54 lib/extensions/sme/aarch64/sme_helpers.S
nabkah01002e5692022-10-10 12:36:46 +010055
nabkah01002e5692022-10-10 12:36:46 +010056REALM_LINKERFILE:= realm/realm.ld.S
57
Shruti Gupta9d0cfe82023-04-17 10:57:26 +010058# ARMv8.3 Pointer Authentication support files
59REALM_SOURCES += lib/extensions/pauth/aarch64/pauth.c \
60 lib/extensions/pauth/aarch64/pauth_helpers.S
61
62REALM_INCLUDES += -Iinclude/lib/extensions
63
nabkah01002e5692022-10-10 12:36:46 +010064REALM_DEFINES:=
65$(eval $(call add_define,REALM_DEFINES,ARM_ARCH_MAJOR))
66$(eval $(call add_define,REALM_DEFINES,ARM_ARCH_MINOR))
67$(eval $(call add_define,REALM_DEFINES,ENABLE_BTI))
68$(eval $(call add_define,REALM_DEFINES,ENABLE_PAUTH))
69$(eval $(call add_define,REALM_DEFINES,LOG_LEVEL))
70$(eval $(call add_define,REALM_DEFINES,IMAGE_REALM))