| d5fe9235 | 24-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): support FFA_ID_GET ABI
Allow for a partition to retrieve its own partition ID.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I1a19ac30b86736d818673c239b2f8fd2d6128c06 |
| 55a29638 | 13-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add FFA_FEATURES handler
Enable the spmc to report the features that it currently supports. Populated with the currently implemented functionality.
Signed-off-by: Marc Bonnici <marc.bon
feat(spmc): add FFA_FEATURES handler
Enable the spmc to report the features that it currently supports. Populated with the currently implemented functionality.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I00e51ded284efd87cd50a0e9416dbc33f22ced85
show more ...
|
| f74e2772 | 17-Aug-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add FFA_PARTITION_INFO_GET handler
Enable the SPMC to handle calls to FFA_PARTITION_INFO_GET. This allows the normal world to discover which partitions are running in the secure world in
feat(spmc): add FFA_PARTITION_INFO_GET handler
Enable the SPMC to handle calls to FFA_PARTITION_INFO_GET. This allows the normal world to discover which partitions are running in the secure world including logical partitions in EL3.
This implementation supports both the v1.0 and v1.1 implementations of the Partition Info Get Descriptor. The SPMC populates the appropriate descriptor in the partitions RX buffer, if requested, according to the version of FF-A that the caller is using.
Additionally rename the common/uuid UUID_H include guard due to a conflict with another header file.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I0a85f1dae50fae1fe47a3cafb765fbe9f40619e1
show more ...
|
| 1a752245 | 25-Aug-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): enable handling FF-A RX/TX Mapping ABIs
Enable handling of FFA_RXTX_MAP and FFA_RXTX_UNMAP ABIs and ensure these buffers are mapped as required to allow access by the SPMC.
Signed-off-b
feat(spmc): enable handling FF-A RX/TX Mapping ABIs
Enable handling of FFA_RXTX_MAP and FFA_RXTX_UNMAP ABIs and ensure these buffers are mapped as required to allow access by the SPMC.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: Ifc425f1ee16c90d1d95b6ae4ac9992d6f785227b
show more ...
|
| 15dd6f19 | 19-Apr-2022 |
Nishant Sharma <nishant.sharma@arm.com> |
feat(spm_mm): add support to save and restore fp regs
Add the support to save Nwd's floating point registers before switching to SEL0 and then restore it after coming out of it. Emit a warning messa
feat(spm_mm): add support to save and restore fp regs
Add the support to save Nwd's floating point registers before switching to SEL0 and then restore it after coming out of it. Emit a warning message if SPM_MM is built with CTX_INCLUDE_FPREGS == 0
There is no need to save FP registers of SEL0 because secure partitions run to completion.
This change is used to prevent context corruption if secure partition enabled and Nwd decide to use floating point registers.
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com> Change-Id: I1eea16ea2311a4f00a806ea72c118752821b9abb
show more ...
|
| c2b14343 | 09-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add helper to obtain a partitions FF-A version
Add a helper function to obtain the FF-A version of a calling partition. This is used to ensure that the SPMC maintains backwards compatibi
feat(spmc): add helper to obtain a partitions FF-A version
Add a helper function to obtain the FF-A version of a calling partition. This is used to ensure that the SPMC maintains backwards compatibility if the partition implements a lower minor version for the same major version than the SPMC.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I5b364a1e510a999bb0c4cacae28f23f8a42a1e3e
show more ...
|
| 9576fa93 | 08-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmd): enable SPMD to forward FFA_VERSION to EL3 SPMC
In order to allow the EL3 SPMC to know the FF-A version of the entity running in the normal world, allow the SPMD to forward the call rathe
feat(spmd): enable SPMD to forward FFA_VERSION to EL3 SPMC
In order to allow the EL3 SPMC to know the FF-A version of the entity running in the normal world, allow the SPMD to forward the call rather than replying on its behalf.
This solution works as the EL3 can ERET directly back to the calling partition however this is not an option when the SPMC resides in a lower exception level. A new approach will be required to support such scenario.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: Ic2d6e49c06340167eadefe893c6e1e20b67ab498
show more ...
|
| 0c7707fd | 08-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): enable handling FFA_VERSION ABI
Report the SPMC version to the caller, currently v1.1 and also store the requested version to allow the SPMC to use the corresponding FF-A version in futu
feat(spmc): enable handling FFA_VERSION ABI
Report the SPMC version to the caller, currently v1.1 and also store the requested version to allow the SPMC to use the corresponding FF-A version in future ABI calls.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I79aafd1e6694cbd4b231bbd0cac5834a71063d79
show more ...
|
| f16b6ee3 | 24-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add helper function to obtain endpoint mailbox
Add a helper function to obtain the relevant mailbox buffers depending on which entity was last run. This will be used in subsequent functi
feat(spmc): add helper function to obtain endpoint mailbox
Add a helper function to obtain the relevant mailbox buffers depending on which entity was last run. This will be used in subsequent functionality to populate requested information in the callers RX buffer.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I85959ced4d1454be05a7b3fb6853ed3ab7f0cf3e
show more ...
|
| a7c00505 | 24-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add helper function to obtain hyp structure
We assume that the first descriptor in the normal world endpoints is reserved for the hypervisor and add a helper function to enable retrievin
feat(spmc): add helper function to obtain hyp structure
We assume that the first descriptor in the normal world endpoints is reserved for the hypervisor and add a helper function to enable retrieving this directly.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I67c3589994eb820ef420db6ab7e8bd0825d64455
show more ...
|
| 3de378ff | 09-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): enable parsing of messaging methods from manifest
Ensure that the `messaging-methods` entry is populated in an SP's manifest. Currently only direct messaging is supported so alert if thi
feat(spmc): enable parsing of messaging methods from manifest
Ensure that the `messaging-methods` entry is populated in an SP's manifest. Currently only direct messaging is supported so alert if this does not match the manifest entry.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I67f1fad71a3507627993a004e0f8579388faf178
show more ...
|
| 5b0219dd | 09-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): enable checking of execution ctx count
This is a mandatory entry in an SP's manifest however currently an S-EL1 partition running under the EL3 SPMC must have the same amount of executio
feat(spmc): enable checking of execution ctx count
This is a mandatory entry in an SP's manifest however currently an S-EL1 partition running under the EL3 SPMC must have the same amount of execution contexts as physical cores therefore just check the entry matches this value.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I4c2a85ccde7a7bb9b1232cf6389a8c532cbf3d41
show more ...
|
| 857f5790 | 24-Aug-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): enable parsing of UUID from SP Manifest
To align with other SPMC implementations parse the UUID from the SP manifest as 4 uint32 values and store this internally.
Change-Id: I7de5d5ef8d
feat(spmc): enable parsing of UUID from SP Manifest
To align with other SPMC implementations parse the UUID from the SP manifest as 4 uint32 values and store this internally.
Change-Id: I7de5d5ef8d98dc14bc7c76892133c2333358a379 Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
show more ...
|
| e1df6008 | 02-Sep-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add partition mailbox structs
Add mailbox structs to the partition descriptors and ensure these are initialised correctly.
Change-Id: Ie80166d19763c266b6a1d23e351d312dc31fb221 Signed-of
feat(spmc): add partition mailbox structs
Add mailbox structs to the partition descriptors and ensure these are initialised correctly.
Change-Id: Ie80166d19763c266b6a1d23e351d312dc31fb221 Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
show more ...
|
| a34ccd4c | 19-Aug-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
test(plat/fvp/lsp): add example logical partition
Add an example logical partition to the FVP platform that simply prints and echos the contents of a direct request with the appropriate direct respo
test(plat/fvp/lsp): add example logical partition
Add an example logical partition to the FVP platform that simply prints and echos the contents of a direct request with the appropriate direct response.
Change-Id: Ib2052c9a63a74830e5e83bd8c128c5f9b0d94658 Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
show more ...
|
| 7affa25c | 14-Feb-2022 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc/lsp): add logical partition framework
Introduce a framework to support running logical partitions alongside the SPMC in EL3 as per the v1.1 FF-A spec.
The DECLARE_LOGICAL_PARTITION macro
feat(spmc/lsp): add logical partition framework
Introduce a framework to support running logical partitions alongside the SPMC in EL3 as per the v1.1 FF-A spec.
The DECLARE_LOGICAL_PARTITION macro has been added to simplify the process to define a Logical Partition. The partitions themselves are statically allocated with the descriptors placed in RO memory.
It is assumed that the MAX_EL3_LP_DESCS_COUNT will be defined by the platform.
Change-Id: I1c2523e0ad2d9c5d36aeeef6b8bcb1e80db7c443 Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
show more ...
|
| 65b13bac | 22-Apr-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "ffa_el3_spmc" into integration
* changes: feat(spmc): add support for direct req/resp feat(spmc): add support for handling FFA_ERROR ABI feat(spmc): add support for F
Merge changes from topic "ffa_el3_spmc" into integration
* changes: feat(spmc): add support for direct req/resp feat(spmc): add support for handling FFA_ERROR ABI feat(spmc): add support for FFA_MSG_WAIT feat(spmc): add function to determine the return path from the SPMC feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3 feat(spmd): update SPMC init flow to use EL3 implementation feat(spmc): add FF-A secure partition manager core feat(spmc): prevent read only xlat tables with the EL3 SPMC feat(spmc): enable building of the SPMC at EL3 refactor(spm_mm): reorganize secure partition manager code
show more ...
|
| 6f867496 | 21-Apr-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "feat(spm): add FFA_RX_ACQUIRE forwarding in SPMD" into integration |
| 9741327d | 29-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add support for direct req/resp
Enable the SPMC to handle FFA_MSG_SEND_DIRECT_REQ and FFA_MSG_SEND_DIRECT_RESP ABIs.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: Ia196c
feat(spmc): add support for direct req/resp
Enable the SPMC to handle FFA_MSG_SEND_DIRECT_REQ and FFA_MSG_SEND_DIRECT_RESP ABIs.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: Ia196c7405993f600e4fdbf467397ea3fb035a62a
show more ...
|
| d663fe7a | 10-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add support for handling FFA_ERROR ABI
This ABI is only valid during SP initialisation to indicate failure. If this occurs during SP initialisation signal a failure, otherwise respond wi
feat(spmc): add support for handling FFA_ERROR ABI
This ABI is only valid during SP initialisation to indicate failure. If this occurs during SP initialisation signal a failure, otherwise respond with a not supported error code.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I0182a1641c0f6850e82173af333be79b594f2318
show more ...
|
| c4db76f0 | 29-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add support for FFA_MSG_WAIT
Handle an incoming call of FFA_MSG_WAIT from the secure world and update the runtime state of the calling partition accordingly.
This ABI can be called in t
feat(spmc): add support for FFA_MSG_WAIT
Handle an incoming call of FFA_MSG_WAIT from the secure world and update the runtime state of the calling partition accordingly.
This ABI can be called in the following scenarios: - Used by an SP to signal it has finished initializing. - To resume the normal world after handling a secure interrupt that interrupted the normal world. - To relinquish control back to the normal world.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I929713a2280e8ec291b5b4e8f6d4b49df337228c
show more ...
|
| 20fae0a7 | 29-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add function to determine the return path from the SPMC
Use knowledge of the target partition ID and source security state to determine which route should be used to exit the SPMC.
Ther
feat(spmc): add function to determine the return path from the SPMC
Use knowledge of the target partition ID and source security state to determine which route should be used to exit the SPMC.
There are 3 exit paths: 1) Return to the normal world via the SPMD, this will take care of switching contexts if required. 2) Return to the secure world when the call originated in the normal world and therefore switch contexts. 3) Return to the secure world when the call originated in the secure world, therefore we can return directly.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I4037f3a8a8519e2c9f1876be92806d2c41d0d154
show more ...
|
| bb01a673 | 29-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3
Any FF-A SMC that arrives from the normal world is handled by the SPMD before being forwarded to the SPMC. Similarly any SMC arriving fr
feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3
Any FF-A SMC that arrives from the normal world is handled by the SPMD before being forwarded to the SPMC. Similarly any SMC arriving from the secure world will hit the SPMC first and be forwarded to the SPMD if required, otherwise the SPMC will respond directly.
This allows for the existing flow of handling FF-A ABI's when the SPMC resides at a lower EL to be preserved.
In order to facilitate this flow the spmd_smc_forward function has been split and control is either passed to the SPMC or it is forwarded as before. To allow this the flags and cookie parameters must now also be passed into this method as the SPMC must be able to provide these when calling back into the SPMD handler as appropriate.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I84fee8390023295b9689067e14cd25cba23ca39b
show more ...
|
| 6da76075 | 29-Nov-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmd): update SPMC init flow to use EL3 implementation
Allow the SPMD to initialise an SPMC implementation at EL3 directly rather than at a lower EL. This includes removing the requirement to p
feat(spmd): update SPMC init flow to use EL3 implementation
Allow the SPMD to initialise an SPMC implementation at EL3 directly rather than at a lower EL. This includes removing the requirement to parse an SPMC manifest to obtain information about the SPMC implementation, in this case since the SPMD and SPMC reside in the same EL we can hardcode the required information directly.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I66d1e1b3ec2d0abbfc28b011a32445ee890a331d
show more ...
|
| 5096aeb2 | 01-Dec-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add FF-A secure partition manager core
This patch introduces the core support for enabling an SPMC in EL3 as per the FF-A spec.
The current implemented functionality is targeted to enab
feat(spmc): add FF-A secure partition manager core
This patch introduces the core support for enabling an SPMC in EL3 as per the FF-A spec.
The current implemented functionality is targeted to enable initialization of the SPMC itself and initial support for bringing up a single S-EL1 SP.
This includes initialization of the SPMC's internal state, parsing of an SP's manifest, preparing the cpu contexts and appropriate system registers for the Secure Partition.
The spmc_smc_handler is the main handler for all incoming SMCs to the SPMC, FF-A ABI handlers and functionality will be implemented in subsequent patches.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: Ib33c240b91e54cbd018a69fec880d02adfbe12b9
show more ...
|