From 642db9840712044b9c496e04a7acd60580e54117 Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Thu, 23 Sep 2021 09:44:14 +0100 Subject: [PATCH] feat(spmd): allow forwarding of FFA_FRAG_RX/TX calls Enable the SPMD to forward FFA_FRAG_RX/TX calls between the normal world and the SPMC. Signed-off-by: Marc Bonnici Change-Id: I097a48552827a8527dd3efe1155bc601d7cbf887 --- include/services/ffa_svc.h | 4 ++++ services/std_svc/spmd/spmd_main.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/include/services/ffa_svc.h b/include/services/ffa_svc.h index 7f0136cb2..85844899d 100644 --- a/include/services/ffa_svc.h +++ b/include/services/ffa_svc.h @@ -101,6 +101,8 @@ #define FFA_FNUM_MEM_RETRIEVE_RESP U(0x75) #define FFA_FNUM_MEM_RELINQUISH U(0x76) #define FFA_FNUM_MEM_RECLAIM U(0x77) +#define FFA_FNUM_MEM_FRAG_RX U(0x7A) +#define FFA_FNUM_MEM_FRAG_TX U(0x7B) #define FFA_FNUM_NORMAL_WORLD_RESUME U(0x7C) /* FF-A v1.1 */ @@ -156,6 +158,8 @@ #define FFA_NOTIFICATION_GET FFA_FID(SMC_32, FFA_FNUM_NOTIFICATION_GET) #define FFA_NOTIFICATION_INFO_GET \ FFA_FID(SMC_32, FFA_FNUM_NOTIFICATION_INFO_GET) +#define FFA_MEM_FRAG_RX FFA_FID(SMC_32, FFA_FNUM_MEM_FRAG_RX) +#define FFA_MEM_FRAG_TX FFA_FID(SMC_32, FFA_FNUM_MEM_FRAG_TX) #define FFA_SPM_ID_GET FFA_FID(SMC_32, FFA_FNUM_SPM_ID_GET) #define FFA_NORMAL_WORLD_RESUME FFA_FID(SMC_32, FFA_FNUM_NORMAL_WORLD_RESUME) diff --git a/services/std_svc/spmd/spmd_main.c b/services/std_svc/spmd/spmd_main.c index 745c9499c..e38878432 100644 --- a/services/std_svc/spmd/spmd_main.c +++ b/services/std_svc/spmd/spmd_main.c @@ -875,6 +875,8 @@ uint64_t spmd_smc_handler(uint32_t smc_fid, case FFA_MEM_RETRIEVE_RESP: case FFA_MEM_RELINQUISH: case FFA_MEM_RECLAIM: + case FFA_MEM_FRAG_TX: + case FFA_MEM_FRAG_RX: case FFA_SUCCESS_SMC32: case FFA_SUCCESS_SMC64: /*