mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00
refactor(smccc): refactor vendor-el3 build
Currently we are building vendor-specific EL3 by default similar to arm-sip but unfortunately this causes few troubles for now. - Few model builds configuration like 'fvp-dynamiq-aarch64-only' is on 256KB SRAM border and this configuration is also run on some older models like A710 and N2, so we cant move them to 384KB SRAM size and to new model. - Not able to move some older model builds to new model due to known issue in power modelling in some of the models, making it difficult to transition. However vendor-specific EL3 is currently using PMF, DEBUGFS so building the vendor EL3 support only when any of this sub-service is built also helps to avoid bloating BL31 image size in certain configurations. However this is not end of road, we will monitor how vendor-specific EL3 grows with sub-service and if needed will make this interface to built by default like arm-sip range. Also this doesn't stop platform owners to make vendor-specific EL3 to be enabled by default for their platform configuration. Change-Id: I23322574bdeb7179441a580ad4f093216a948bbf Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
This commit is contained in:
parent
320fb2939b
commit
3c225878ee
2 changed files with 8 additions and 5 deletions
|
@ -45,7 +45,6 @@ BL31_SOURCES += bl31/bl31_main.c \
|
||||||
lib/cpus/aarch64/dsu_helpers.S \
|
lib/cpus/aarch64/dsu_helpers.S \
|
||||||
plat/common/aarch64/platform_mp_stack.S \
|
plat/common/aarch64/platform_mp_stack.S \
|
||||||
services/arm_arch_svc/arm_arch_svc_setup.c \
|
services/arm_arch_svc/arm_arch_svc_setup.c \
|
||||||
services/el3/ven_el3_svc.c \
|
|
||||||
services/std_svc/std_svc_setup.c \
|
services/std_svc/std_svc_setup.c \
|
||||||
${PSCI_LIB_SOURCES} \
|
${PSCI_LIB_SOURCES} \
|
||||||
${SPMD_SOURCES} \
|
${SPMD_SOURCES} \
|
||||||
|
@ -53,13 +52,17 @@ BL31_SOURCES += bl31/bl31_main.c \
|
||||||
${SPMC_SOURCES} \
|
${SPMC_SOURCES} \
|
||||||
${SPM_SOURCES}
|
${SPM_SOURCES}
|
||||||
|
|
||||||
|
VENDOR_EL3_SRCS += services/el3/ven_el3_svc.c
|
||||||
|
|
||||||
ifeq (${ENABLE_PMF}, 1)
|
ifeq (${ENABLE_PMF}, 1)
|
||||||
BL31_SOURCES += lib/pmf/pmf_main.c
|
BL31_SOURCES += lib/pmf/pmf_main.c \
|
||||||
|
${VENDOR_EL3_SRCS}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include lib/debugfs/debugfs.mk
|
include lib/debugfs/debugfs.mk
|
||||||
ifeq (${USE_DEBUGFS},1)
|
ifeq (${USE_DEBUGFS},1)
|
||||||
BL31_SOURCES += $(DEBUGFS_SRCS)
|
BL31_SOURCES += ${DEBUGFS_SRCS} \
|
||||||
|
${VENDOR_EL3_SRCS}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (${PLATFORM_REPORT_CTX_MEM_USE},1)
|
ifeq (${PLATFORM_REPORT_CTX_MEM_USE},1)
|
||||||
|
|
|
@ -18,12 +18,12 @@ BL32_SOURCES += bl32/sp_min/sp_min_main.c \
|
||||||
common/runtime_svc.c \
|
common/runtime_svc.c \
|
||||||
plat/common/aarch32/plat_sp_min_common.c \
|
plat/common/aarch32/plat_sp_min_common.c \
|
||||||
services/arm_arch_svc/arm_arch_svc_setup.c \
|
services/arm_arch_svc/arm_arch_svc_setup.c \
|
||||||
services/el3/ven_el3_svc.c \
|
|
||||||
services/std_svc/std_svc_setup.c \
|
services/std_svc/std_svc_setup.c \
|
||||||
${PSCI_LIB_SOURCES}
|
${PSCI_LIB_SOURCES}
|
||||||
|
|
||||||
ifeq (${ENABLE_PMF}, 1)
|
ifeq (${ENABLE_PMF}, 1)
|
||||||
BL32_SOURCES += lib/pmf/pmf_main.c
|
BL32_SOURCES += services/el3/ven_el3_svc.c \
|
||||||
|
lib/pmf/pmf_main.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (${ENABLE_FEAT_AMU},0)
|
ifneq (${ENABLE_FEAT_AMU},0)
|
||||||
|
|
Loading…
Add table
Reference in a new issue