| #
3b985540 |
| 07-Nov-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "lfa-prime-error-handling" into integration
* changes: feat(lfa): introduce support for call_again for LFA_PRIME feat(lfa): allow LFA_PRIME from one CPU at a time
|
| #
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 ...
|
| #
c8e08212 |
| 14-Oct-2025 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(lfa): allow LFA_PRIME from one CPU at a time
LFA_PRIME is a single-threaded operation that is not pinned to a specific CPU. The implementation must support calls being issued from different CPU
feat(lfa): allow LFA_PRIME from one CPU at a time
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. However, those calls must not happen concurrently.
This patch introduces a spinlock across the LFA_PRIME call to support this requirement. In case of concurrent calls, the LFA_BUSY error code is returned to the caller.
Change-Id: I0574a155ea66b527e26b0dd73272a103e4f936b1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| #
f8a9aa10 |
| 28-Oct-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge changes from topic "mb/lfa-rmm-test" into integration
* changes: fix(rmmd): avoid race conditions in CPU finish fix(arm): move lfa componet header to common and fix the helper chore(lfa)
Merge changes from topic "mb/lfa-rmm-test" into integration
* changes: fix(rmmd): avoid race conditions in CPU finish fix(arm): move lfa componet header to common and fix the helper chore(lfa): rename component_id to lfa_component_id
show more ...
|
| #
b17fc0a6 |
| 22-Oct-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
chore(lfa): rename component_id to lfa_component_id
Refactor the function lfa_is_prime_complete to use a more specific parameter name, lfa_component_id, enhancing code clarity. This change improves
chore(lfa): rename component_id to lfa_component_id
Refactor the function lfa_is_prime_complete to use a more specific parameter name, lfa_component_id, enhancing code clarity. This change improves readability and reduces potential confusion with other component identifiers in the codebase.
Change-Id: I00285fce4b7149bd97d6386ef471e9d1598a3fed Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| #
5e03b099 |
| 17-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "lfa-prime-error-handling" into integration
* changes: fix(locks): mark spin_trylock as a public function fix(lfa): check error code from plat_lfa_load_auth_image
|
| #
10f81c86 |
| 14-Oct-2025 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(lfa): check error code from plat_lfa_load_auth_image
This patch checks the return values from plat_lfa_load_auth_image and returns an LFA* error code to the caller, if required.
Change-Id: I7c1
fix(lfa): check error code from plat_lfa_load_auth_image
This patch checks the return values from plat_lfa_load_auth_image and returns an LFA* error code to the caller, if required.
Change-Id: I7c1cad8e5f24b0e4cfdf2667adeed30c4d33bda0 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| #
f74d03a1 |
| 10-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "lfa-plat-activate" into integration
* changes: feat(fvp): add stub implementation for plat_lfa_notify_activate() feat(lfa): add platform hook for activation notification
|
| #
92c0f3ba |
| 10-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "rmm-lfa" into integration
* changes: feat(arm): handle RMM ep_info during LFA feat(lfa): add helper to check LFA prime completion status feat(lfa): enable LFA of RMM
Merge changes from topic "rmm-lfa" into integration
* changes: feat(arm): handle RMM ep_info during LFA feat(lfa): add helper to check LFA prime completion status feat(lfa): enable LFA of RMM chore(lfa): use standard int return type for prime/activate callbacks feat(rmmd): add warm reset helpers for primary and secondary CPUs
show more ...
|
| #
5084b7f1 |
| 16-Sep-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): add platform hook for activation notification
Introduce a new platform API, plat_lfa_notify_activate(), which allows the platform to notify its security engine to begin component activati
feat(lfa): add platform hook for activation notification
Introduce a new platform API, plat_lfa_notify_activate(), which allows the platform to notify its security engine to begin component activation. The function accepts a component identifier and should return 0 on success or an error code on failure.
Documentation and header files are updated accordingly, and the call is integrated into the LFA activation path.
Change-Id: Ic66aa675bba62633cc92992b965d144a6f9ef129 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.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 ...
|
| #
35291b8a |
| 17-Sep-2025 |
Varun Wadekar <vwadekar@nvidia.com> |
Merge "fix(lfa): include string.h in lfa_main.c" into integration
|
| #
c0d32ee6 |
| 16-Sep-2025 |
azimmerman <azimmerman@nvidia.com> |
fix(lfa): include string.h in lfa_main.c
The memcpy function is defined in string.h header file. Since it is used in lfa_main.c, string.h should be included.
Change-Id: I4f361c9365c4a221bcf16933902
fix(lfa): include string.h in lfa_main.c
The memcpy function is defined in string.h header file. Since it is used in lfa_main.c, string.h should be included.
Change-Id: I4f361c9365c4a221bcf16933902eb3a980b83da7 Signed-off-by: azimmerman <azimmerman@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| #
711f42b2 |
| 20-Jun-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "mb/lfa-core-work" into integration
* changes: docs(maintainers): add myself as code owner for LFA service docs(lfa): update porting guide with LFA platform APIs feat(
Merge changes from topic "mb/lfa-core-work" into integration
* changes: docs(maintainers): add myself as code owner for LFA service docs(lfa): update porting guide with LFA platform APIs feat(lfa): add LFA holding pen logic feat(lfa): add initial implementation for LFA_ACTIVATE feat(lfa): add initial implementation for LFA_PRIME feat(fvp): implement platform API for load and auth image feat(lfa): implement LFA_CANCEL SMC feat(fvp): implement platform API for LFA cancel operation feat(lfa): implement LFA_GET_INVENTORY SMC feat(fvp): implement platform API for LFA activation pending check feat(lfa): implement LFA_GET_INFO SMC and integrate LFA build feat(fvp): initialize LFA component activators in platform layer feat(rmm): add placeholder activator callbacks for LFA feat(bl31): add placeholder activator implementation for LFA feat(lfa): add activation handler interface for component activation feat(fvp): implement LFA get components API feat(lfa): create LFA SMC handler template
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 ...
|
| #
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 ...
|