Home
last modified time | relevance | path

Searched hist:a202529e8ed33bacd10069f4f7df081970f0c752 (Results 1 – 2 of 2) sorted by relevance

/rk3399_ARM-atf/bl31/aarch64/
H A Dea_delegate.Sa202529e8ed33bacd10069f4f7df081970f0c752 Thu May 22 13:48:08 UTC 2025 Boyan Karatotev <boyan.karatotev@arm.com> fix(cm): do not save SCR_EL3 on external aborts

SCR_EL3 is static. For non-root worlds, once initialised by
cm_setup_context(), its value is immutable and only restored by
el3_exit(). For the root world (or EL3 when that's not a thing)
setup_el3_execution_context() (via prepare_el3_entry()) will write a
different static value in, with the expectation that el3_exit() will
wipe it. As such saving scr_el3 in the case of a double fault is not
necessary, and even harmful as the wrong (root's) value will get written
in.

Change-Id: Ibf5b3a809fc0208a98ded20fe8d50c7405f808b9
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
/rk3399_ARM-atf/bl1/aarch64/
H A Dbl1_exceptions.Sa202529e8ed33bacd10069f4f7df081970f0c752 Thu May 22 13:48:08 UTC 2025 Boyan Karatotev <boyan.karatotev@arm.com> fix(cm): do not save SCR_EL3 on external aborts

SCR_EL3 is static. For non-root worlds, once initialised by
cm_setup_context(), its value is immutable and only restored by
el3_exit(). For the root world (or EL3 when that's not a thing)
setup_el3_execution_context() (via prepare_el3_entry()) will write a
different static value in, with the expectation that el3_exit() will
wipe it. As such saving scr_el3 in the case of a double fault is not
necessary, and even harmful as the wrong (root's) value will get written
in.

Change-Id: Ibf5b3a809fc0208a98ded20fe8d50c7405f808b9
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>