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: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
parent
0560efb93e
commit
c024ea6cd2
|
@ -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
|
||||
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)
|
|||
write_ctx_reg(get_sysregs_ctx(ctx), CTX_VBAR_EL1,
|
||||
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.
|
||||
* Note that SPM will not do any saving/restoring of these registers on
|
||||
|
|
Loading…
Reference in New Issue