| 59b826ce | 15-Oct-2025 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(lfa): introduce support for call_again for LFA_PRIME
LFA_PRIME is a single-threaded operation that is not pinned to a specific CPU. The implementation must support calls being issued from diffe
feat(lfa): introduce support for call_again for LFA_PRIME
LFA_PRIME is a single-threaded operation that is not pinned to a specific CPU. The implementation must support calls being issued from different CPUs, even for several calls to prime the same component.
This patch checks if the plat_lfa_load_auth_image return -EAGAIN indicating that the platform expects the LFA_PRIME call to be issued again. This is done by returning LFA_SUCCESS and setting flags[0] to 1, indicating that LFA_PRIME is incomplete and must be called again.
Change-Id: Ia3046b5467c50c4c51392bac3fb9e9533f2438db Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| ce78f3cd | 04-Jun-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): add helper to check LFA prime completion status
Introduce `is_lfa_prime_finished()` to allow callers to query whether the prime operation for a given component has completed. This enables
feat(lfa): add helper to check LFA prime completion status
Introduce `is_lfa_prime_finished()` to allow callers to query whether the prime operation for a given component has completed. This enables external logic to safely determine if activation is ready to proceed.
The helper checks for: - Matching `component_id` in the current activation - Prime status being `PRIME_COMPLETE` - `activation_pending` being true
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I55dadba639571faacc27de245cf0a9f2493956a5
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 ...
|
| 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 ...
|