| 040ab75d | 19-Jan-2026 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cpus): add support for Rosillo cpu" into integration |
| 96c0c13d | 19-Jan-2026 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(cpufeat): enable access to extended BRPs/WRPs" into integration |
| d62f795c | 19-Jan-2026 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I215a84bd,I83710d84 into integration
* changes: perf(cpus): reduce the footprint of errata reporting refactor(cpus): make errata reporting more generic |
| 2147ce91 | 19-Jan-2026 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "upstream_ddr_reg_accesories" into integration
* changes: feat(s32g274ardb): add DDR register accessories feat(s32g274ardb): add DDR PHY mailbox support |
| c9017cbc | 05-Jan-2026 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for Rosillo cpu
Add basic CPU library code to support Rosillo CPU
Change-Id: I0e11e511511562297e4dccd2745842ebcfa2bff4 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 869cac12 | 15-Jan-2026 |
Yann Gautier <yann.gautier@st.com> |
Merge "refactor(rcar): rename console_rcar_ to console_renesas_ prefix for Renesas platform" into integration |
| 8df6a7c9 | 07-Jan-2026 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(el3-runtime): check the exception vector size
Currently, if the exception vector is too big it will fail with a "Warning: repeat < 0; .fill ignored" error that is quite unclear. This only happe
feat(el3-runtime): check the exception vector size
Currently, if the exception vector is too big it will fail with a "Warning: repeat < 0; .fill ignored" error that is quite unclear. This only happens when the vector entry is bigger than its allocated 128 bytes so add an explicit check with a descriptive message to ease debugging when this happens.
Change-Id: I4f7acdcedab38bc96416dd0d0c6a8a60b7986e17 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 98936258 | 05-Dec-2025 |
Nhut Nguyen <nhut.nguyen.kc@renesas.com> |
refactor(rcar): rename console_rcar_ to console_renesas_ prefix for Renesas platform
Rename console_rcar_ to console_renesas_ prefix for SCIF-based console driver to make it reusable by other Renesa
refactor(rcar): rename console_rcar_ to console_renesas_ prefix for Renesas platform
Rename console_rcar_ to console_renesas_ prefix for SCIF-based console driver to make it reusable by other Renesas platforms.
Due to the above renaming, function console_renesas_register is duplicated in both scif.h and console.h, so it should be removed from scif.h
Change-Id: I42b44d1786578f7ed8db34e7da421836ea60b5e2 Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
show more ...
|
| e8e8fc56 | 14-Jan-2026 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "bk/simpler_panic" into integration
* changes: refactor(aarch64): remove crash reporting's dependency on cpu_data fix(el3-runtime): remove lower_el_panic() |
| 7cc8f165 | 16-Oct-2025 |
Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> |
fix(arm): build fails on RESET_TO_BL2=1 and ARM_FW_CONFIG_LOAD_ENABLE=1
Use ARM_FW_CONFIG_BASE and ARM_FW_CONFIG_MAX_SIZE instead of platform macros PLAT_FW_CONFIG_BASE and PLAT_FW_CONFIG_MAX_SIZE w
fix(arm): build fails on RESET_TO_BL2=1 and ARM_FW_CONFIG_LOAD_ENABLE=1
Use ARM_FW_CONFIG_BASE and ARM_FW_CONFIG_MAX_SIZE instead of platform macros PLAT_FW_CONFIG_BASE and PLAT_FW_CONFIG_MAX_SIZE when RESET_TO_BL2 and ARM_FW_CONFIG_LOAD_ENABLE are set to 1.
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I0848852250eba5a3328e25cbea4fff413f344327
show more ...
|
| a760277d | 13-Jan-2026 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(debug): add debug log build option" into integration |
| d0650203 | 12-Dec-2025 |
Jaiprakash Singh <jaiprakashs@marvell.com> |
fix(debug): add debug log build option
When log level set to verbose, xlat prints alot of translation table debug logs.These detail logs keeps on printing for minutes and increase boot time. Also, n
fix(debug): add debug log build option
When log level set to verbose, xlat prints alot of translation table debug logs.These detail logs keeps on printing for minutes and increase boot time. Also, not all users might be interested in the xlat detail logs when verbose is on.
LOG_DEBUG is added to print xlat detail logs only when someone intentionally enables logging.
Change-Id: I3308b49779a692bdce87fb6929c88fdcb713e628 Signed-off-by: Jaiprakash Singh <jaiprakashs@marvell.com>
show more ...
|
| 3247828c | 02-Aug-2022 |
Manoj Kumar <manoj.kumar3@arm.com> |
fix(morello): avoid capability tag fault on data access
TF-A runtime service at EL3 switches the stack pointer from SP_EL3 to SP_EL0. This creates a capability tag fault when the DDC_EL0 is zeroed o
fix(morello): avoid capability tag fault on data access
TF-A runtime service at EL3 switches the stack pointer from SP_EL3 to SP_EL0. This creates a capability tag fault when the DDC_EL0 is zeroed out (purecap user space) as any data accesses computes tag/permission with DDC_EL0 value when SpSel is 0 and when EL3 is in hybrid mode.
As a workaround, this patch creates a per cpu context variable to store DDC_EL0 value so that when EL3 runtime is entered DDC_EL0 is saved on to stack. DDC_EL3 is then copied into DDC_EL0 after switching SP to SP_EL0. Once the runtime finishes, during el3_exit, the saved DDC_EL0 is restored from stack.
Signed-off-by: Selvarasu Ganesan <selvarasu.ganesan@arm.com> Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-off-by: Varshit Pandya <varshit.pandya@arm.com> Change-Id: I4e4010f0e20913cb4e35b58fb49a177bdf26feb1
show more ...
|
| 6a548c34 | 02-Aug-2022 |
Manoj Kumar <manoj.kumar3@arm.com> |
feat(morello): add capability load/store/track support to MMU
Morello architecture adds additional bits to TCR_EL3 and uses the HWU bits of page/block descriptors to provision permission for loading
feat(morello): add capability load/store/track support to MMU
Morello architecture adds additional bits to TCR_EL3 and uses the HWU bits of page/block descriptors to provision permission for loading, storing and tracking of valid capability tags.
This patch reserves bit 31 of the existing translation table attribute field which can be used by the user to enable capability load/store/track permission for a given memory region.
This patch also enables this permission for BL31 region.
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-off-by: Varshit Pandya <varshit.pandya@arm.com> Change-Id: I1939c70aac3585969d74b0956529681e840d6f63
show more ...
|
| 27bc1386 | 02-Oct-2020 |
Manoj Kumar <manoj.kumar3@arm.com> |
feat(morello): add Morello capability enablement changes
This patch adds a build macro ENABLE_FEAT_MORELLO which when set will compile BL31 firmware with changes required to boot capability aware so
feat(morello): add Morello capability enablement changes
This patch adds a build macro ENABLE_FEAT_MORELLO which when set will compile BL31 firmware with changes required to boot capability aware software.
It also adds helper function in c and assmbly to check if morello hardware is present and if morello capability is enabled or not.
CE field, bits [23:20] in ID_AA64PFR1_EL1 defines whether morello architecture is present or not, 0b0000 indicates that it is absent and 0b0001 indicates that it is present. While whether capabilities are enabled or not is decided at runtime with ENABLE_FEAT_MORELLO build option.
Reference: https://developer.arm.com/documentation/ddi0606/latest/
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-off-by: Varshit Pandya <varshit.pandya@arm.com> Change-Id: Ib16877acbfcb72c4bd8c08e97e44edc0a3e46089
show more ...
|
| 2edb8b6d | 12-Jan-2026 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(cpufeat): enable access to extended BRPs/WRPs
Access to Extended Breakpoints(BRPs) and Watchpoints(WRPs) are enabled through EBWE bit and this available from DebugV8P9. So enable access to mode
fix(cpufeat): enable access to extended BRPs/WRPs
Access to Extended Breakpoints(BRPs) and Watchpoints(WRPs) are enabled through EBWE bit and this available from DebugV8P9. So enable access to mode select register default from lower EL's.
Though this bit RES0 when we have less than 16 BRPs/WRPs the Mode select register is also RAZ/WI. So having EBWE write by default is harmless. And will avoid trap to EL3 when enable access to bank selection when we have more than 16 BRPs/WRPs.
Change-Id: Ib308be758c0beedde05a5558b0d24a161b79273a Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| ea6625c6 | 12-Jan-2026 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "bk/amu_private" into integration
* changes: fix(cpufeat): prevent FEAT_AMU counters 2 and 3 from counting across worlds fix(cpufeat): disable FEAT_AMU counters on conte
Merge changes from topic "bk/amu_private" into integration
* changes: fix(cpufeat): prevent FEAT_AMU counters 2 and 3 from counting across worlds fix(cpufeat): disable FEAT_AMU counters on context restore feat(per-cpu): migrate AArch32 amu_ctx to per-cpu framework
show more ...
|
| 287ad959 | 11-Aug-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(aarch64): remove crash reporting's dependency on cpu_data
Crash reporting is useful as early as possible, even before most of the runtime has been set up. This means that all of its depende
refactor(aarch64): remove crash reporting's dependency on cpu_data
Crash reporting is useful as early as possible, even before most of the runtime has been set up. This means that all of its dependencies, currently only cpu_data, must be set up as early as possible too. This can be constraining as fiddling with the general EL3 runtime from the early entrypoint is very difficult. So remove the cpu_data dependency. Further benefits are that crash reporting will work even earlier (during cpu reset functions!) and also in other BLs.
Change-Id: I92bb6b3921c6dec10560f8341b3bca5cdacfb492 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 574db8ec | 19-Dec-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(el3-runtime): remove lower_el_panic()
A panic at EL3 is bad news and should never happen. What caused it isn't exactly relevant or possible to figure out without manual debugging (surely there w
fix(el3-runtime): remove lower_el_panic()
A panic at EL3 is bad news and should never happen. What caused it isn't exactly relevant or possible to figure out without manual debugging (surely there wouldn't have been a panic if not). A misbehaving lower EL should never be able to cause problems for a higher EL and since EL3 is in control of all lower ELs a panic at EL3 means that there is a problem with EL3.
This patch removes lower_el panic and replaces it with a simple panic for simplicity. There is a slight loss of information when an AArch32 lower EL has one of its instructions trapped by EL3. An explicit error message is added to preserve this information.
Change-Id: Iefd20eb43d69cbcf6d66ed5cc894c4e0255782e3 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 6de7520a | 20-Jul-2025 |
Taticharla Venkata Sai <venkatasai.taticharla@amd.com> |
fix(el3-runtime): resolve essential-type mismatch
This resolves MISRA C:2012 Rule 10.7 violation where a composite expression involved operands of differing essential types, causing unintended impli
fix(el3-runtime): resolve essential-type mismatch
This resolves MISRA C:2012 Rule 10.7 violation where a composite expression involved operands of differing essential types, causing unintended implicit conversions.
The fix ensures all operands in the expression have matching essential types by introducing explicit casts, preventing unsafe or inconsistent arithmetic operations.
Change-Id: If01dfe78e7a5cffc8b0efa6ac969b262e236852b Signed-off-by: Taticharla Venkata Sai <venkatasai.taticharla@amd.com>
show more ...
|
| 8cd9c18b | 08-Dec-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cpufeat): prevent FEAT_AMU counters 2 and 3 from counting across worlds
FEAT_AMU has 4 architected counters. The lower 2, CPU_CYCLES and CNT_CYCLES, are not considered to be side channels due to
fix(cpufeat): prevent FEAT_AMU counters 2 and 3 from counting across worlds
FEAT_AMU has 4 architected counters. The lower 2, CPU_CYCLES and CNT_CYCLES, are not considered to be side channels due to their low resolution and general availability of the data elsewhere. As such, they are used for critical performance tuning and are expected to never be turned off or context switched when switching worlds.
The upper 2 counters, INST_RETIRED and STALL_BACKEND_MEM, are different. The data they provide is non-critical and expose new information that could be used as a timing side channel, especially of Secure world. This patch adds context switching of these two counters to prevent any such side channel.
This is not done for group 1 auxiliary counters as those are IMP DEF and are inaccessible by default unless overriden by the platform (with AMU_RESTRICT_COUNTERS).
Change-Id: Ib4b946abb810e36736cabb9b84cd837308b4e761 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 7724f91e | 19-Dec-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(psci): make CMOs target the whole psci_cpu_data_t
psci_cpu_data_t is tiny - on AArch64 it's 12 bytes. Cache maintenance operations (CMOs) operate on cache lines which are much bigger - usua
refactor(psci): make CMOs target the whole psci_cpu_data_t
psci_cpu_data_t is tiny - on AArch64 it's 12 bytes. Cache maintenance operations (CMOs) operate on cache lines which are much bigger - usually 64 bytes long. As such, issuing a cache clean for a member in the middle of psci_cpu_data_t won't necessarily have the expected effect. The member will be cleaned, sure, but so will the rest of the cache line along with it. If the struct happens to straddle cache lines this will lead to the next 52 bytes, most of which not belonging to psci_cpu_data_t, being cleaned as well and the start of psci_cpu_data_t not being cleaned at all.
This is not a problem because of the per-cpu (and cpu_data before it) section - it is cache size aligned and all data within a single section belongs to the same core so overdoing cache cleans won't have strange side effects.
Regardless, this patch clarifies CMOs around psci_cpu_data_t by always targeting the whole structure. To make sure there is never a situation where it straddles cache lines and this causes weird side effect, its alignment is set to the size of the structure to make sure it is always on the same cache line.
Change-Id: I5d82ee6bb2ce0ed3c6a7e4abb7aa890f5e3bd0af Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 9718d0db | 19-Dec-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
perf(cpus): reduce the footprint of errata reporting
Since the advent of spin_trylock() it's possible to combine the spinlock with the errata_reported field. If the spinlock is only acquired with a
perf(cpus): reduce the footprint of errata reporting
Since the advent of spin_trylock() it's possible to combine the spinlock with the errata_reported field. If the spinlock is only acquired with a non-blocking call then a successful call means reporting should be done and an unsuccessful one means that reporting would have been done by whoever acquired it. This relies on the lock never being released which this patch does. The effect is a smaller memory footprint and a smaller runtime.
Change-Id: I215a84bd2c91e33703349c41fc59f654f7764b2f Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| e9730867 | 07-Jan-2026 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I1a57de22,If97ea5fd into integration
* changes: feat(locks): make spin_trylock with exclusives spin until it knows the state of the lock fix(locks): restore spin_trylock's ability
Merge changes I1a57de22,If97ea5fd into integration
* changes: feat(locks): make spin_trylock with exclusives spin until it knows the state of the lock fix(locks): restore spin_trylock's ability to acquire a lock
show more ...
|
| 8f54a00a | 06-Jan-2026 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(spm-mm): fix wrong range of SPM_MM" into integration |