arm-trusted-firmware/bl31/aarch64
Boyan Karatotev 1d6d6802dd fix(pmu): unconditionally save PMCR_EL0
Reading back a RES0 bit does not necessarily mean it will be read as 0.
The Arm ARM explicitly warns against doing this. The PMU initialisation
code tries to set such bits to 1 (in MDCR_EL3) regardless of whether
they are in use or are RES0, checking their value could be wrong and
PMCR_EL0 might not end up being saved.

Save PMCR_EL0 unconditionally to prevent this. Remove the security state
change as the outgoing state is not relevant to what the root world
context should look like.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Id43667d37b0e2da3ded0beaf23fa0d4f9013f470
2023-05-05 13:16:18 +01:00
..
bl31_entrypoint.S fix(bl31): avoid clearing of argument registers in RESET_TO_BL31 case 2023-03-09 13:51:35 +00:00
crash_reporting.S refactor(aarch64): remove weak links to el3_panic 2023-02-21 17:26:01 +00:00
ea_delegate.S fix(pmu): unconditionally save PMCR_EL0 2023-05-05 13:16:18 +01:00
runtime_exceptions.S fix(pmu): unconditionally save PMCR_EL0 2023-05-05 13:16:18 +01:00