| 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 ...
|
| 7e8b7096 | 14-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes Id711e387,I531a2ee1,Ic5b48514,I81f5f663,I6c529c13, ... into integration
* changes: refactor(romlib): absorb WRAPPER_FLAGS into LDFLAGS fix(build): simplify the -target options fe
Merge changes Id711e387,I531a2ee1,Ic5b48514,I81f5f663,I6c529c13, ... into integration
* changes: refactor(romlib): absorb WRAPPER_FLAGS into LDFLAGS fix(build): simplify the -target options feat(build): allow full LTO builds with clang refactor(build): make sorting of sections generic feat(build): use clang as a linker fix(build): correctly detect that an option is missing with ld_option feat(build): pass cflags to the linker when LTO is enabled
show more ...
|
| 80684b7e | 13-Oct-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(cm): deprecate use of NS_TIMER_SWITCH" into integration |
| 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 ...
|
| 05d22c30 | 13-May-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(build): make sorting of sections generic
All BLs define essentially the same sequence for sorting of sections. Make that generic so it applies more easily.
Change-Id: I81f5f6635232bd43d999
refactor(build): make sorting of sections generic
All BLs define essentially the same sequence for sorting of sections. Make that generic so it applies more easily.
Change-Id: I81f5f6635232bd43d999c8054e290a6437c26c71 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
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 ...
|
| ab5db334 | 26-Aug-2025 |
Andre Przywara <andre.przywara@arm.com> |
fix(trp): report argument errors before bailing out
TRP checks for the extra warmboot arguments (in registers x2 and x3) to be 0, then bails out of the RME initialisation process if they are not. Ho
fix(trp): report argument errors before bailing out
TRP checks for the extra warmboot arguments (in registers x2 and x3) to be 0, then bails out of the RME initialisation process if they are not. However it does not report about that case, so the users will be left clueless about what is going wrong.
Add an error message reporting the fact and the values of the registers, when they are not 0.
Change-Id: I6231551ccdfa9434d0153caa95933044e2b23938 Signed-off-by: Andre Przywara <andre.przywara@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 ...
|
| f024c573 | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): enable LFA of RMM
Extend the LFA framework to handle the activation of RMM image. This allows RMM to be updated and re-initialized as part of LFA without requiring a system reset.
Signed
feat(lfa): enable LFA of RMM
Extend the LFA framework to handle the activation of RMM image. This allows RMM to be updated and re-initialized as part of LFA without requiring a system reset.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I6ca3e21f6fe07ac3ab0bec1656d295129b62b8f5
show more ...
|
| 3151d9fc | 24-Sep-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
chore(lfa): use standard int return type for prime/activate callbacks
Replace `int32_t` with `int` for `component_prime_fn` and `component_activate_fn` typedefs, along with their implementations in
chore(lfa): use standard int return type for prime/activate callbacks
Replace `int32_t` with `int` for `component_prime_fn` and `component_activate_fn` typedefs, along with their implementations in BL31 and RMM LFA services. This aligns with common convention for function return types and avoids unnecessary use of fixed-width types where a native int is sufficient
Change-Id: Id22e93a554260b22e36b59baeac2cbb1b4646727 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 22bbb59f | 15-Apr-2025 |
Andre Przywara <andre.przywara@arm.com> |
feat(rmmd): add warm reset helpers for primary and secondary CPUs
Introduce two helpers to support RMM warm reset, primarily for use during Live Firmware Activation:
- rmmd_primary_warm_reset(): r
feat(rmmd): add warm reset helpers for primary and secondary CPUs
Introduce two helpers to support RMM warm reset, primarily for use during Live Firmware Activation:
- rmmd_primary_warm_reset(): re-runs rmmd_setup() and rmm_init() for the primary CPU. - rmmd_secondary_warm_reset(): reinitializes secondary CPUs using rmmd_cpu_on_finish_handler(), with a spinlock to serialize access.
Change-Id: I885536aa85e395ed69069802112dcdb5063a9c19 Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 34a22a02 | 05-Aug-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(el3-runtime): move context security states to context.h
The three security states (S, NS, RL) are architecturally quite consistent - anything that uses them has the same numerical assignmen
refactor(el3-runtime): move context security states to context.h
The three security states (S, NS, RL) are architecturally quite consistent - anything that uses them has the same numerical assignments (0, 1, 2) and they are quite convenient for indexing. However, we're not as consistent in tf-a and this is defined in a few places. Since cpu_data has a dependency on the context management library, use its security state convention in a few more places and take away this responsibility from cpu_data.
Change-Id: Iec73b2be2eef91975554767557de72424d0031f1 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 90b186e8 | 22-Sep-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "ja/ffa_v1_3" into integration
* changes: feat(tc): bump SPMC version to FF-A v1.3 TC platform feat(fvp): bump the SPMC version feat(ff-a): bump SPMD FF-A version |
| ccf67965 | 21-Aug-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
fix(cm): deprecate use of NS_TIMER_SWITCH
On AArch64, secure world has it's own EL3 physical timer registers accessible to secure EL1 in absence of S-EL2. With S-EL2 there is virtualized view availa
fix(cm): deprecate use of NS_TIMER_SWITCH
On AArch64, secure world has it's own EL3 physical timer registers accessible to secure EL1 in absence of S-EL2. With S-EL2 there is virtualized view available for EL1 timer registers. So it is unreasonable for secure world to use non-secure EL1 physical timer registers. Moreover, the non-secure operating system (Linux in our case) relies heavily on these EL1 physical timer registers for scheduling decisions. If NS_TIMER_SWITCH is enabled, it simply breaks the preemption model of the non-secure world by disabling non-secure timer interrupts leading to RCU stalls being observed on long running secure world tasks.
The only arch timer register which will benefit from context management is cntkctl_el1: Counter-timer Kernel Control Register. This enables the secure and non-secure worlds to independently control accesses to EL0 for counter-timer registers. This is something that OP-TEE uses to enable ftrace feature for Trusted Applications and SPM_MM uses for EL0 access as well.
Lets enable context management of cntkctl_el1 by default and deprecate conditional context management of non-secure EL1 physical timer registers for whom there isn't any upstream user. With that deprecate this NS_TIMER_SWITCH build option which just adds confusion for the platform maintainers. It will be eventually dropped following deprecation policy of TF-A.
Reported-by: Stauffer Thomas MTANA <thomas.stauffer@mt.com> Reported-by: Andrew Davis <afd@ti.com> Change-Id: Ifb3a919dc0bf8c05c38895352de5fe94b4f4387e Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 982e702e | 18-Sep-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(el3-spmc): update event log related include
This header provides APIs for managing an event log in a transfer list. It was made part of LibTL, and removed in (b67e984) when we moved to using Lib
fix(el3-spmc): update event log related include
This header provides APIs for managing an event log in a transfer list. It was made part of LibTL, and removed in (b67e984) when we moved to using LibEventLog as a submodule. This was missed during that update.
Change-Id: I279e23b25db40c04e9f2aae23e10ebddfe99419c Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 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 ...
|
| b67e9846 | 13-May-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
build(measured-boot)!: move to ext event log lib
Removes in-tree Event Log library implementation and updates all references to use the external submodule. Updates include paths, Makefile macros, an
build(measured-boot)!: move to ext event log lib
Removes in-tree Event Log library implementation and updates all references to use the external submodule. Updates include paths, Makefile macros, and platform integration logic to link with lib 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: LibEventLog 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: I723f493033c178759a45ea04118e7cc295dc2438 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 773a310f | 16-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "rustspmc_with_xferlist" into integration
* changes: feat(fvp): introduce fvp_stmm_bl2_sp_list.dts for StandaloneMm feat(fvp): update evtlog info in the xferlist's DT_SP
Merge changes from topic "rustspmc_with_xferlist" into integration
* changes: feat(fvp): introduce fvp_stmm_bl2_sp_list.dts for StandaloneMm feat(fvp): update evtlog info in the xferlist's DT_SPMC_MANIFEST entry feat(fvp): move PLAT_ARM_SPMC_SP_MANIFEST_SIZE definition feat(spmd): get spmc manifest from xferlist
show more ...
|
| dd87b735 | 28-Aug-2025 |
J-Alves <joao.alves@arm.com> |
feat(ff-a): bump SPMD FF-A version
The Hafnium SPM version bumped to FF-A v1.3, alongside the TF-A SPMD. EL3 SPMC was kept under the v1.2 version with its own set of FFA_VERSION_SPMC_MAJOR/MINOR mac
feat(ff-a): bump SPMD FF-A version
The Hafnium SPM version bumped to FF-A v1.3, alongside the TF-A SPMD. EL3 SPMC was kept under the v1.2 version with its own set of FFA_VERSION_SPMC_MAJOR/MINOR macros.
Signed-off-by: J-Alves <joao.alves@arm.com> Change-Id: I0494738b9978ad72b3316a24d7811096c53f952b
show more ...
|
| c08285cf | 15-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
fix(rme): fix incorrect shift operation in rmmd
This patch fixes the shift operation in rmmd_mecid_key_update(). Also, a function name fix is made to the platform porting guide.
Change-Id: I80f0e26
fix(rme): fix incorrect shift operation in rmmd
This patch fixes the shift operation in rmmd_mecid_key_update(). Also, a function name fix is made to the platform porting guide.
Change-Id: I80f0e2653dcb5cdd7b5937506ca040b2105ca3ce Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| 24804eeb | 15-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes I32c5be5d,I15a652a0 into integration
* changes: fix(qemu): add reason parameter to MEC update refactor(rmmd): modify MEC update call to meet FIRME |
| 00e62ff9 | 03-Sep-2025 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
refactor(rmmd): modify MEC update call to meet FIRME
Previous version of MEC refresh call was not compliant with FIRME [1]. This patch modifies the call so it is compliant with the specification.
[
refactor(rmmd): modify MEC update call to meet FIRME
Previous version of MEC refresh call was not compliant with FIRME [1]. This patch modifies the call so it is compliant with the specification.
[1] https://developer.arm.com/documentation/den0149/1-0alp0/
Change-Id: I15a652a021561edca16e79d127e6f08975cf1361 Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
show more ...
|
| b3dcd505 | 06-Feb-2025 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(spmd): support for FFA_ABORT invocation from SWd
SPMC can propagate abort handling to SPMD when an SP specifies suitable abort action in its manifest. SPMD panics upon receiving FFA_ABORT from
feat(spmd): support for FFA_ABORT invocation from SWd
SPMC can propagate abort handling to SPMD when an SP specifies suitable abort action in its manifest. SPMD panics upon receiving FFA_ABORT from SPMC.
Change-Id: I3b573fdfc203c3446b1d629f579e333162d5ff72 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 55fd56d7 | 03-Sep-2025 |
Yeoreum Yun <yeoreum.yun@arm.com> |
feat(spmd): get spmc manifest from xferlist
When TRANSFER_LIST build option is used, arg0 doesn't pass the SPMC manifest. but it should be passed to load SPMC.
For this, adds the spmc manifest entr
feat(spmd): get spmc manifest from xferlist
When TRANSFER_LIST build option is used, arg0 doesn't pass the SPMC manifest. but it should be passed to load SPMC.
For this, adds the spmc manifest entry in the transfer list with TL_TAG_DT_SPMC_MANIFEST tag and let spmd load the spmc manifest from transfer list.
Change-Id: I3b84c3d8a17bba4ac94afe00e1e19044449360b0 Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
show more ...
|