Home
last modified time | relevance | path

Searched hist:"1 d6d6802dd547c8b378a9a47572ee72e68cceb3b" (Results 1 – 4 of 4) sorted by relevance

/rk3399_ARM-atf/bl31/aarch64/
H A Dea_delegate.S1d6d6802dd547c8b378a9a47572ee72e68cceb3b Tue Dec 06 09:03:42 UTC 2022 Boyan Karatotev <boyan.karatotev@arm.com> 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
H A Druntime_exceptions.S1d6d6802dd547c8b378a9a47572ee72e68cceb3b Tue Dec 06 09:03:42 UTC 2022 Boyan Karatotev <boyan.karatotev@arm.com> 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
/rk3399_ARM-atf/bl1/aarch64/
H A Dbl1_exceptions.S1d6d6802dd547c8b378a9a47572ee72e68cceb3b Tue Dec 06 09:03:42 UTC 2022 Boyan Karatotev <boyan.karatotev@arm.com> 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
/rk3399_ARM-atf/lib/el3_runtime/aarch64/
H A Dcontext.S1d6d6802dd547c8b378a9a47572ee72e68cceb3b Tue Dec 06 09:03:42 UTC 2022 Boyan Karatotev <boyan.karatotev@arm.com> 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