arm-trusted-firmware/lib
Ahmad Fatoum e6f8fc7437 fix(pmu): fix breakage on ARMv7 CPUs with SP_min as BL32
While comments introduced with the original commit claim that
pmuv3_disable_el3()/pmuv3_init_el3() are compatible with PMUv2 and
PMUv1, this is not true in practice: The function accesses the Secure
Debug Control Register (SDCR), which only available to ARMv8 CPUs.

ARMv8 CPUs executing in AArch32 mode would thus be able to disable
their PMUv3, while ARMv7 CPUs would hang trying to access the SDCR.

Fix this by only doing PMUv3 handling when we know a PMUv3 to be
available. This resolves boot hanging on all STM32MP15 platforms
that use SP_min as BL32 instead of OP-TEE.

Change-Id: I40f7611cf46b89a30243cc55bf55a8d9c9de93c8
Fixes: c73686a11c ("feat(pmu): introduce pmuv3 lib/extensions folder")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
2024-04-02 16:17:03 +02:00
..
aarch32 chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
aarch64 fix(gpt): use DC CIGDPAPA when MTE2 is implemented 2024-02-12 17:38:00 +01:00
bl_aux_params chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
compiler-rt chore(compiler-rt): update compiler-rt source files 2023-11-06 21:14:01 +00:00
coreboot chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
cpus chore: rename Poseidon to Neoverse V3 2024-03-26 11:27:31 -05:00
debugfs chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
el3_runtime fix(pmu): fix breakage on ARMv7 CPUs with SP_min as BL32 2024-04-02 16:17:03 +02:00
extensions fix(pmu): fix breakage on ARMv7 CPUs with SP_min as BL32 2024-04-02 16:17:03 +02:00
fconf feat(fconf): support signing-key in root cert node 2024-01-18 13:18:09 -06:00
gpt_rme fix(gpt): use DC CIGDPAPA when MTE2 is implemented 2024-02-12 17:38:00 +01:00
libc fix(libc): memset inclusion to libc makefiles 2024-02-02 09:49:01 +01:00
libfdt chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
locks chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
mpmm fix(errata): workaround for Cortex-A510 erratum 2250311 2022-02-24 23:30:41 +02:00
optee chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
pmf fix(smccc): ensure that mpidr passed through SMC is valid 2023-11-06 20:43:38 +00:00
psa feat(dice): add cert_id argument to dpe_derive_context() 2024-03-06 17:11:11 +01:00
psci fix(spe): invoke spe_disable during power domain off/suspend 2024-02-02 20:06:28 +00:00
romlib build: use new toolchain variables for tools 2024-02-06 11:14:52 +00:00
semihosting chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
stack_protector chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
transfer_list feat(handoff): enhance transfer list library 2023-12-18 15:52:51 +00:00
utils chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
xlat_mpu chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
xlat_tables chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
xlat_tables_v2 fix(xlat): set MAX_PHYS_ADDR to total mapped physical region 2023-11-03 16:33:51 +05:30
zlib chore(zlib): update zlib to version 1.3 2023-11-06 21:13:38 +00:00