History log of /rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c (Results 1 – 25 of 67)
Revision Date Author Comments
# ae4b70d6 24-Oct-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge "feat(el3-spmc): update FF-A version checks" into integration


# 52a502f9 24-Oct-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge "feat(el3-spmc): enable FFA_MEM_RETRIEVE_MEM_REQ from the hypervisor" into integration


# 3f1c63dd 05-Feb-2025 Jay Monkman <jmonkman@google.com>

feat(el3-spmc): update FF-A version checks

Fixed several version checks that failed with FF-A 1.2.

Change-Id: Idb37795e25eaa6f38ac4f065f68f8c8183cd26ea
Signed-off-by: Jay Monkman <jmonkman@google.c

feat(el3-spmc): update FF-A version checks

Fixed several version checks that failed with FF-A 1.2.

Change-Id: Idb37795e25eaa6f38ac4f065f68f8c8183cd26ea
Signed-off-by: Jay Monkman <jmonkman@google.com>
Signed-off-by: Andrei Homescu <ahomescu@google.com>

show more ...


# 7d34c9bb 17-Oct-2024 Andrei Homescu <ahomescu@google.com>

feat(el3-spmc): enable FFA_MEM_RETRIEVE_MEM_REQ from the hypervisor

pKVM calls this FF-A function to retrieve the descriptors
for regions donated/lent/shared by a VM with an SP.

Change-Id: I55f1d67

feat(el3-spmc): enable FFA_MEM_RETRIEVE_MEM_REQ from the hypervisor

pKVM calls this FF-A function to retrieve the descriptors
for regions donated/lent/shared by a VM with an SP.

Change-Id: I55f1d675db741bc8ddaaacae0d4d60245000fb34
Signed-off-by: Andrei Homescu <ahomescu@xwf.google.com>

show more ...


# 030e4d0c 23-Oct-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge "fix(el3-spmc): validate fragment offset" into integration


# c55b519e 17-Oct-2025 Andrei Homescu <ahomescu@xwf.google.com>

fix(el3-spmc): validate fragment offset

Per Table 4.3 of DEN 0140 1.3ALP0, the fragment offset passed to
FFA_MEM_FRAG_RX has the following requirement:

Offset must be equal to one of the followin

fix(el3-spmc): validate fragment offset

Per Table 4.3 of DEN 0140 1.3ALP0, the fragment offset passed to
FFA_MEM_FRAG_RX has the following requirement:

Offset must be equal to one of the following:
– The number of bytes of the transaction descriptor
transmitted prior to the invocation of this
interface.
– The offset used in the previous invocation of this
interface. This allows the Sender to re-transmit
the previous fragment if the Receiver could not
receive it due to an IMPLEMENTATION DEFINED
reason.

Keep track of the last and next fragment offsets between calls
to FFA_MEM_RETRIEVE_REQ and FFA_MEM_FRAG_RX and validate the
fragment offset, returning INVALID_PARAMETERS if it doesn't match
one of the two expected values.

BREAKING CHANGE: no longer accepts invalid fragment offsets

Change-Id: If549bb62a1960e9367d14bae842cb4e289429669
Signed-off-by: Andrei Homescu <ahomescu@xwf.google.com>

show more ...


# 169505a4 20-Oct-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge "fix(el3-spmc): do not check NS bit for fragments" into integration


# 153eb4c8 18-Oct-2025 Andrei Homescu <ahomescu@xwf.google.com>

fix(el3-spmc): do not check NS bit for fragments

We set the internal NS bit for memory transaction descriptors
after the first fragment. Skip the validation check on that NS
bit on every fragment af

fix(el3-spmc): do not check NS bit for fragments

We set the internal NS bit for memory transaction descriptors
after the first fragment. Skip the validation check on that NS
bit on every fragment after the first one, because by then
the bit will always be 1.

