| 25fe31b2 | 22-May-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cpufeat): add ras files to the build from a common location
If ENABLE_FEAT_RAS is unset on the build commandline the platform.mk will run and make its decisions with the flag unset, after which
fix(cpufeat): add ras files to the build from a common location
If ENABLE_FEAT_RAS is unset on the build commandline the platform.mk will run and make its decisions with the flag unset, after which arch_features.mk will run and enable the feature. The result in the RAS case is a build failure due to missing symbols.
Nvidia works around this by setting ENABLE_FEAT_RAS manually despite the arch_features.mk setting.
Every platform that enables ENABLE_FEAT_RAS also pulls in std_err_record.c and ras_common.c. So fix the build failure by having these files be pulled into the build from common code in bl31.mk.
Change-Id: I018869d3f1904821523ac88d70e88eb90959784b Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| f9f4944d | 04-Jul-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cm): do not restore spsr and elr twice on external aborts
el3_exit will restore SPSR_EL3 and ELR_EL3. There is no need to do it in ea_proceed too as that is always followed by el3_exit.
Change-
fix(cm): do not restore spsr and elr twice on external aborts
el3_exit will restore SPSR_EL3 and ELR_EL3. There is no need to do it in ea_proceed too as that is always followed by el3_exit.
Change-Id: I9089b3ada7785bc0d5fd1e05192f456ffe666789 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| a202529e | 22-May-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cm): do not save SCR_EL3 on external aborts
SCR_EL3 is static. For non-root worlds, once initialised by cm_setup_context(), its value is immutable and only restored by el3_exit(). For the root w
fix(cm): do not save SCR_EL3 on external aborts
SCR_EL3 is static. For non-root worlds, once initialised by cm_setup_context(), its value is immutable and only restored by el3_exit(). For the root world (or EL3 when that's not a thing) setup_el3_execution_context() (via prepare_el3_entry()) will write a different static value in, with the expectation that el3_exit() will wipe it. As such saving scr_el3 in the case of a double fault is not necessary, and even harmful as the wrong (root's) value will get written in.
Change-Id: Ibf5b3a809fc0208a98ded20fe8d50c7405f808b9 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| c81b9cb9 | 04-Jul-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cm): remove unused macro
It is never referenced.
Change-Id: I538b1f3d8660426faf5bafa68ecda2d637b0bc50 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> |
| ddc1fcee | 26-Sep-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(arm/common): gate coherency behind flag" into integration |
| 36fbcf4d | 17-Sep-2025 |
Ahmed Azeem <ahmed.azeem@arm.com> |
refactor(arm/common): gate coherency behind flag
Introduce a macro guard so platform coherency functions are only compiled when HW_ASSISTED_COHERENCY is 0 (disabled). Many platforms enable HW-assist
refactor(arm/common): gate coherency behind flag
Introduce a macro guard so platform coherency functions are only compiled when HW_ASSISTED_COHERENCY is 0 (disabled). Many platforms enable HW-assisted coherency by default, so compiling empty definitions is unnecessary.
This refactor removes those empty functions for Arm CSS platforms.
Change-Id: I102ead46960e9da2d8b968f60cbfd3e5e5da1096 Signed-off-by: Ahmed Azeem <ahmed.azeem@arm.com>
show more ...
|
| e521a1fe | 26-Sep-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "docs(drtm): update to latest specification and remove build/run section" into integration |
| 2d8e4481 | 26-Sep-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(build): fix lib cflags use in build macros" into integration |
| cbe42e11 | 25-Jun-2025 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx): check if the cluster id is valid
Check if the cluster id is valid, if not, return directly.
NXP would like to thank Giorgiomaria Cicero and Gabriele Serra from Accelerat for their respons
fix(imx): check if the cluster id is valid
Check if the cluster id is valid, if not, return directly.
NXP would like to thank Giorgiomaria Cicero and Gabriele Serra from Accelerat for their responsible disclosure
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Change-Id: I69997512fc080daa9579f92a4de9e47531185bcf
show more ...
|
| 861778f9 | 25-Sep-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(intel): correct condition to process unused entries" into integration |
| 40c2cfdd | 25-Sep-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "refactor(el3-runtime): extract cpu_data limitations to top-level constraints" into integration |
| d8a23ecd | 25-Sep-2025 |
Slava Andrianov <slava.andrianov@arm.com> |
fix(build): fix lib cflags use in build macros
Adjust the MAKE_C_LIB build macro so that it correctly finds and includes any library added compilation flags.
Change-Id: I7c0613adc3c7dc7db88cb2f9425
fix(build): fix lib cflags use in build macros
Adjust the MAKE_C_LIB build macro so that it correctly finds and includes any library added compilation flags.
Change-Id: I7c0613adc3c7dc7db88cb2f94252944e46d8d9c1 Signed-off-by: Slava Andrianov <slava.andrianov@arm.com>
show more ...
|
| 1d59d686 | 25-Sep-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(arm): don't override the gic redistributor frames
Patch 75170704c made an oversight - it would provide a default value for the gicr_frames variable but would always set to it, regardless of whet
fix(arm): don't override the gic redistributor frames
Patch 75170704c made an oversight - it would provide a default value for the gicr_frames variable but would always set to it, regardless of whether the platform might want to use something different. The thinking was to provide a default and then let each platform override it, however the order was swapped.
To fix this, put the gic_set_gicr_frames() in bl31_platform_setup() rather than arm_bl31_platform_setup(). This way, platforms that use the default can still enjoy it automatically pulled in from common code, platforms that need fully custom gicr_frames can simply set it, and platforms that override bl31_platform_setup() for unrelated reasons only have to redo the call to gic_set_gicr_frames(). This has a tiny benefit over the old approach in that there will never be 2 gicr_frames arrays.
Change-Id: I734737d3bd37ddbb3286abcdd92c88676c68cdc3 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 93434bdd | 09-Apr-2025 |
Ronak Jain <ronak.jain@amd.com> |
feat(xilinx): deprecate PM_REQ_SUSPEND EEMI API
Deprecate the use of the PM_REQ_SUSPEND EEMI API from the Versal, Versal-Net and Versal Gen 2 platforms. This is because the API is intended for suspe
feat(xilinx): deprecate PM_REQ_SUSPEND EEMI API
Deprecate the use of the PM_REQ_SUSPEND EEMI API from the Versal, Versal-Net and Versal Gen 2 platforms. This is because the API is intended for suspending cross-subsystems, and the same functionality can now be achieved using the ForcePowerdown API. Therefore, continuing to use PM_REQ_SUSPEND API may no longer be necessary. Hence deprecating the same.
Change-Id: I967d7803da4cf433fabfe8d87c32305954f69884 Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 156943e1 | 24-Sep-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(cpufeat): enable FEAT_CPA2 for EL3" into integration |
| a1032beb | 20-Aug-2025 |
John Powell <john.powell@arm.com> |
feat(cpufeat): enable FEAT_CPA2 for EL3
FEAT_CPA2 enables checked pointer arithmetic, which in the event of an arithmetic overflow in pointer generation will result in a non-canonical pointer being
feat(cpufeat): enable FEAT_CPA2 for EL3
FEAT_CPA2 enables checked pointer arithmetic, which in the event of an arithmetic overflow in pointer generation will result in a non-canonical pointer being generated and subsequent address fault.
Note that FEAT_CPA is a trivial implementation that exists in some hardware purely so it can run CPA2-enabled instructions without crashing but they don't actually have checked arithmetic, so FEAT_CPA is not explicitly enabled in TF-A.
Change-Id: I6d2ca7a7e4b986bb9e917aa8baf8091a271c168b Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 324d8975 | 24-Sep-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge "feat(ti): de-assert AINACTS at boot" into integration |
| 879fdd07 | 08-Jun-2025 |
Vignesh Raghavendra <vigneshr@ti.com> |
feat(ti): de-assert AINACTS at boot
De-asserting AINACTS at startup to enable ACP interface. This is required to enable limited system level IO coherency via ACP port (eg.: DMA traffic on AM62L driv
feat(ti): de-assert AINACTS at boot
De-asserting AINACTS at startup to enable ACP interface. This is required to enable limited system level IO coherency via ACP port (eg.: DMA traffic on AM62L driving ASEL = 14/15).
Change-Id: Iceaf992dec5dc37eae6dc06895585ea712f23496 Signed-off-by: Vignesh Raghavendra <vigneshr@ti.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 ...
|
| 4f02a740 | 24-Sep-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(docs): ensure all submodules are cloned" into integration |
| 07a10318 | 24-Sep-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "hm/dfs" into integration
* changes: fix(debugfs): return negative value on error fix(debugfs): guard against negative ch offsets |
| efb21dda | 24-Sep-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(docs): ensure all submodules are cloned
`TLC`, which is part of `LibTL`, is consumed via a Git submodule. Its presence is required when running `poetry install`. Ensure that all submodules are i
fix(docs): ensure all submodules are cloned
`TLC`, which is part of `LibTL`, is consumed via a Git submodule. Its presence is required when running `poetry install`. Ensure that all submodules are initialized and updated by explicitly configuring RTD to fetch submodules recursively prior to installation.
Change-Id: I49e2911473240cb6cbd72234d3a186d077dc307f Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 78b1610e | 24-Sep-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "chore(handoff)!: remove in-tree TLC implementation" into integration |
| b1f53092 | 24-Jul-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(debugfs): return negative value on error
The current implementation of buf_to_channel() returns 0 even on invalid input, making it difficult for callers to distinguish between an error and a suc
fix(debugfs): return negative value on error
The current implementation of buf_to_channel() returns 0 even on invalid input, making it difficult for callers to distinguish between an error and a successful zero-byte transfer.
Change the return behavior to return -1 for error conditions.
Change-Id: Id57d7fd9365f5961a72ba7633dbedd701740e7c4 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| c56a85d0 | 21-Jul-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(debugfs): guard against negative ch offsets
The `chan` struct’s `offset` field was previously a signed long, allowing negative values. When used in comparisons in `buf_to_channel`, a negative of
fix(debugfs): guard against negative ch offsets
The `chan` struct’s `offset` field was previously a signed long, allowing negative values. When used in comparisons in `buf_to_channel`, a negative offset would be cast to a large unsigned integer, causing the bounds check to silently fail. This could allow a negative offset to bypass validation and lead to an out-of-bounds access during operations like `memcpy`.
This patch changes the `offset` field to `unsigned long` and updates affected functions to use the correct types, ensuring all offset comparisons are safe and negative values are disallowed at the type level.
Change-Id: I5d37bbd2fe6d7d3a19628c1a0376c3bf83947f27 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com> Reported-by: Bartek Piekarski <bartek.piekarski@arm.com>
show more ...
|