| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 75f364b3 | 27-Mar-2019 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
SPM: Adjust size of virtual address space per partition
Rather than using a fixed virtual address space size, read all regions in the resource description of each partition and restrict the virtual
SPM: Adjust size of virtual address space per partition
Rather than using a fixed virtual address space size, read all regions in the resource description of each partition and restrict the virtual address space size to the one the partition actually needs.
This also allows SPM to take advantage of the extension ARMv8.4-TTST if the virtual address space size is small enough.
Change-Id: I8646aa95e659136b58b44b040364cdee631f7e82 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 014df18b | 27-Mar-2019 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
SPM: Refactor xlat context creation
Right now the virtual address space is fixed to PLAT_VIRT_ADDR_SPACE_SIZE, so all base translation tables are the same size and need the same alignment. The curre
SPM: Refactor xlat context creation
Right now the virtual address space is fixed to PLAT_VIRT_ADDR_SPACE_SIZE, so all base translation tables are the same size and need the same alignment. The current code allocates the exact space needed by this initial table.
However, a following patch is going to allow each partition to choose the size of its address space based on the memory regions defined in their resource description, so it isn't possible to determine this at build time. As this optimization no longer applies, it has to be removed.
Change-Id: Ia8d19f4981e1017e4ffe0ba136de73d701044cb0 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 6de6965b | 27-Mar-2019 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
SPM: Move shim layer to TTBR1_EL1
This gives each Secure Partition complete freedom on its address space. Previously, the memory used by the exception vectors was reserved and couldn't be used. Also
SPM: Move shim layer to TTBR1_EL1
This gives each Secure Partition complete freedom on its address space. Previously, the memory used by the exception vectors was reserved and couldn't be used. Also, it always had to be mapped, forcing SPM to generate translation tables that included the exception vectors as well as the Partition memory regions. With this change, partitions can reduce their address space size easily.
Change-Id: I67fb5e9bdf2870b73347f23bff702fab0a8f8711 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 7a79328c | 27-Feb-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
SPM: Create SPCI auxiliary function
Fix variable shadowing warnings and prevent code duplication.
Change-Id: Idb29cc95d6b6943bc012d7bd430afa0e4a7cbf8c Signed-off-by: Ambroise Vincent <ambroise.vinc
SPM: Create SPCI auxiliary function
Fix variable shadowing warnings and prevent code duplication.
Change-Id: Idb29cc95d6b6943bc012d7bd430afa0e4a7cbf8c Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
show more ...
|