]> git.baikalelectronics.ru Git - arm-tf.git/commit
feat(spmc/mem): add FF-A memory management code
authorMarc Bonnici <marc.bonnici@arm.com>
Fri, 1 Oct 2021 15:06:04 +0000 (16:06 +0100)
committerMarc Bonnici <marc.bonnici@arm.com>
Thu, 19 May 2022 09:57:30 +0000 (10:57 +0100)
commite0b1a6d59e57c0dbe87f5b8f8166f1123664f058
tree0ef11846ce70cb450fd7c4f1f23b8647a63478d8
parentb1470ccc928c45d4ee53f384d8c2d5d39b31b5e1
feat(spmc/mem): add FF-A memory management code

Originally taken from the downstream Trusty SPD [1]
implementation and modified to integrate with
the EL3 SPMC internals.

Add support to the EL3 SPMC for a subset of the FF-A
memory management ABIs:
- FFA_MEM_SHARE
- FFA_MEM_LEND
- FFA_MEM_RETRIEVE_REQ
- FFA_MEM_RETRIEVE_RESP
- FFA_MEM_RELINQUISH
- FFA_MEM_RECLAIM
- FFA_MEM_FRAG_RX
- FFA_MEM_FRAG_TX

This implementation relies on a datastore allocated in
platform specific code in order to store memory descriptors
about ongoing memory transactions. This mechanism
will be implemented in the following commit.

[1] https://android.googlesource.com/trusty/external/trusted-firmware-a/+/refs/heads/master/services/spd/trusty/

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: Ib042f73c8a6e0f0aed00f6762be175cb9dedc042
include/services/el3_spmc_ffa_memory.h [new file with mode: 0644]
services/std_svc/spm/el3_spmc/spmc.mk
services/std_svc/spm/el3_spmc/spmc_main.c
services/std_svc/spm/el3_spmc/spmc_shared_mem.c [new file with mode: 0644]
services/std_svc/spm/el3_spmc/spmc_shared_mem.h [new file with mode: 0644]