| 17ef5da7 | 18-Oct-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(context-mgmt): introduce EL3/root context" into integration |
| 9890eab5 | 18-Oct-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(brbe): allow RME builds with BRBE
It used to be the case that a FEAT_RME build could not be built with FEAT_BRBE support. BRBE doesn't have a 3-world aware disable and MDCR_EL3 was not context s
fix(brbe): allow RME builds with BRBE
It used to be the case that a FEAT_RME build could not be built with FEAT_BRBE support. BRBE doesn't have a 3-world aware disable and MDCR_EL3 was not context switched to allow for disabling in Realm world.
As of commit 123002f9171384d976d95935b7f566740d69cc68 MDCR_EL3 is context switched. Since the flag for BRBE support is ENABLE_BRBE_FOR_NS, move brbe_enable() to only happen for NS world. The other worlds will see BRBE disabled and branch recording prohibited. This allows for a build with both RME and BRBE.
Note that EL2 BRBE registers are not context switched. Further work is needed if non-NS support is required.
Change-Id: I82f0f08399dcd080902477dc9636bc4541685f89 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| d7adbb52 | 17-Oct-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "refactor(delay-timer): add timer callback functions" into integration |
| 8fa54607 | 02-Oct-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for arcadia cpu
Add basic CPU library code to support the Arcadia CPU.
Change-Id: Iecb0634dc6dcb34e9b5fda4902335530d237cc43 Signed-off-by: Govindraj Raja <govindraj.raja@arm
feat(cpus): add support for arcadia cpu
Add basic CPU library code to support the Arcadia CPU.
Change-Id: Iecb0634dc6dcb34e9b5fda4902335530d237cc43 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| b6f2e376 | 16-Oct-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(sctlr2): add support for FEAT_SCTLR2" into integration |
| 1cafc96f | 16-Oct-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(the): add support for FEAT_THE" into integration |
| 8ee65344 | 16-Oct-2024 |
Joanna Farley <joanna.farley@arm.com> |
Merge changes from topic "xlnx_fix_plat_console_changes" into integration
* changes: feat(xilinx): add none console feat(versal2): add dtb & runtime console feat(versal-net): add DTB console t
Merge changes from topic "xlnx_fix_plat_console_changes" into integration
* changes: feat(xilinx): add none console feat(versal2): add dtb & runtime console feat(versal-net): add DTB console to platform.mk feat(versal-net): dedicate console for boot and runtime feat(versal): add DTB console to platform.mk feat(versal): dedicate console for boot and runtime refactor(xilinx): register runtime console directly refactor(xilinx): console registration through console holder structure feat(zynqmp): add DTB console to platform.mk feat(zynqmp): dedicate console for boot and runtime fix(xilinx): dcc to support runtime console scope refactor(xilinx): create generic function for DT console refactor(xilinx): rename setup_runtime_console to generic chore(xilinx): rename console variables chore(xilinx): rename runtime console to DT console
show more ...
|
| db9ee834 | 26-Sep-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
chore(cpus): optimise runtime errata applications
The errata framework has a helper to invoke workarounds, complete with a cpu rev_var check. We can use that directly instead of the apply_cpu_pwr_dw
chore(cpus): optimise runtime errata applications
The errata framework has a helper to invoke workarounds, complete with a cpu rev_var check. We can use that directly instead of the apply_cpu_pwr_dwn_errata to save on some code, as well as an extra branch. It's also more readable.
Also, apply_erratum invocation in cpu files don't need to check the rev_var as that was already done by the cpu_ops dispatcher for us to end up in the file.
Finally, X2 erratum 2768515 only applies in the powerdown sequence, i.e. at runtime. It doesn't achieve anything at reset, so we can label it accordingly.
Change-Id: I02f9dd7d0619feb54c870938ea186be5e3a6ca7b Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| a6485b2b | 21-Aug-2024 |
Abhi.Singh <abhi.singh@arm.com> |
refactor(delay-timer): add timer callback functions
In order to avoid separate platform definitions when not using the default timer functions, it is better to move these functions out of the header
refactor(delay-timer): add timer callback functions
In order to avoid separate platform definitions when not using the default timer functions, it is better to move these functions out of the header file and into the source files, so that they can be built if needed.
Move timer functions from delay_timer.h into generic_delay_timer.c. Add them as callback functions which are then called in delay_timer.c.
Change-Id: I96a1eac8948b1a7b1e481899b67a083db4c9b97d Signed-off-by: Abhi Singh <abhi.singh@arm.com>
show more ...
|
| 6a88ec8b | 04-Jun-2024 |
Raghu Krishnamurthy <raghupathyk@nvidia.com> |
feat(rmmd): el3 token sign during attestation
Add required SMCs by RMM to push attestation signing requests to EL3 and get responses. EL3 may then choose to push these requests to a HES as suitable
feat(rmmd): el3 token sign during attestation
Add required SMCs by RMM to push attestation signing requests to EL3 and get responses. EL3 may then choose to push these requests to a HES as suitable for a platform. This patch also supports the new RMM_EL3_FEATURES interface, that RMM can use to query for support for HES based signing. The new interface exposes a feature register with different bits defining different discoverable features. This new interface is available starting the 0.4 version of the RMM-EL3 interface, causing the version to bump up. This patch also adds a platform port for FVP that implements the platform hooks required to enable the new SMCs, but it does not push to a HES and instead copies a zeroed buffer in EL3.
Change-Id: I69c110252835122a9533e71bdcce10b5f2a686b2 Signed-off-by: Raghu Krishnamurthy <raghupathyk@nvidia.com>
show more ...
|
| 40e5f7a5 | 08-Aug-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(context-mgmt): introduce EL3/root context
* This patch adds root context procedure to restore/configure the registers, which are of importance during EL3 execution.
* EL3/Root context is a s
feat(context-mgmt): introduce EL3/root context
* This patch adds root context procedure to restore/configure the registers, which are of importance during EL3 execution.
* EL3/Root context is a simple restore operation that overwrites the following bits: (MDCR_EL3.SDD, SCR_EL3.{EA, SIF}, PMCR_EL0.DP PSTATE.DIT) while the execution is in EL3.
* It ensures EL3 world maintains its own settings distinct from other worlds (NS/Realm/SWd). With this in place, the EL3 system register settings is no longer influenced by settings of incoming worlds. This allows the EL3/Root world to access features for its own execution at EL3 (eg: Pauth).
* It should be invoked at cold and warm boot entry paths and also at all the possible exception handlers routing to EL3 at runtime. Cold and warm boot paths are handled by including setup_el3_context function in "el3_entrypoint_common" macro, which gets invoked in both the entry paths.
* At runtime, el3_context is setup at the stage, while we get prepared to enter into EL3 via "prepare_el3_entry" routine.
Change-Id: I5c090978c54a53bc1c119d1bc5fa77cd8813cdc2 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 483dc2e4 | 11-Jan-2024 |
Omkar Anand Kulkarni <omkar.kulkarni@arm.com> |
fix(el3-runtime): correct CASSERT for cpu data size
Build breaks when EL3_EXCEPTION_HANDLING option is enabled. The CPU_DATA_SIZE macro does not consider the size required to save the ehf_data field
fix(el3-runtime): correct CASSERT for cpu data size
Build breaks when EL3_EXCEPTION_HANDLING option is enabled. The CPU_DATA_SIZE macro does not consider the size required to save the ehf_data field of cpu_data structure.
include/lib/el3_runtime/cpu_data.h:163:17: error: size of array 'assert_cpu_data_size_mismatch' is negative assert_cpu_data_size_mismatch);
This patch adds support to consider ehf_data field to calculate the CPU_DATA_SIZE macro. Also adds relevant checks and asserts if the ehf_data field is not considered.
Signed-off-by: Omkar Anand Kulkarni <omkar.kulkarni@arm.com> Change-Id: I3c11b2982f4a612ce28e46848b5c5035a8f8efc2
show more ...
|
| 238eb542 | 23-Sep-2024 |
Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com> |
fix(xilinx): dcc to support runtime console scope
DCC driver to support boot and runtime console scope switch for dedicated boot and runtime consoles.
Change-Id: I7769dc44860a5fda99ca42ce17a3a60092
fix(xilinx): dcc to support runtime console scope
DCC driver to support boot and runtime console scope switch for dedicated boot and runtime consoles.
Change-Id: I7769dc44860a5fda99ca42ce17a3a6009288d7e7 Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
show more ...
|
| 4ec4e545 | 06-Sep-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(sctlr2): add support for FEAT_SCTLR2
Arm v8.9 introduces FEAT_SCTLR2, adding SCTLR2_ELx registers. Support this, context switching the registers and disabling traps so lower ELs can access the
feat(sctlr2): add support for FEAT_SCTLR2
Arm v8.9 introduces FEAT_SCTLR2, adding SCTLR2_ELx registers. Support this, context switching the registers and disabling traps so lower ELs can access the new registers.
Change the FVP platform to default to handling this as a dynamic option so the right decision can be made by the code at runtime.
Change-Id: I0c4cba86917b6b065a7e8dd6af7daf64ee18dcda Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 6d0433f0 | 05-Sep-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(the): add support for FEAT_THE
Arm v8.9 introduces FEAT_THE, adding Translation Hardening Extension Read-Check-Write mask registers, RCWMASK_EL1 and RCWSMASK_EL1. Support this, context switchin
feat(the): add support for FEAT_THE
Arm v8.9 introduces FEAT_THE, adding Translation Hardening Extension Read-Check-Write mask registers, RCWMASK_EL1 and RCWSMASK_EL1. Support this, context switching the registers and disabling traps so lower ELs can access the new registers.
Change the FVP platform to default to handling this as a dynamic option so the right decision can be made by the code at runtime.
Change-Id: I8775787f523639b39faf61d046ef482f73b2a562 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| eaaf26e3 | 09-Oct-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I93de2db1,I880f88b1,I02e2fc75,I48908413,Ie7de9a9f, ... into integration
* changes: feat(st-ddr): add STM32MP2 driver refactor(st-ddr): create generic services refactor(st-ddr): r
Merge changes I93de2db1,I880f88b1,I02e2fc75,I48908413,Ie7de9a9f, ... into integration
* changes: feat(st-ddr): add STM32MP2 driver refactor(st-ddr): create generic services refactor(st-ddr): remove name from stm32mp_ddr_reg_desc refactor(st-ddr): add definition for timeouts and delays feat(st): add stm32mp_is_wakeup_from_standby() feat(stm32mp2): add RETRAM map/unmap capability feat(stm32mp2): add helper to get DDRDBG base address feat(stm32mp2): handle DDR power supplies feat(stm32mp1): handle DDR power supplies
show more ...
|
| 01c80c19 | 09-Oct-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "nxp-clk/add_ddr_clk" into integration
* changes: fix(nxp-clk): function parameter should not be modified feat(nxp-clk): enable the DDR clock feat(nxp-clk): add object
Merge changes from topic "nxp-clk/add_ddr_clk" into integration
* changes: fix(nxp-clk): function parameter should not be modified feat(nxp-clk): enable the DDR clock feat(nxp-clk): add objects needed for DDR clock feat(nxp-clk): setup the DDR PLL feat(nxp-clk): add MC_ME utilities feat(nxp-clk): add partition reset utilities feat(nxp-clk): add partitions objects
show more ...
|
| 79629b1a | 01-Jul-2021 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
feat(st-ddr): add STM32MP2 driver
Add driver to support DDR on STM32MP2 platform. It drives the DDR PHY and its firmware, as well as the DDR controller.
Signed-off-by: Nicolas Le Bayon <nicolas.le.
feat(st-ddr): add STM32MP2 driver
Add driver to support DDR on STM32MP2 platform. It drives the DDR PHY and its firmware, as well as the DDR controller.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: I93de2db1b9378d5654e76b3bf6f3407d80bc4ca5
show more ...
|
| 5765e0c9 | 07-Oct-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(cpus): modify the fix for Cortex-A75 erratum 764081" into integration |
| a100a1c8 | 07-Oct-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(cpus): workaround for Cortex-X4 erratum 3076789" into integration |
| 7f152ea6 | 10-Jul-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): modify the fix for Cortex-A75 erratum 764081
Apply the mitigation only for the revision and variant mentioned in the SDEN.
SDEN Documentation: https://developer.arm.com/documentation/SDE
fix(cpus): modify the fix for Cortex-A75 erratum 764081
Apply the mitigation only for the revision and variant mentioned in the SDEN.
SDEN Documentation: https://developer.arm.com/documentation/SDEN859515/latest
Change-Id: Ifda1f4cb32bdec9a9af29397ddc03bf22a7a87fc Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| d596023b | 08-Mar-2022 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
refactor(st-ddr): create generic services
Disabling AXI port, enabling host interface and both enabling/disabling software self-refresh services are already present inside the driver source code. Fa
refactor(st-ddr): create generic services
Disabling AXI port, enabling host interface and both enabling/disabling software self-refresh services are already present inside the driver source code. Factorize by gathering them as services inside the generic part, and adapt driver to call these new functions.
Add services to manage quasi-dynamic registers. DDRCTRL contains quasi-dynamic registers, which are dynamic only under some conditions defined by the user guide (with 4 groups). In our driver, out of reset state, only groups 3 and 4 are updated. Group 4 needs only sw_done/sw_done_ack sequence, already available. Group 3 sequence include more conditions, that are gathered in specific services. stm32mp_ddr_disable_host_interface() has been added to do this.
Add dedicated generic service to toggle rfshctl3.refresh_update_level and wait for completion.
Manage AXI ports and HIF when updating QD3 registers. Quasi-dynamic group 3 (QD3) registers are updated when DDR is not completely initialized, i.e. when AXI ports are not enabled and possibly when host interface (HIF) is not enabled too. In that case, a specific mechanism is necessary to restore the same conditions as before accessing QD3 registers. Static functions have been added to get AXI ports and HIF states and are used to determine the needed conditions to set/unset.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Change-Id: I880f88b1cb6fc76199ad9ea33e9d63a5c469aed4
show more ...
|
| 1483b3c3 | 29-May-2024 |
Yann Gautier <yann.gautier@st.com> |
refactor(st-ddr): remove name from stm32mp_ddr_reg_desc
It was only used for an error trace, with little added value. This allows some gains in DDR driver data size.
Signed-off-by: Yann Gautier <ya
refactor(st-ddr): remove name from stm32mp_ddr_reg_desc
It was only used for an error trace, with little added value. This allows some gains in DDR driver data size.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I02e2fc75efd90ff188e62f39850b9bd4c3af1649
show more ...
|
| 066a5958 | 29-May-2024 |
Yann Gautier <yann.gautier@st.com> |
refactor(st-ddr): add definition for timeouts and delays
Instead of using hard-coded number in DDR driver, use macros. Modify TIMEOUT_US_1S to DDR_TIMEOUT_US_1S to align with other defines.
Signed-
refactor(st-ddr): add definition for timeouts and delays
Instead of using hard-coded number in DDR driver, use macros. Modify TIMEOUT_US_1S to DDR_TIMEOUT_US_1S to align with other defines.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I489084132821774b0049a4a5d7fc30db24a7bb11
show more ...
|
| 47e62314 | 16-Feb-2023 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
feat(stm32mp1): handle DDR power supplies
Modify the DDR driver to handle the DDR power supplies when a PMIC is present in the function stm32mp_board_ddr_power_init(), define in the platform file.
feat(stm32mp1): handle DDR power supplies
Modify the DDR driver to handle the DDR power supplies when a PMIC is present in the function stm32mp_board_ddr_power_init(), define in the platform file.
This patch allows to easily modify the used DDR power supplies for customer boards, when they don't use STPMIC1 PMU or when the regulators are not connected as on the STMicroelectronics boards.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Change-Id: I93ee6295ef7032ac20f03608d22cd460f7d87ef5
show more ...
|