Commit c024ea6c authored by Ard Biesheuvel's avatar Ard Biesheuvel
Browse files

services/spm_deprecated: permit timer sysreg access at S-EL0



Expose the timer registers that are accessible at EL0 per the
architecture to the SPM payload running in secure EL0. Note
that this requires NS_TIMER_SWITCH to be enable for all users
of this code.
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
parent 0560efb9
...@@ -21,3 +21,6 @@ SPM_SOURCES := $(addprefix services/std_svc/spm_deprecated/, \ ...@@ -21,3 +21,6 @@ SPM_SOURCES := $(addprefix services/std_svc/spm_deprecated/, \
# Let the top-level Makefile know that we intend to include a BL32 image # Let the top-level Makefile know that we intend to include a BL32 image
NEED_BL32 := yes NEED_BL32 := yes
# required so that SPM code executing at S-EL0 can access the timer registers
NS_TIMER_SWITCH := 1
...@@ -168,6 +168,9 @@ void spm_sp_setup(sp_context_t *sp_ctx) ...@@ -168,6 +168,9 @@ void spm_sp_setup(sp_context_t *sp_ctx)
write_ctx_reg(get_sysregs_ctx(ctx), CTX_VBAR_EL1, write_ctx_reg(get_sysregs_ctx(ctx), CTX_VBAR_EL1,
SPM_SHIM_EXCEPTIONS_PTR); SPM_SHIM_EXCEPTIONS_PTR);
write_ctx_reg(get_sysregs_ctx(ctx), CTX_CNTKCTL_EL1,
EL0PTEN_BIT | EL0VTEN_BIT | EL0PCTEN_BIT | EL0VCTEN_BIT);
/* /*
* FPEN: Allow the Secure Partition to access FP/SIMD registers. * FPEN: Allow the Secure Partition to access FP/SIMD registers.
* Note that SPM will not do any saving/restoring of these registers on * Note that SPM will not do any saving/restoring of these registers on
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment