Browse Source

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>
pull/2000/merge
Govindraj Raja 6 months ago
parent
commit
3c225878ee
  1. 9
      bl31/bl31.mk
  2. 4
      bl32/sp_min/sp_min.mk

9
bl31/bl31.mk

@ -45,7 +45,6 @@ BL31_SOURCES += bl31/bl31_main.c \
lib/cpus/aarch64/dsu_helpers.S \
plat/common/aarch64/platform_mp_stack.S \
services/arm_arch_svc/arm_arch_svc_setup.c \
services/el3/ven_el3_svc.c \
services/std_svc/std_svc_setup.c \
${PSCI_LIB_SOURCES} \
${SPMD_SOURCES} \
@ -53,13 +52,17 @@ BL31_SOURCES += bl31/bl31_main.c \
${SPMC_SOURCES} \
${SPM_SOURCES}
VENDOR_EL3_SRCS += services/el3/ven_el3_svc.c
ifeq (${ENABLE_PMF}, 1)
BL31_SOURCES += lib/pmf/pmf_main.c
BL31_SOURCES += lib/pmf/pmf_main.c \
${VENDOR_EL3_SRCS}
endif
include lib/debugfs/debugfs.mk
ifeq (${USE_DEBUGFS},1)
BL31_SOURCES += $(DEBUGFS_SRCS)
BL31_SOURCES += ${DEBUGFS_SRCS} \
${VENDOR_EL3_SRCS}
endif
ifeq (${PLATFORM_REPORT_CTX_MEM_USE},1)

4
bl32/sp_min/sp_min.mk

@ -18,12 +18,12 @@ BL32_SOURCES += bl32/sp_min/sp_min_main.c \
common/runtime_svc.c \
plat/common/aarch32/plat_sp_min_common.c \
services/arm_arch_svc/arm_arch_svc_setup.c \
services/el3/ven_el3_svc.c \
services/std_svc/std_svc_setup.c \
${PSCI_LIB_SOURCES}
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
ifneq (${ENABLE_FEAT_AMU},0)

Loading…
Cancel
Save