| a52662ed | 25-Jul-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "ffa_mem_perm_get_update" into integration
* changes: feat(spm): update MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 interface feat(el3-spmc): update FFA_MEM_PERM_GET interface |
| 04c39e46 | 24-Mar-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(psci): make pabandon support generic
Support for aborted powerdowns does not require much dedicated code. Rather, it is largely a matter of orchestrating things to happen in the right order.
T
feat(psci): make pabandon support generic
Support for aborted powerdowns does not require much dedicated code. Rather, it is largely a matter of orchestrating things to happen in the right order.
The only exception to this are older secure world dispatchers, which assume that a CPU_SUSPEND call will be terminal and therefore can clobber context. This was patched over in common code and hidden behind a flag. This patch moves this to the dispatchers themselves.
Dispatchers that don't register svc_suspend{_finish} are unaffected. Those that do must save the NS context before clobbering it and restoring in only in case of a pabandon. Due to this operation being non-trivial, this patch makes the assumption that these dispatchers will only be present on hardware that does not support pabandon and therefore does not add any contexting for them. In case this assumption ever changes, asserts are added that should alert us of this change.
Change-Id: I94a907515b782b4d2136c0d274246cfe1d567c0e Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 284c01c6 | 04-Mar-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cm): unify RMM context
setup_realm_context() is the de facto place to put any code that relates to the RMM's context. It is frequently updated and contains the vast majority of code. manage
refactor(cm): unify RMM context
setup_realm_context() is the de facto place to put any code that relates to the RMM's context. It is frequently updated and contains the vast majority of code. manage_extensions_realm() on the other hand is out of date and obscure.
So absorb manage_extensions_realm() and rmm_el2_context_init() into setup_realm_context().
We can also combine the write to sctlr_el2 for all worlds as they should all observe the RES1 values.
Finally, the SPSR_EL2.PAN comment in the realm copy is updated.
Change-Id: I21dccad0c13301e3249db6f6e292beb5d853563e Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 127bd5b1 | 19-Oct-2024 |
Levi Yun <yeoreum.yun@arm.com> |
feat(spm): update MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 interface
Update MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 interface correspondant to FF-A v1.3 memory management protocol's FFA_MEM_PERM_GET interfac
feat(spm): update MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 interface
Update MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 interface correspondant to FF-A v1.3 memory management protocol's FFA_MEM_PERM_GET interface [0].
This adds one input/output parameter with page_count to set search range and get the range having same permssion from base_va.
This change is backward compatible.
Links: https://developer.arm.com/documentation/den0140/latest/ Change-Id: Ib1b19dd433ad018f0c39af3a9ac8dda41358fb02 Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
show more ...
|
| 9bfe78c2 | 27-Sep-2024 |
Levi Yun <yeoreum.yun@arm.com> |
feat(el3-spmc): update FFA_MEM_PERM_GET interface
Update FFA_MEM_PERM_GET interface according to FF-A v1.3 memory management protocol modification [0]. This adds one input/output parameter with page
feat(el3-spmc): update FFA_MEM_PERM_GET interface
Update FFA_MEM_PERM_GET interface according to FF-A v1.3 memory management protocol modification [0]. This adds one input/output parameter with page_count to set search range and get the range having the same permission from base_va.
This change is backward compatible with former FF-A v1.2 interface.
Links: https://developer.arm.com/documentation/den0140/latest/ Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com> Change-Id: I5c9679c9da1126b1df65f22a803776029ab52b12
show more ...
|
| bb9fc8c0 | 05-Feb-2025 |
Jay Monkman <jmonkman@google.com> |
fix(el3-spmc): fixed x8-x17 register handling for FFA 1.2
Changed spmd_smc_switch_state to return all 18 registers for 64 bit calls, and set x8-17 to zero if necessary.
BREAKING CHANGE: Zeroes or f
fix(el3-spmc): fixed x8-x17 register handling for FFA 1.2
Changed spmd_smc_switch_state to return all 18 registers for 64 bit calls, and set x8-17 to zero if necessary.
BREAKING CHANGE: Zeroes or forwards a different set of registers, depending on the FF-A version of the source and destination. E.g. a call from a v1.1 caller to a v1.2 destination will zero out the extended registers, which is different from the old behavior of forwarding everything to EL2 SPMC, but only x0-x7 to the EL3 SPMC.
Change-Id: Ic31755af0fbb117b0ed74565fba9decebab353c4 Signed-off-by: Jay Monkman <jmonkman@google.com> Signed-off-by: Andrei Homescu <ahomescu@google.com>
show more ...
|
| 63696d00 | 09-Jul-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(smccc): introduce TPM Start SMC" into integration |
| 96546b5c | 02-Dec-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(smccc): introduce TPM Start SMC
To support TPM start method compatible with pre-FFA configuration (to support SPM_MM) introduce an SMC FID el3 vendor specific range. This SMC is forwarded to SP
feat(smccc): introduce TPM Start SMC
To support TPM start method compatible with pre-FFA configuration (to support SPM_MM) introduce an SMC FID el3 vendor specific range. This SMC is forwarded to SPM_MM module which converts into a MM_COMMUNICATE to interact with Secure partition.
TPM Start method is mentioned in TCG ACPI spec section 3.3.1 https://trustedcomputinggroup.org/wp-content/uploads/TCG-ACPI-Specification-Version-1.4-Revision-15_pub.pdf
As this patch introduces a new sub service, increment minor version of Vendor EL3 service.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I61698018e6bc33c9b389ac905fe158810af21bfa
show more ...
|
| 6eafc060 | 04-Mar-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cm): gather per-world context management to the same place
The per-world calls are disparate - they get called in different places, are guarded in different ways, and the code is apart.
Si
refactor(cm): gather per-world context management to the same place
The per-world calls are disparate - they get called in different places, are guarded in different ways, and the code is apart.
Since they just need to be called once at boot, add a function that we can call from BL31 and be done with it.
Change-Id: Id0ade302e35f2b00ca37c552a53038942ab7b58e Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| d90bb650 | 23-Jun-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "build(handoff)!: switch to LibTL submodule" into integration |
| d16ad813 | 24-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(services): typecast operands to match data type
This corrects the MISRA violation C2012-10.3: The value of an expression shall not be assigned to an object with a narrower essential type or of a
fix(services): typecast operands to match data type
This corrects the MISRA violation C2012-10.3: The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category. The condition is explicitly checked against 0U, appending 'U' and typecasting for unsigned comparison.
Change-Id: I202cff6a02554fc15965c3906bbb81db97c01d18 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| b5d0740e | 13-May-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
build(handoff)!: switch to LibTL submodule
Removes in-tree Transfer List implementation and updates all references to use the external LibTL submodule. Updates include paths, Makefile macros, and pl
build(handoff)!: switch to LibTL submodule
Removes in-tree Transfer List implementation and updates all references to use the external LibTL submodule. Updates include paths, Makefile macros, and platform integration logic to link with LibTL as a static library.
If you cloned TF-A without the `--recurse-submodules` flag, you can ensure that this submodule is present by running:
git submodule update --init --recursive
BREAKING-CHANGE: LibTL is now included in TF-A as a submodule. Please run `git submodule update --init --recursive` if you encounter issues after migrating to the latest version of TF-A.
Change-Id: I1fa31f7b730066c27985d968698e553b00b07c38 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| ff7daec6 | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): add LFA holding pen logic
Add LFA holding logic to be used by the LFA activate SMC call to manage CPU rendezvous. All CPUs are expected to invoke the LFA activate call for the rendezvous,
feat(lfa): add LFA holding pen logic
Add LFA holding logic to be used by the LFA activate SMC call to manage CPU rendezvous. All CPUs are expected to invoke the LFA activate call for the rendezvous, until then, they will remain on a holding lock. When the final CPU calls LFA activate, it will release the holding lock after completing the activation process on that CPU, allowing the activation process on secondary CPUs to proceed.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: Iff9e40dd87420245fe5844e286d0685c1f0db289
show more ...
|
| 07de22d2 | 16-May-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): add initial implementation for LFA_ACTIVATE
This patch introduces the overall handling of the LFA_ACTIVATE call, including input validation and invocation flow. While this covers the core
feat(lfa): add initial implementation for LFA_ACTIVATE
This patch introduces the overall handling of the LFA_ACTIVATE call, including input validation and invocation flow. While this covers the core implementation, per-component-specific handling will be developed in a separate patch. The respective component callbacks are invoked as part of this logic.
Change-Id: Ie9d4584fc0c0abc9a9faffed62165b4461efed3a Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 67fa182f | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): add initial implementation for LFA_PRIME
This patch introduces the overall handling of the LFA_PRIME call, including input validation and invocation flow. While this covers the core imple
feat(lfa): add initial implementation for LFA_PRIME
This patch introduces the overall handling of the LFA_PRIME call, including input validation and invocation flow. While this covers the core implementation, per-component-specific handling will be developed in a separate patch. The respective component callbacks are invoked as part of this logic.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: Ie13d15d0a060ae5f9704991245d2a65c7d846047
show more ...
|
| 3f7b2862 | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): implement LFA_CANCEL SMC
Check the sanity of the arguments before proceeding with the cancellation request, do platform specific cancellation operation and then reset the live activation
feat(lfa): implement LFA_CANCEL SMC
Check the sanity of the arguments before proceeding with the cancellation request, do platform specific cancellation operation and then reset the live activation states.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I3f43d03f7c7b3e6eb85b58f363b64d3c2b1dc961
show more ...
|
| 06a6f296 | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): implement LFA_GET_INVENTORY SMC
This implementation primarily retrieves activation-related flags for a given fw_seq_id, including whether the firmware is activation capable, whether an up
feat(lfa): implement LFA_GET_INVENTORY SMC
This implementation primarily retrieves activation-related flags for a given fw_seq_id, including whether the firmware is activation capable, whether an update is pending activation, whether it resets the CPU during activation, whether CPU rendezvous is required, and the firmware's UUID. To support this, a platform API is called to determine whether an update is available for the specified fw_seq_id, indicating its pending activation status.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I6e702a8b313386f5668027386845ff2dae9328e7
show more ...
|
| b9dee50c | 30-May-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): implement LFA_GET_INFO SMC and integrate LFA build
Implement the LFA_GET_INFO SMC handler, which retrieves the number of supported firmware components and performs initial setup via the p
feat(lfa): implement LFA_GET_INFO SMC and integrate LFA build
Implement the LFA_GET_INFO SMC handler, which retrieves the number of supported firmware components and performs initial setup via the platform APIs. This forms the entry point for LFA usage and makes component metadata available for later use.
Update the build system to include LFA sources.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I4016615a88706972eff6ea5777dda6d5a3a04074
show more ...
|
| d837ccd8 | 30-May-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(rmm): add placeholder activator callbacks for LFA
Introduce the RMM component's activator structure for use in LFA. The 'prime' and 'activate' callbacks currently return LFA_WRONG_STATE as plac
feat(rmm): add placeholder activator callbacks for LFA
Introduce the RMM component's activator structure for use in LFA. The 'prime' and 'activate' callbacks currently return LFA_WRONG_STATE as placeholders.
These functions will be implemented in subsequent patches in this series to support actual RMM component activation logic.
Change-Id: I899ff51e4065887b7b4bbfbaa827322c51cd215c Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| f647f561 | 30-May-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(bl31): add placeholder activator implementation for LFA
Introduce the BL31 component's activator structure with stub implementations for the 'prime' and 'activate' callbacks.
Both callbacks cu
feat(bl31): add placeholder activator implementation for LFA
Introduce the BL31 component's activator structure with stub implementations for the 'prime' and 'activate' callbacks.
Both callbacks currently return LFA_WRONG_STATE, indicating that activation is not supported or allowed from BL31 in this context.
This activator is registered via get_bl31_activator(), allowing the platform layer to wire it into the LFA framework.
Change-Id: I4279996b218d558a45cd99d5840f0e9f8ee97f90 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| cf48f49f | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): create LFA SMC handler template
As per the specification v1.0[1], added all Live Firmware Activation (LFA) SMCs, including their Function IDs (FIDs) and associated error codes. A dummy ha
feat(lfa): create LFA SMC handler template
As per the specification v1.0[1], added all Live Firmware Activation (LFA) SMCs, including their Function IDs (FIDs) and associated error codes. A dummy handler function has been created as a template. Subsequent patches will implement the handling of these SMCs.
[1]: https://developer.arm.com/documentation/den0147/latest/
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I5d6500dcff35aa4a438cd5f97f349cd57406ddce
show more ...
|
| 50d1ce3d | 19-Jun-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes Ia34bc0f4,I0be3773b,I701e357a,Icdbe1992 into integration
* changes: refactor(versal2): guard handoff logic w/ build flag refactor(qemu): guard handoff logic w/ build flag refacto
Merge changes Ia34bc0f4,I0be3773b,I701e357a,Icdbe1992 into integration
* changes: refactor(versal2): guard handoff logic w/ build flag refactor(qemu): guard handoff logic w/ build flag refactor(optee): guard handoff logic w/ build flag feat(handoff): support libtl submodule builds
show more ...
|
| 14acc06e | 13-Jun-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(sdei): resolve coverity error for SDEI GIC" into integration |
| 9dde2cc1 | 28-Apr-2025 |
Mark Dykes <mark.dykes@arm.com> |
fix(sdei): resolve coverity error for SDEI GIC
Fix the following issues from Coverity check:
*** CID 463142: Memory - illegal accesses (INTEGER_OVERFLOW) /services/std_svc/sdei/sdei_event.c: 79 i
fix(sdei): resolve coverity error for SDEI GIC
Fix the following issues from Coverity check:
*** CID 463142: Memory - illegal accesses (INTEGER_OVERFLOW) /services/std_svc/sdei/sdei_event.c: 79 in get_event_entry_target_pe()
*** CID 463141: Memory - illegal accesses (NEGATIVE_RETURNS) /services/std_svc/sdei/sdei_intr_mgmt.c: 64 in sdei_is_target_pe_masked()
Change-Id: I0f2928a6405f091b1ea988a43428d7032ee4c136 Signed-off-by: Mark Dykes <mark.dykes@arm.com>
show more ...
|
| 0d45ba99 | 27-May-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(optee): guard handoff logic w/ build flag
Prepare OP-TEE for environments where the Firmware Handoff (LibTL) submodule may not be available. Wrap all Transfer List dependent logic in `#if
refactor(optee): guard handoff logic w/ build flag
Prepare OP-TEE for environments where the Firmware Handoff (LibTL) submodule may not be available. Wrap all Transfer List dependent logic in `#if TRANSFER_LIST` guards, ensuring OP-TEE can build and run without the submodule.
This is useful for platforms or builds not integrating the firmware handoff mechanism.
Change-Id: I701e357a8ee29d37b370c98c907d3e2795a921dd Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|