| #
e655b00d |
| 10-Nov-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge changes from topic "gr/cov_fixes" into integration
* changes: fix(libc): fix coverity overflowed constant fix(libc): fix coverity overflowed constant fix(psci): fix coverity issue with o
Merge changes from topic "gr/cov_fixes" into integration
* changes: fix(libc): fix coverity overflowed constant fix(libc): fix coverity overflowed constant fix(psci): fix coverity issue with out-of-bounds read fix(fvp): fix coverity issue unsigned_compare
show more ...
|
| #
4824e250 |
| 31-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(fvp): fix coverity issue unsigned_compare
Fixes less than zero comparison for unsigned value.
Issue Description: CID 447712: (#1 of 1): Macro compares unsigned to 0 (NO_EFFECT) unsigned_compare
fix(fvp): fix coverity issue unsigned_compare
Fixes less than zero comparison for unsigned value.
Issue Description: CID 447712: (#1 of 1): Macro compares unsigned to 0 (NO_EFFECT) unsigned_compare: This less-than-zero comparison of an unsigned value is never true. power_level < 0ULL.
Change-Id: Ia06f8729ac78b05046402e29e30f55c5f0b9e215 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
139a5d05 |
| 18-Apr-2025 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I86959e67,I0b0d1d36,I5b5267f4,I056c8710,I3474aa97 into integration
* changes: chore: fix preprocessor checks refactor: convert arm platforms to use the generic GIC driver refacto
Merge changes I86959e67,I0b0d1d36,I5b5267f4,I056c8710,I3474aa97 into integration
* changes: chore: fix preprocessor checks refactor: convert arm platforms to use the generic GIC driver refactor(gic): promote most of the GIC driver to common code refactor: make arm_gicv2.c and arm_gicv3.c common refactor(fvp): use more arm generic code for gicv3
show more ...
|
| #
c5c54e20 |
| 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor: convert arm platforms to use the generic GIC driver
This reduces the code the platforms have to carry and makes their build rules a bit simpler.
The main benefit is that plat_my_core_pos(
refactor: convert arm platforms to use the generic GIC driver
This reduces the code the platforms have to carry and makes their build rules a bit simpler.
The main benefit is that plat_my_core_pos() no longer needs to be called within the driver, helping with performance a bit.
Change-Id: I0b0d1d36d20d67c41c8c9dc14ade11bda6d4a6af Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
cb331826 |
| 12-Dec-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(fvp): use more arm generic code for gicv3
The arm generic implementation for the GIC is quite comprehensive and the fvp's requirements don't diverge too much. Despite that, they completely
refactor(fvp): use more arm generic code for gicv3
The arm generic implementation for the GIC is quite comprehensive and the fvp's requirements don't diverge too much. Despite that, they completely override a lot of code that is effectively reused. Use the generic implementation instead to make it easier to follow and override as little code as possible.
Change-Id: I3474aa970d7fbb91d75c0be6a255bc0da734f860 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
fcb80d7d |
| 11-Feb-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I765a7fa0,Ic33f0b6d,I8d1a88c7,I381f96be,I698fa849, ... into integration
* changes: fix(cpus): clear CPUPWRCTLR_EL1.CORE_PWRDN_EN_BIT on reset chore(docs): drop the "wfi" from `pwr_
Merge changes I765a7fa0,Ic33f0b6d,I8d1a88c7,I381f96be,I698fa849, ... into integration
* changes: fix(cpus): clear CPUPWRCTLR_EL1.CORE_PWRDN_EN_BIT on reset chore(docs): drop the "wfi" from `pwr_domain_pwr_down_wfi` chore(psci): drop skip_wfi variable feat(arm): convert arm platforms to expect a wakeup fix(cpus): avoid SME related loss of context on powerdown feat(psci): allow cores to wake up from powerdown refactor: panic after calling psci_power_down_wfi() refactor(cpus): undo errata mitigations feat(cpus): add sysreg_bit_toggle
show more ...
|
| #
da305ec7 |
| 26-Sep-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(arm): convert arm platforms to expect a wakeup
Newer cores in upcoming platforms may refuse to power down. The PSCI library is already prepared for this so convert platform code to also allow t
feat(arm): convert arm platforms to expect a wakeup
Newer cores in upcoming platforms may refuse to power down. The PSCI library is already prepared for this so convert platform code to also allow this. This is simple - drop the `wfi` + panic and let common code deal with the fallout. The end result will be the same (sans the message) except the platform will have fewer responsibilities. The only exception is for cores being signalled to power off gracefully ahead of system reset. That path must also be terminal so replace the end with the same psci_pwrdown_cpu_end() to behave the same as the generic implementation. It will handle wakeups and panic, hoping that the system gets reset from under it. The dmb is upgraded to a dsb so no functional change.
Change-Id: I381f96bec8532bda6ccdac65de57971aac42e7e8 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
e4b77745 |
| 31-Oct-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "refactor(fvp): add support for cluster power-on" into integration
|
| #
b9c3a8c0 |
| 15-Oct-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(fvp): add support for cluster power-on
All new FVP's have incorporated the following PYSR bits
bit 31 is cluster ON status bit 30 is core ON status bit 29 is thread ON status
So add suppo
refactor(fvp): add support for cluster power-on
All new FVP's have incorporated the following PYSR bits
bit 31 is cluster ON status bit 30 is core ON status bit 29 is thread ON status
So add support to check cluster power ON which is supported from affinity-level-2
But older cores with no DSU still uses affinity-level-1 for cluster power-on status.
Ref: https://developer.arm.com/documentation/100964/1125/Base-Platform/Base---components
Change-Id: Id86811b14685d9ca900021301e5e8b7d52189963 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
3d630fa2 |
| 06-Feb-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "jc/psci_spe" into integration
* changes: fix(spe): invoke spe_disable during power domain off/suspend feat(psci): add psci_do_manage_extensions API fix(arm_fpga): hal
Merge changes from topic "jc/psci_spe" into integration
* changes: fix(spe): invoke spe_disable during power domain off/suspend feat(psci): add psci_do_manage_extensions API fix(arm_fpga): halve number of PEs per core
show more ...
|
| #
777f1f68 |
| 18-Jul-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(spe): invoke spe_disable during power domain off/suspend
spe_disable function, disables profiling and flushes all the buffers and hence needs to be called on power-off/suspend path. It needs to
fix(spe): invoke spe_disable during power domain off/suspend
spe_disable function, disables profiling and flushes all the buffers and hence needs to be called on power-off/suspend path. It needs to be invoked as SPE feature writes to memory as part of regular operation and not disabling before exiting coherency could potentially cause issues.
Currently, this is handled only for the FVP. Other platforms need to replicate this behaviour and is covered as part of this patch.
Calling it from generic psci library code, before the platform specific actions to turn off the CPUs, will make it applicable for all the platforms which have ported the PSCI library.
Change-Id: I90b24c59480357e2ebfa3dfc356c719ca935c13d Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| #
4bb6bd1e |
| 14-Sep-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(plat/arm): do not program DSU CLUSTERPWRDN register" into integration
|
| #
3209b35d |
| 13-Sep-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(plat/arm): do not program DSU CLUSTERPWRDN register
This reverts commit 9cf7f355ce8984a4cde970d5f57c913d5247ca6d.
Above mentioned commit was writing to cluster power required bit of CLUSTERPWRD
fix(plat/arm): do not program DSU CLUSTERPWRDN register
This reverts commit 9cf7f355ce8984a4cde970d5f57c913d5247ca6d.
Above mentioned commit was writing to cluster power required bit of CLUSTERPWRDN register, which provides an advisory status to the power controller. Bit definition indication: 0 : Cluster power is not required when all cores are powered down 1 : Cluster power is required even when all cores are powered down RESET value of this bit is 0
The current implementation in TF-A just programs this bit to 0 when cluster power down is done but it never sets it to 1. Which actully does not change any behaviour as the value of this bit always remains 0.
Ideally this bit has to be set to 1 when a core powers up (as RESET value is 0) and set it to 0 for any core power down except if its last man standing, in that case we need to ensure the target power level from OS is cluster then we can do set it to 0. There also are some investigation needs to be done to find that whether we need a explicit message to power controller for turning cluster OFF or it will happen automatically.
Considering this needs a bit of analysis as well as a platform to test it on, revert the changes which impact the programming during cluster power down and just keep register defnition.
Change-Id: I4c4ebedae7ca9cd081fb1e0605b9d906d77614d9 Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
show more ...
|
| #
21fcd9f4 |
| 10-Jul-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "psci-osi" into integration
* changes: fix(sc7280): update system suspend in OS-initiated mode fix(fvp): update system suspend in OS-initiated mode
|
| #
e0ef05bb |
| 28-Jun-2023 |
Wing Li <wingers@google.com> |
fix(fvp): update system suspend in OS-initiated mode
This patch fixes system suspend in OS-initiated mode by setting the value of `last_at_pwrlvl` in the `psci_power_state_t` object to `PLAT_MAX_PWR
fix(fvp): update system suspend in OS-initiated mode
This patch fixes system suspend in OS-initiated mode by setting the value of `last_at_pwrlvl` in the `psci_power_state_t` object to `PLAT_MAX_PWR_LVL`, which otherwise would result in undefined behavior.
This is conditionally compiled into the build depending on the value of the `PSCI_OS_INIT_MODE` build option.
Change-Id: Ia0fb1e68af9320370325642b17c4569e9580aa3a Signed-off-by: Wing Li <wingers@google.com>
show more ...
|
| #
f4d011b0 |
| 12-Jun-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "psci-osi" into integration
* changes: fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t fix(sc7280): update pwr_domain_suspend fix(fvp): update p
Merge changes from topic "psci-osi" into integration
* changes: fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t fix(sc7280): update pwr_domain_suspend fix(fvp): update pwr_domain_suspend
show more ...
|
| #
f51d277d |
| 04-May-2023 |
Wing Li <wingers@google.com> |
fix(fvp): update pwr_domain_suspend
Change-Id: Ied4063ac6e685368818b2296c2d1800f4b272b86 Signed-off-by: Wing Li <wingers@google.com>
|
| #
92e93253 |
| 28-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "psci-osi" into integration
* changes: feat(sc7280): add support for PSCI_OS_INIT_MODE feat(fvp): enable support for PSCI OS-initiated mode feat(psci): update PSCI_FEA
Merge changes from topic "psci-osi" into integration
* changes: feat(sc7280): add support for PSCI_OS_INIT_MODE feat(fvp): enable support for PSCI OS-initiated mode feat(psci): update PSCI_FEATURES feat(psci): add support for OS-initiated mode feat(psci): add support for PSCI_SET_SUSPEND_MODE build(psci): add build option for OS-initiated mode docs(psci): add design proposal for OS-initiated mode
show more ...
|
| #
e75cc247 |
| 27-Jan-2023 |
Wing Li <wingers@google.com> |
feat(fvp): enable support for PSCI OS-initiated mode
Change-Id: I4cd6d2bd7ec7f581bd525d5323a3b54e855e2e51 Signed-off-by: Wing Li <wingers@google.com>
|
| #
7419b7a7 |
| 20-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "feat_state_part3" into integration
* changes: refactor(cpufeat): enable FEAT_VHE for FEAT_STATE_CHECKED refactor(mpam): enable FEAT_MPAM for FEAT_STATE_CHECKED feat(l
Merge changes from topic "feat_state_part3" into integration
* changes: refactor(cpufeat): enable FEAT_VHE for FEAT_STATE_CHECKED refactor(mpam): enable FEAT_MPAM for FEAT_STATE_CHECKED feat(libc): add support for fallthrough statement refactor(spe): enable FEAT_SPE for FEAT_STATE_CHECKED refactor(cpufeat): rename ENABLE_SPE_FOR_LOWER_ELS to ENABLE_SPE_FOR_NS fix(spe): drop SPE EL2 context switch code
show more ...
|
| #
6437a09a |
| 17-Nov-2022 |
Andre Przywara <andre.przywara@arm.com> |
refactor(spe): enable FEAT_SPE for FEAT_STATE_CHECKED
At the moment we only support FEAT_SPE to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime detecti
refactor(spe): enable FEAT_SPE for FEAT_STATE_CHECKED
At the moment we only support FEAT_SPE to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime detection (ENABLE_SPE_FOR_NS=2), by splitting is_armv8_2_feat_spe_present() into an ID register reading function and a second function to report the support status. That function considers both build time settings and runtime information (if needed), and is used before we access SPE related registers.
Previously SPE was enabled unconditionally for all platforms, change this now to the runtime detection version.
Change-Id: I830c094107ce6a398bf1f4aef7ffcb79d4f36552 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
90118bb5 |
| 03-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(cpufeat): rename ENABLE_SPE_FOR_LOWER_ELS to ENABLE_SPE_FOR_NS
At the moment we hardcode the SPE functionality to be available on the non-secure side only, by setting MDCR_EL2.E2PB accordin
refactor(cpufeat): rename ENABLE_SPE_FOR_LOWER_ELS to ENABLE_SPE_FOR_NS
At the moment we hardcode the SPE functionality to be available on the non-secure side only, by setting MDCR_EL2.E2PB accordingly.
This should be reflected in the feature selection symbol, so rename that to ENABLE_SPE_FOR_NS, to make it clearer that SPE is not supported in the secure world.
Change-Id: I3f9b48eab1a45d6ccfcbb9c90a11eeb66867ad9a Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
64e8ac6f |
| 05-Oct-2021 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(fvp): fix fvp_cpu_standby() function" into integration
|
| #
3202ce8b |
| 01-Sep-2021 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
fix(fvp): fix fvp_cpu_standby() function
The latest FVP model fix which correctly checks if IRQs are enabled in current exception level, is causing TFTF tests to hang. This patch adds setting SCR_EL
fix(fvp): fix fvp_cpu_standby() function
The latest FVP model fix which correctly checks if IRQs are enabled in current exception level, is causing TFTF tests to hang. This patch adds setting SCR_EL3.I and SCR_EL3.F bits in 'fvp_cpu_standby()' function to allow CPU to exit from WFI.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Change-Id: Iceec1e9dbd805803d370ecdb10e04ad135d6b3aa
show more ...
|
| #
1f915222 |
| 24-Apr-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "Provide a hint to power controller for DSU cluster power down" into integration
|