History log of /rk3399_ARM-atf/ (Results 651 – 675 of 18314)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
4ea0ebc226-Aug-2025 Manish V Badarkhe <Manish.Badarkhe@arm.com>

feat(arm): handle RMM ep_info during LFA

Update the logic for next image handoff to correctly manage the
RMM entry point information when LFA is in progress.
This ensures control is passed back into

feat(arm): handle RMM ep_info during LFA

Update the logic for next image handoff to correctly manage the
RMM entry point information when LFA is in progress.
This ensures control is passed back into RMM during the
activation sequence.

This change only affects during LFA run, normal boot behavior
is unchanged.

Change-Id: I8f85e9a7e0a7e9dab196c69ecf55abb9e7717982
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>

show more ...

ce78f3cd04-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 ...

f024c57315-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 ...

3151d9fc24-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 ...

22bbb59f15-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 ...

2b6ae94823-Sep-2025 Olivier Deprez <olivier.deprez@arm.com>

Merge "refactor(tc): neaten platform code after TC2 removal" into integration

f174704b23-Sep-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes I2c7c8da9,I9786ab88,Ia76ba243,Ifec40dee,Ifdd59c09, ... into integration

* changes:
fix(cpus): workaround for Cortex-A510 erratum 3704847
fix(cpus): workaround for Cortex-A510 errat

Merge changes I2c7c8da9,I9786ab88,Ia76ba243,Ifec40dee,Ifdd59c09, ... into integration

* changes:
fix(cpus): workaround for Cortex-A510 erratum 3704847
fix(cpus): workaround for Cortex-A510 erratum 3672349
fix(cpus): workaround for Cortex-A510 erratum 2420992
fix(cpus): workaround for Cortex-A510 erratum 2218134
fix(cpus): workaround for Cortex-A510 erratum 2169012
fix(cpus): workaround for Cortex-A510 erratum 2008766

show more ...

b3f4945a23-Sep-2025 Lauren Wehrmeister <lauren.wehrmeister@arm.com>

Merge "refactor(arm): refine FIP offset handling for BL1 with GPT support" into integration

27f0b73418-Sep-2025 Manish V Badarkhe <Manish.Badarkhe@arm.com>

refactor(arm): refine FIP offset handling for BL1 with GPT support

Restrict use of PLAT_ARM_FIP_OFFSET_IN_GPT to BL1 when ARM_GPT_SUPPORT
is enabled. BL2 can derive the FIP offset from the partition

refactor(arm): refine FIP offset handling for BL1 with GPT support

Restrict use of PLAT_ARM_FIP_OFFSET_IN_GPT to BL1 when ARM_GPT_SUPPORT
is enabled. BL2 can derive the FIP offset from the partition table at
runtime, so a fixed offset is unnecessary. Also cleaned up the FIP
address handling comment for clarity.

Change-Id: I03f003a9307d66d16666eefcff1f45bb010779c9
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>

show more ...

8f15231911-Aug-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(aarch64): do not print EL1 registers on EL3 panic

Lower EL execution should not be able to panic EL3. The main source of
potential panic, traps from lower ELs, are now handled gracefully with
un

fix(aarch64): do not print EL1 registers on EL3 panic

Lower EL execution should not be able to panic EL3. The main source of
potential panic, traps from lower ELs, are now handled gracefully with
undefined injection. Almost every other source of panic is something
going wrong within TF-A. Regardless, in both cases, ESR_EL3, ELR_EL3,
and SPSR_ELR provide the majority of necessary information to debug a
panic and printing a lot of lower EL register only clutters the crash
dump and makes it difficult to read.

Further, when EL3 panics, the ultimate source of that panic may be EL2
but the crash reporting functionality only prints out EL1 system
registers which are going to be quite useless to debug.

Finally, the panic may be happening due to some misconfiguration of
other EL3 system registers that have been introduced with a feature.

There are two logical choices:
a) extend crash reporting to report all EL1, EL2, and EL3 registers
depending on where an error came from, including all features
b) only print core EL3 registers and rely on the developer to add extra
prints as necessary

We have never strived to achieve a) (as evidenced by EL2 and feature
sysregs never having been added), so do b). Only non-EL3 registers that
are relevant to EL3's direct execution are kept (like SP_EL0).