Change-Id: I2a9bff12ed5c3979b9d626ab33aac0115d81e2d1
Signed-off-by: Andrei Homescu <ahomescu@xwf.google.com>

show more ...


# 90792ba0 16-Oct-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(el3-spmc): set NS bit by default and clear it as needed" into integration


# cb2e5746 31-Oct-2024 Andrei Homescu <ahomescu@google.com>

fix(el3-spmc): set NS bit by default and clear it as needed

EL3-SPMC currently only supports sharing and lending memory
from NS to the secure world (DONATE is not supported).
That means that the NS

fix(el3-spmc): set NS bit by default and clear it as needed

EL3-SPMC currently only supports sharing and lending memory
from NS to the secure world (DONATE is not supported).
That means that the NS bit should always be set,
except for a few cases:
* The operation is a LEND (NS->S), or
* The NS bit is not supported, i.e., v1.0 where the bit
was not explicitly negotiated.

Change-Id: I00966a552906ebbe2675b4352afe5e85387e5775
Signed-off-by: Andrei Homescu <ahomescu@xwf.google.com>

show more ...


# 640175ce 17-Apr-2025 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge "fix(el3-spmc): fix FF-A v1.2 version check" into integration


# 6feaad6c 09-Jan-2025 Jens Wiklander <jens.wiklander@linaro.org>

fix(el3-spmc): fix FF-A v1.2 version check

The two functions spmc_validate_mtd_start() and spmc_ffa_mem_send()
check FF-A version used with an end-point to determine the expected
minimal size of the

fix(el3-spmc): fix FF-A v1.2 version check

The two functions spmc_validate_mtd_start() and spmc_ffa_mem_send()
check FF-A version used with an end-point to determine the expected
minimal size of the memory transaction descriptor. However, they haven't
been updated for FF-A 1.2. So fix the two functions to take version 1.2
and beyond into account and use the version 1.1 size for the memory
transaction.

Change-Id: I86b9092eff7c4df557ee43522c680e3bf92199ba
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# abe80629 25-Jul-2023 Olivier Deprez <olivier.deprez@arm.com>

Merge "fix(el3-spmc): fix incorrect CASSERT" into integration


# 1dd79f9e 12-Jun-2023 Demi Marie Obenour <demiobenour@gmail.com>

fix(el3-spmc): fix incorrect CASSERT

Check that the size of desc->emad_count is 4, not that sizeof(int) is
nonzero. Also improve a comment.

Change-Id: I8bf69b637158ddffe2d08aed3d9879a4d7fd3514
Sig

fix(el3-spmc): fix incorrect CASSERT

Check that the size of desc->emad_count is 4, not that sizeof(int) is
nonzero. Also improve a comment.

Change-Id: I8bf69b637158ddffe2d08aed3d9879a4d7fd3514
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>

show more ...


# f6b8e725 22-Jun-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes I08300ec4,I0f6fa9ce,I8f0a659a into integration

* changes:
refactor(el3-spmc): add comments and cleanup code
refactor(el3-spmc): avoid extra loop
fix(el3-spmc): validate memory ad

Merge changes I08300ec4,I0f6fa9ce,I8f0a659a into integration

* changes:
refactor(el3-spmc): add comments and cleanup code
refactor(el3-spmc): avoid extra loop
fix(el3-spmc): validate memory address alignment

show more ...


# 95c56cb1 15-Jan-2023 Demi Marie Obenour <demiobenour@gmail.com>

refactor(el3-spmc): add comments and cleanup code

No functional change intended.

Change-Id: I08300ec4cb2e11d26c4a108769919d0c474292ff
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>


# b8007beb 15-Jan-2023 Demi Marie Obenour <demiobenour@gmail.com>

refactor(el3-spmc): avoid extra loop

Using one loop for the duplicate partition ID check is both simpler and
faster.

Change-Id: I0f6fa9ceb1aadf4383fa9be16605c39ad8643a43
Signed-off-by: Demi Marie O

