History log of /rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c (Results 1 – 20 of 20)
Revision Date Author Comments
# 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 ...