Change-Id: Ife2fe86184bca9a4d66f367c516eececc57471da
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

4779becd06-Aug-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(el3-runtime): streamline cpu_data assembly offsets using the cpu_ops template

The cpu_data structure, just like cpu_ops, is collection of disparate
data that must be accessible from both C

refactor(el3-runtime): streamline cpu_data assembly offsets using the cpu_ops template

The cpu_data structure, just like cpu_ops, is collection of disparate
data that must be accessible from both C and assembly. Achieving this is
tricky as there is no way to export structure offsets from C directly so
they must be manually recreated with `#define`s and asserts. However,
the cpu_data structure is quite old and the assembly offsets are a
patchwork of additions and extremely difficult to reason with and
modify. In fact, certain currently unused builds with
ENABLE_RUNTIME_INSTRUMENTATION=1 fail to build.

To untangle this, convert the assembly offsets to the pattern used for
the cpu_ops structure. That is, first define the sizes of every member,
as generically as possible, and then chain their offsets one after the
other. To make sure this is always correct, add a CASSERT for the offset
of every member. This makes it easy to modify the structure and fixes
the build failures.

Change-Id: I61aeb55e9c494896663a3c719c10e3c072f56349
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

2c730eea12-Sep-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix: remove unused cpu_data related macros

There are no uses for CPU_DATA_PSCI_LOCK_OFFSET so it is removed.

PLAT_PCPU_DATA_SIZE is also unused in ST platforms and causes offsets
to mismatch when t

fix: remove unused cpu_data related macros

There are no uses for CPU_DATA_PSCI_LOCK_OFFSET so it is removed.

PLAT_PCPU_DATA_SIZE is also unused in ST platforms and causes offsets
to mismatch when the linker garbage collects it. It is also removed.

CPU_DATA_PLAT_PCPU_OFFSET is also removed as its only use is in
rcar_lock_get() and related macros which are never called since all
calls of these macros lack an argument.

Change-Id: I883ab58c56b4082e0e8b19a8d8f6186945bcc58e
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

34a22a0205-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 ...

8de6021b22-Sep-2025 Ryan Everett <ryan.everett@arm.com>

refactor(tc): neaten platform code after TC2 removal

Now that TC2 has been removed, the only TC platforms
are TC3 and TC4. Therefore, it no longer makes sense
to have both tc-base and tc3-4-base dts

refactor(tc): neaten platform code after TC2 removal

Now that TC2 has been removed, the only TC platforms
are TC3 and TC4. Therefore, it no longer makes sense
to have both tc-base and tc3-4-base dtsi files.
This patch combines the two base TC dtsi files,
and removes tautological ifdefs in TC platform code.

Change-Id: I011b5fe1f645d6d53276007b11a17bd6cf952ecb
Signed-off-by: Ryan Everett <ryan.everett@arm.com>

show more ...

01b3d39405-Aug-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(el3-runtime): extract cpu_data limitations to top-level constraints

CRASH_REPORTING is checked via an `#error` statement in the header,
while EL3_EXCEPTION_HANDLING is carefully carved out

refactor(el3-runtime): extract cpu_data limitations to top-level constraints

CRASH_REPORTING is checked via an `#error` statement in the header,
while EL3_EXCEPTION_HANDLING is carefully carved out when not supported.
However, both are only used on AArch64 builds and never on AArch32. We
can promote both to proper make constraints and keep the cpu_data
implementation a little bit simpler.

Change-Id: Ia164e046f953a552dc6e6cf624961a90669eaeeb
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

e0ee392222-Sep-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(gicv3): avoid incrementing global gicr_frames pointer" into integration

90b186e822-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

6262a3ec20-Sep-2025 Rohit Mathew <rohit.mathew@arm.com>

fix(gicv3): avoid incrementing global gicr_frames pointer

commit 75170704c9119a4947 (refactor(gicv3): clarify redistributor base
address usage with USE_GIC_DRIVER=3) introduced changes to walk the
r

fix(gicv3): avoid incrementing global gicr_frames pointer

