]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
SPMD: enable SPM dispatcher support
authorAchin Gupta <achin.gupta@arm.com>
Fri, 11 Oct 2019 14:50:43 +0000 (15:50 +0100)
committerMax Shvetsov <maksims.svecovs@arm.com>
Mon, 10 Feb 2020 14:09:21 +0000 (14:09 +0000)
This patch adds support to the build system to include support for the SPM
dispatcher when the SPD configuration option is spmd.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: Ic1ae50ecd7403fcbcf1d318abdbd6ebdc642f732

Makefile
bl31/bl31.mk
plat/arm/common/arm_common.mk

index 5167d2e53b3ccf4e5444a5a316df7d9bac0ae6b5..0d8ddd8e1214afc66be7cd6cafae26c2d869a882 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -418,11 +418,20 @@ ifdef EL3_PAYLOAD_BASE
         $(warning "SPD and EL3_PAYLOAD_BASE are incompatible build options.")
         $(warning "The SPD and its BL32 companion will be present but ignored.")
 endif
-        # We expect to locate an spd.mk under the specified SPD directory
-        SPD_MAKE       :=      $(wildcard services/spd/${SPD}/${SPD}.mk)
+       ifeq (${SPD},spmd)
+               # SPMD is located in std_svc directory
+               SPD_DIR := std_svc
+       else
+               # All other SPDs in spd directory
+               SPD_DIR := spd
+       endif
+
+       # We expect to locate an spd.mk under the specified SPD directory
+       SPD_MAKE        :=      $(wildcard services/${SPD_DIR}/${SPD}/${SPD}.mk)
+
 
         ifeq (${SPD_MAKE},)
-                $(error Error: No services/spd/${SPD}/${SPD}.mk located)
+                $(error Error: No services/${SPD_DIR}/${SPD}/${SPD}.mk located)
         endif
         $(info Including ${SPD_MAKE})
         include ${SPD_MAKE}
index 58909e84a29209a2423612f9c7df1e9a170988d3..0948e94e0925b7d49cd3bc1f910a8b722595fd9f 100644 (file)
@@ -31,6 +31,7 @@ BL31_SOURCES          +=      bl31/bl31_main.c                                \
                                services/arm_arch_svc/arm_arch_svc_setup.c      \
                                services/std_svc/std_svc_setup.c                \
                                ${PSCI_LIB_SOURCES}                             \
+                               ${SPMD_SOURCES}                                 \
                                ${SPM_SOURCES}
 
 
index 9f4bc21077a3a17d62cac7d51f3d403e087b88c4..d2578b777c46aa537768db66f67593e26e6d9424 100644 (file)
@@ -265,6 +265,13 @@ PLAT_BL_COMMON_SOURCES     +=      plat/arm/common/aarch64/arm_pauth.c     \
                                lib/extensions/pauth/pauth_helpers.S
 endif
 
+ifeq (${SPD},spmd)
+BL31_SOURCES           +=      plat/common/plat_spmd_manifest.c        \
+                               common/fdt_wrappers.c                   \
+                               ${LIBFDT_SRCS}
+
+endif
+
 ifneq (${TRUSTED_BOARD_BOOT},0)
 
     # Include common TBB sources