| fe488c37 | 20-Feb-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(rdv3): handle invalid build combination
`CTX_INCLUDE_SVE_REGS` should not be enabled when building with SPD=spmd and SPMD_SPM_AT_SEL2=1 both been used.
Unfortunately a check at top level makefi
fix(rdv3): handle invalid build combination
`CTX_INCLUDE_SVE_REGS` should not be enabled when building with SPD=spmd and SPMD_SPM_AT_SEL2=1 both been used.
Unfortunately a check at top level makefile ignored this, now its been fixed at top level makefile. Ensure correct combination are handled, otherwise it will lead to build failures.
Change-Id: Ib84fc0096c92d9b3d56366c0e1d77b6d83098221 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 9da0ba8e | 27-Feb-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes Ie8c83c92,I9cca19fd into integration
* changes: feat(stm32mp2): disable PIE by default on STM32MP2 platform refactor(stm32mp2): remove useless STM32MP_SEC_SYSRAM_SIZE |
| 7c375410 | 27-Feb-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(romlib): add PSA Crypto ROMLIB support" into integration |
| ac9abe7e | 10-Dec-2024 |
Maxime Méré <maxime.mere@foss.st.com> |
feat(stm32mp2): disable PIE by default on STM32MP2 platform
Allow to disable ENABLE_PIE on STM32MP2. BL31 is loaded at the beginning of SYSRAM whatever the options set. Set ENABLE_PIE to 0 by defaul
feat(stm32mp2): disable PIE by default on STM32MP2 platform
Allow to disable ENABLE_PIE on STM32MP2. BL31 is loaded at the beginning of SYSRAM whatever the options set. Set ENABLE_PIE to 0 by default. This should allow us to reduce BL31 and BL2 size.
Change-Id: Ie8c83c9205e81301eb1fdcf24b94216172586630 Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
show more ...
|
| 6f891e68 | 25-Feb-2025 |
Cathy Xu <ot_cathy.xu@mediatek.com> |
feat(mt8196): fix MT8196 gpio driver
- Add GPIO_BASE in mtgpio.c - Modify gpio register address
Signed-off-by: Cathy Xu <ot_cathy.xu@mediatek.com> Change-Id: I648473fa373d208fa29c7069637974e097b75b
feat(mt8196): fix MT8196 gpio driver
- Add GPIO_BASE in mtgpio.c - Modify gpio register address
Signed-off-by: Cathy Xu <ot_cathy.xu@mediatek.com> Change-Id: I648473fa373d208fa29c7069637974e097b75b26
show more ...
|
| cf1b7fe6 | 18-Feb-2025 |
laurenw <lauren.wehrmeister@arm.com> |
feat(romlib): add PSA Crypto ROMLIB support
Adding PSA Crypto MBedTLS specific jump table to allow use of ROMLIB, to be included when PSA_CRYPTO=1 and enabled.
Signed-off-by: Lauren Wehrmeister <la
feat(romlib): add PSA Crypto ROMLIB support
Adding PSA Crypto MBedTLS specific jump table to allow use of ROMLIB, to be included when PSA_CRYPTO=1 and enabled.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Iff7f0e3c5cba6b89f1732f6c80d3060498e3675d
show more ...
|
| 104ec53e | 26-Feb-2025 |
Yann Gautier <yann.gautier@st.com> |
refactor(stm32mp2): remove useless STM32MP_SEC_SYSRAM_SIZE
The macro STM32MP_SEC_SYSRAM_SIZE only redefine STM32MP_SYSRAM_SIZE. Directly use the latter one and remove the STM32MP_SEC_SYSRAM_SIZE.
S
refactor(stm32mp2): remove useless STM32MP_SEC_SYSRAM_SIZE
The macro STM32MP_SEC_SYSRAM_SIZE only redefine STM32MP_SYSRAM_SIZE. Directly use the latter one and remove the STM32MP_SEC_SYSRAM_SIZE.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I9cca19fda7294be3f31ec74293ce122037541d12
show more ...
|
| 71ba1647 | 22-Nov-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(st): use dedicated version of DT for SP_MIN
If an STM32MP15 board is compiled for SP_MIN, and a specific DT file ending with "-sp_min.dts" exist, then this file will be used to generate BL2 and
feat(st): use dedicated version of DT for SP_MIN
If an STM32MP15 board is compiled for SP_MIN, and a specific DT file ending with "-sp_min.dts" exist, then this file will be used to generate BL2 and BL32 DT.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Ief6fb4fcf302d07f958a0e2764b149759127f21f
show more ...
|
| 98c65165 | 26-Feb-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: rename arcadia to Cortex-A320
Cortex-A320 has been announced, rename arcadia to Cortex-A320.
Ref: https://newsroom.arm.com/blog/introducing-arm-cortex-a320-cpu https://www.arm.com/products/s
chore: rename arcadia to Cortex-A320
Cortex-A320 has been announced, rename arcadia to Cortex-A320.
Ref: https://newsroom.arm.com/blog/introducing-arm-cortex-a320-cpu https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a320
Change-Id: Ifb3743d43dca3d8caaf1e7416715ccca4fdf195f Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 1733deb4 | 26-Feb-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fvp): add stub function to retrieve DLME image auth features
DLME image authentication features are currently not supported on FVP. This patch introduces a stub function in fvp_drtm_stub.c as a
feat(fvp): add stub function to retrieve DLME image auth features
DLME image authentication features are currently not supported on FVP. This patch introduces a stub function in fvp_drtm_stub.c as a placeholder for retrieving DLME image authentication features.
Change-Id: I6d274834245774c5442d67ee93fcd641f3a9cd1a Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 5d377555 | 24-Feb-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fvp): add stub platform function to get ACPI table region size
Introduces a stub platform function for FVP to retrieve the ACPI table region size.
Change-Id: Icbf1ae0cb89c393502de2c2f4f66df6b5
feat(fvp): add stub platform function to get ACPI table region size
Introduces a stub platform function for FVP to retrieve the ACPI table region size.
Change-Id: Icbf1ae0cb89c393502de2c2f4f66df6b510e6b81 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 04b2fb42 | 25-Feb-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(rk3576): support rk3576" into integration |
| abf6666e | 06-Nov-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
perf(psci): get PMF timestamps with no cache flushes if possible
Whenever we have HW_ASSISTED_COHERENCY, caches are enabled early and we let the cores do the cache maintenance on our behalf. This is
perf(psci): get PMF timestamps with no cache flushes if possible
Whenever we have HW_ASSISTED_COHERENCY, caches are enabled early and we let the cores do the cache maintenance on our behalf. This is true for the PSCI stat timestamp capture and used to be the case. However, a model bug required us to do the cache maintenance manually. That has been fixed so we can revert back.
Change-Id: Id315a8fea500fb5e2433d3786b2be5a9084300a7 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 83ec7e45 | 06-Nov-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
perf(amu): greatly simplify AMU context management
The current code is incredibly resilient to updates to the spec and has worked quite well so far. However, recent implementations expose a weakness
perf(amu): greatly simplify AMU context management
The current code is incredibly resilient to updates to the spec and has worked quite well so far. However, recent implementations expose a weakness in that this is rather slow. A large part of it is written in assembly, making it opaque to the compiler for optimisations. The future proofness requires reading registers that are effectively `volatile`, making it even harder for the compiler, as well as adding lots of implicit barriers, making it hard for the microarchitecutre to optimise as well.
We can make a few assumptions, checked by a few well placed asserts, and remove a lot of this burden. For a start, at the moment there are 4 group 0 counters with static assignments. Contexting them is a trivial affair that doesn't need a loop. Similarly, there can only be up to 16 group 1 counters. Contexting them is a bit harder, but we can do with a single branch with a falling through switch. If/when both of these change, we have a pair of asserts and the feature detection mechanism to guard us against pretending that we support something we don't.
We can drop contexting of the offset registers. They are fully accessible by EL2 and as such are its responsibility to preserve on powerdown.
Another small thing we can do, is pass the core_pos into the hook. The caller already knows which core we're running on, we don't need to call this non-trivial function again.
Finally, knowing this, we don't really need the auxiliary AMUs to be described by the device tree. Linux doesn't care at the moment, and any information we need for EL3 can be neatly placed in a simple array.
All of this, combined with lifting the actual saving out of assembly, reduces the instructions to save the context from 180 to 40, including a lot fewer branches. The code is also much shorter and easier to read.
Also propagate to aarch32 so that the two don't diverge too much.
Change-Id: Ib62e6e9ba5be7fb9fb8965c8eee148d5598a5361 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 2590e819 | 25-Nov-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
perf(mpmm): greatly simplify MPMM enablement
MPMM is a core-specific microarchitectural feature. It has been present in every Arm core since the Cortex-A510 and has been implemented in exactly the s
perf(mpmm): greatly simplify MPMM enablement
MPMM is a core-specific microarchitectural feature. It has been present in every Arm core since the Cortex-A510 and has been implemented in exactly the same way. Despite that, it is enabled more like an architectural feature with a top level enable flag. This utilised the identical implementation.
This duality has left MPMM in an awkward place, where its enablement should be generic, like an architectural feature, but since it is not, it should also be core-specific if it ever changes. One choice to do this has been through the device tree.
This has worked just fine so far, however, recent implementations expose a weakness in that this is rather slow - the device tree has to be read, there's a long call stack of functions with many branches, and system registers are read. In the hot path of PSCI CPU powerdown, this has a significant and measurable impact. Besides it being a rather large amount of code that is difficult to understand.
Since MPMM is a microarchitectural feature, its correct placement is in the reset function. The essence of the current enablement is to write CPUPPMCR_EL3.MPMM_EN if CPUPPMCR_EL3.MPMMPINCTL == 0. Replacing the C enablement with an assembly macro in each CPU's reset function achieves the same effect with just a single close branch and a grand total of 6 instructions (versus the old 2 branches and 32 instructions).
Having done this, the device tree entry becomes redundant. Should a core that doesn't support MPMM arise, this can cleanly be handled in the reset function. As such, the whole ENABLE_MPMM_FCONF and platform hooks mechanisms become obsolete and are removed.
Change-Id: I1d0475b21a1625bb3519f513ba109284f973ffdf Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| a8a5d39d | 24-Feb-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "bk/errata_speed" into integration
* changes: refactor(cpus): declare runtime errata correctly perf(cpus): make reset errata do fewer branches perf(cpus): inline the i
Merge changes from topic "bk/errata_speed" into integration
* changes: refactor(cpus): declare runtime errata correctly perf(cpus): make reset errata do fewer branches perf(cpus): inline the init_cpu_data_ptr function perf(cpus): inline the reset function perf(cpus): inline the cpu_get_rev_var call perf(cpus): inline cpu_rev_var checks refactor(cpus): register DSU errata with the errata framework's wrappers refactor(cpus): convert checker functions to standard helpers refactor(cpus): convert the Cortex-A65 to use the errata framework fix(cpus): declare reset errata correctly
show more ...
|
| 23828430 | 24-Feb-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge "feat(intel): add FDT support for Altera products" into integration |
| 29d1e29d | 10-Feb-2025 |
Jit Loon Lim <jit.loon.lim@altera.com> |
feat(intel): add FDT support for Altera products
Support FDT for Agilex5 platform 1. Created wrapper file socfpga_dt.c 2. Added in Agilex5 dts file 3. Implemented fdt_check_header 4. Implemented gic
feat(intel): add FDT support for Altera products
Support FDT for Agilex5 platform 1. Created wrapper file socfpga_dt.c 2. Added in Agilex5 dts file 3. Implemented fdt_check_header 4. Implemented gic configuration 5. Implemented dram configuration
Remove init of FDT as Agilex5 has no plan to roll out FDT at the moment.
Change-Id: If3990ed9524c6da5b3cb8966b63bc4a95d01fcda Signed-off-by: Jit Loon Lim <jit.loon.lim@altera.com>
show more ...
|
| dae7d729 | 24-Feb-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge "feat(rockchip): increase FDT Buffer for Rockchip Devices" into integration |
| 9020b9ac | 24-Feb-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge "feat(rockchip): update uart baudrate for rk3399" into integration |
| 036935a8 | 07-Feb-2025 |
XiaoDong Huang <derrick.huang@rock-chips.com> |
feat(rk3576): support rk3576
rk3576 is an Octa-core soc with Cortex-a53/a72 inside. This patch supports the following functions: 1. basic platform setup 2. power up/off cpus 3. suspend/resume cpus 4
feat(rk3576): support rk3576
rk3576 is an Octa-core soc with Cortex-a53/a72 inside. This patch supports the following functions: 1. basic platform setup 2. power up/off cpus 3. suspend/resume cpus 4. suspend/resume system 5. reset system 6. power off system
Change-Id: I67a019822bd4af13e4a3cdd09cf06202f4922cc4 Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
show more ...
|
| 02f0e6e4 | 21-Feb-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(rme): map DEVICE0_BASE as EL3_PAS" into integration |
| 0cc5e210 | 20-Feb-2025 |
Senthil Nathan Thangaraj <senthilnathan.thangaraj@amd.com> |
feat(versal2): extended SMCCC payload for EEMI
Until Versal, the extended SMCCC payload was supported only for QUERY_DATA, while other APIs used the legacy SMCCC format.
In Versal Gen 2, all EEMI A
feat(versal2): extended SMCCC payload for EEMI
Until Versal, the extended SMCCC payload was supported only for QUERY_DATA, while other APIs used the legacy SMCCC format.
In Versal Gen 2, all EEMI APIs are supported with extended SMCCC payload only, enabling a simplified and efficient pass-through implementation.
Also, set TFA_NO_PM to 0 to enable power management by default.
Change-Id: I937be3c78ebe87c62f8697a0a82cdcd21c185f56 Signed-off-by: Senthil Nathan Thangaraj <senthilnathan.thangaraj@amd.com>
show more ...
|
| 414cf08b | 20-Feb-2025 |
Senthil Nathan Thangaraj <senthilnathan.thangaraj@amd.com> |
feat(versal2): add support for platform management
Add support for PM functionality through EEMI interface for Versal Gen 2. Add support of PM APIs in PSCI ops. Add TFA_NO_PM flag to disable PM func
feat(versal2): add support for platform management
Add support for PM functionality through EEMI interface for Versal Gen 2. Add support of PM APIs in PSCI ops. Add TFA_NO_PM flag to disable PM functionality. Enable wakeup for new peripherals
Change-Id: I1bf67dc46af91ee113c627d32ae6ecc1dad386c2 Signed-off-by: Naman Trivedi <naman.trivedimanojbhai@amd.com> Signed-off-by: Senthil Nathan Thangaraj <senthilnathan.thangaraj@amd.com>
show more ...
|
| aec66c38 | 20-Feb-2025 |
Senthil Nathan Thangaraj <senthilnathan.thangaraj@amd.com> |
feat(versal2): add dependency macro for PM
The pm_api_sys.c file has dependency on the PLAT_ARM_GICR_BASE macro. Add the macro to fix compilation error when PM is enabled.
Change-Id: Ibd77dd38b4a2a
feat(versal2): add dependency macro for PM
The pm_api_sys.c file has dependency on the PLAT_ARM_GICR_BASE macro. Add the macro to fix compilation error when PM is enabled.
Change-Id: Ibd77dd38b4a2a55614064c4ed0b1096acc658a5c Signed-off-by: Naman Trivedi <naman.trivedimanojbhai@amd.com> Signed-off-by: Senthil Nathan Thangaraj <senthilnathan.thangaraj@amd.com>
show more ...
|