commit 75170704c9119a4947 (refactor(gicv3): clarify redistributor base
address usage with USE_GIC_DRIVER=3) introduced changes to walk the
redistributor frames by incrementing the global `gicr_frames` pointer.
This leaves the pointer advanced after the first miss, so subsequent
CPUs do not start from the beginning of the array. Such behaviour is
incorrect in the presence of CPU hotplug or out-of-order CPU_ON
operations, where each CPU must be able to probe the full set of
redistributor frames independently.

Fix this by using a local iterator instead of modifying the global
`gicr_frames` pointer, preserving the array state for all CPUs.

While here, fix a typo in a comment and replace the `do…while`
loop with a safer `while` loop to avoid probing the zero terminator in
case a platform erroneously passes an empty array.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I6d6f73fb172c48f8e50b29ec2232648be3a6a6a0

show more ...

1c1c9c5019-Sep-2025 Varun Wadekar <vwadekar@nvidia.com>

Merge "docs(tegra): add note that clang is not supported" into integration

ea88493629-Aug-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A510 erratum 3704847

Cortex-A510 erratum 3704847 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and
is still open.

fix(cpus): workaround for Cortex-A510 erratum 3704847

Cortex-A510 erratum 3704847 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and
is still open.

The workaround is to set bit 9 in CPUACTLR_EL1.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1873361/latest/

Change-Id: I2c7c8da9c66471115b5bf8fb5c87d4de46ca265c
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

af1fa79629-Aug-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A510 erratum 3672349

Cortex-A510 erratum 3672349 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and
is still open.

fix(cpus): workaround for Cortex-A510 erratum 3672349

Cortex-A510 erratum 3672349 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and
is still open.

The workaround is to clear the WFE_RET_CTRL and WFI_RET_CTRL fields
in CPUPWRCTLR_EL1 to disable full retention.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1873361/latest/

Change-Id: I9786ab8843a2eab45e650c6af50b6933481527ec
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

4fb7090e29-Aug-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A510 erratum 2420992

Cortex-A510 erratum 2420992 is a Cat B erratum that applies only to
revisions r1p0 and r1p1, and is fixed in r1p1.

The workaround is to set bit

fix(cpus): workaround for Cortex-A510 erratum 2420992

Cortex-A510 erratum 2420992 is a Cat B erratum that applies only to
revisions r1p0 and r1p1, and is fixed in r1p1.

The workaround is to set bit 3 in CPUACTLR3_EL1 which will have no
performance impact, but will increase power consumption by 0.3-0.5%.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1873361/latest/

Change-Id: Ia76ba2431d76f14c08b95a998806986190d682c3
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

4592f4ea29-Aug-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A510 erratum 2218134

Cortex-A510 erratum 2218134 is a Cat B erratum that applies only to
revision r1p0 and is fixed in r1p1.

The workaround is to set bit 43 in CPUA

fix(cpus): workaround for Cortex-A510 erratum 2218134

Cortex-A510 erratum 2218134 is a Cat B erratum that applies only to
revision r1p0 and is fixed in r1p1.

The workaround is to set bit 43 in CPUACTLR2_EL1 which will correct
the instruction fetch stream with no performance impact.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1873361/latest/

Change-Id: Ifec40dee2f7e42c56c9ed447b6b1997b170f9453
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

124ff99f29-Aug-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A510 erratum 2169012

Cortex-A510 erratum 2169012 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.

This erratum ha

fix(cpus): workaround for Cortex-A510 erratum 2169012

Cortex-A510 erratum 2169012 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.

This erratum has an identical workaround to 1922240 and resolves
a similar issue, but that erratum only applies to r0p0 which is
not used in any production hardware, so it has been removed.

This workaround has a negligible performance impact.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1873361/latest/

Change-Id: Ifdd59c09e84252dc292600630d81d32986fd6c0c
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

d64d421529-Aug-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A510 erratum 2008766

Cortex-A510 erratum 2008766 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and
is still open.

fix(cpus): workaround for Cortex-A510 erratum 2008766

Cortex-A510 erratum 2008766 is a Cat B erratum that applies to
revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and
is still open.

The workaround is to clear the ERXCTLR_EL1.ED bit before power
down, which will cause any detected errors during power down to
be ignored.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1873361/latest/

Change-Id: Id1aa0f2c518a055363c962f9abdb27e1ee8bff18
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

1...<<21222324252627282930>>...733