Browse Source

feat(fvp): add spmd logical partition

This patch changes spmd.mk to include one or more SPMD logical
partitions specific to a platform. It also adds a basic SPMD logical
partition to fvp.

Change-Id: I2075e0458c92813913b28cbf4cfffc1f151e65cf
Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
pull/2000/head
Raghu Krishnamurthy 2 years ago
parent
commit
5cf311f3a4
  1. 30
      plat/arm/board/fvp/fvp_spmd_logical_sp.c
  2. 10
      services/std_svc/spmd/spmd.mk

30
plat/arm/board/fvp/fvp_spmd_logical_sp.c

@ -0,0 +1,30 @@
/*
* Copyright (c) 2023, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <common/debug.h>
#include <services/el3_spmd_logical_sp.h>
#include <services/ffa_svc.h>
#include <smccc_helpers.h>
#define SPMD_LP_PARTITION_ID SPMD_LP_ID_START
#define SPMD_LP_UUID {0xe98e43ad, 0xb7db524f, 0x47a3bf57, 0x1588f4e3}
/* SPMD Logical SP currently only supports sending direct message. */
#define SPMD_PARTITION_PROPERTIES FFA_PARTITION_DIRECT_REQ_SEND
static int32_t fvp_spmd_logical_partition_init(void)
{
INFO("FVP SPMD LSP: Init function called.\n");
return 0;
}
/* Register SPMD logical partition */
DECLARE_SPMD_LOGICAL_PARTITION(
fvp_spmd_logical_partition,
fvp_spmd_logical_partition_init,/* Init Function */
SPMD_LP_PARTITION_ID, /* FF-A Partition ID */
SPMD_LP_UUID, /* UUID */
SPMD_PARTITION_PROPERTIES /* Partition Properties. */
);

10
services/std_svc/spmd/spmd.mk

@ -18,6 +18,16 @@ SPMD_SOURCES += $(addprefix services/std_svc/spmd/, \
spmd_main.c \
spmd_logical_sp.c)
# Specify platform specific SPMD logical partition implementation.
SPMD_LP_SOURCES := $(wildcard $(addprefix ${PLAT_DIR}/, \
${PLAT}_spmd_logical_sp*.c))
ifeq (${ENABLE_SPMD_LP}, 1)
ifneq ($(wildcard $(SPMD_LP_SOURCES)),)
SPMD_SOURCES += $(SPMD_LP_SOURCES)
endif
endif
# Let the top-level Makefile know that we intend to include a BL32 image
NEED_BL32 := yes

Loading…
Cancel
Save