refactor(el3-spmc): avoid extra loop

Using one loop for the duplicate partition ID check is both simpler and
faster.

Change-Id: I0f6fa9ceb1aadf4383fa9be16605c39ad8643a43
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>

show more ...


# 327b5b8b 15-Jan-2023 Demi Marie Obenour <demiobenour@gmail.com>

fix(el3-spmc): validate memory address alignment

This ensures that addresses shared using FF-A are 4K aligned, as
required by the specification.

Change-Id: I8f0a659a095fdb9391398757141d613ac9bf9b42

fix(el3-spmc): validate memory address alignment

This ensures that addresses shared using FF-A are 4K aligned, as
required by the specification.

Change-Id: I8f0a659a095fdb9391398757141d613ac9bf9b42
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>

show more ...


# e779c1af 20-Jun-2023 Olivier Deprez <olivier.deprez@arm.com>

Merge changes Ic58f4966,Ib7b438b8,I400f0f1f into integration

* changes:
refactor(el3-spmc): add comments
refactor(el3-spmc): move checks after loop
refactor(el3-spmc): validate alignment earli

Merge changes Ic58f4966,Ib7b438b8,I400f0f1f into integration

* changes:
refactor(el3-spmc): add comments
refactor(el3-spmc): move checks after loop
refactor(el3-spmc): validate alignment earlier

show more ...


# 794c409f 15-Jan-2023 Demi Marie Obenour <demiobenour@gmail.com>

refactor(el3-spmc): add comments

Change-Id: Ic58f4966159cafa83eec8e6b18a96b0a8b2ce781
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>


# 966c63e6 15-Jan-2023 Demi Marie Obenour <demiobenour@gmail.com>

refactor(el3-spmc): move checks after loop

This makes the code cleaner. No functional change intended.

Change-Id: Ib7b438b830e8e3b7ac6e30d688f5172cbaa58121
Signed-off-by: Demi Marie Obenour <demio

refactor(el3-spmc): move checks after loop

This makes the code cleaner. No functional change intended.

Change-Id: Ib7b438b830e8e3b7ac6e30d688f5172cbaa58121
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>

show more ...


# 27ac582a 15-Jan-2023 Demi Marie Obenour <demiobenour@gmail.com>

refactor(el3-spmc): validate alignment earlier

Future changes will cause spmc_shmem_obj_get_comp_mrd to panic instead
of returning NULL, so be sure that comp_mrd_offset has been validated
already.

refactor(el3-spmc): validate alignment earlier

Future changes will cause spmc_shmem_obj_get_comp_mrd to panic instead
of returning NULL, so be sure that comp_mrd_offset has been validated
already. The existing code checks for 8-byte alignment, but comments in
el3_spmc_ffa_memory.h indicate that 16-byte alignment is expected, so
require 16-byte alignment.

Change-Id: I400f0f1f163522cb5ea77d4811c91e8b7e655c18
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>

show more ...


# c161772f 08-Jun-2023 Olivier Deprez <olivier.deprez@arm.com>

Merge "refactor(el3-spmc): add emad_advance()" into integration


# 396ea00a 06-Jun-2023 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge changes I907f3862,Ie749ff06,If8da2bb1,I457deb0b into integration

* changes:
fix(el3-spmc): validate shmem descriptor alignment
refactor(el3-spmc): avoid using EINVAL
fix(el3-spmc): avoid

Merge changes I907f3862,Ie749ff06,If8da2bb1,I457deb0b into integration

* changes:
fix(el3-spmc): validate shmem descriptor alignment
refactor(el3-spmc): avoid using EINVAL
fix(el3-spmc): avoid descriptor size calc overflow
fix(el3-spmc): use uint64_t for 64-bit type

show more ...


# dbe4765c 06-Jun-2023 Manish Pandey <manish.pandey2@arm.com>

Merge "refactor(el3-spmc): avoid unneeded function call" into integration


123