From 83a5d512790f7fd5da667b3345943e41dc86bc70 Mon Sep 17 00:00:00 2001 From: Antonio Nino Diaz Date: Fri, 30 Nov 2018 10:53:26 +0000 Subject: SPM: Remove remaining SMC interfaces Also, add a disclaimer to explain that the current implementation of SPM is a prototype that is going to undergo a lot of rework. Change-Id: I303c1e61c51d9f286cc599fea565fc9ba5a996bf Signed-off-by: Antonio Nino Diaz --- services/std_svc/spm/README.rst | 3 +++ services/std_svc/spm/spm_main.c | 51 ---------------------------------------- services/std_svc/std_svc_setup.c | 2 +- 3 files changed, 4 insertions(+), 52 deletions(-) create mode 100644 services/std_svc/spm/README.rst (limited to 'services') diff --git a/services/std_svc/spm/README.rst b/services/std_svc/spm/README.rst new file mode 100644 index 00000000..63406a3b --- /dev/null +++ b/services/std_svc/spm/README.rst @@ -0,0 +1,3 @@ +This is a prototype loosely based on the SPCI Alpha and SPRT pre-alpha +specifications. Any interface / platform API introduced for this is subject to +change as it evolves. diff --git a/services/std_svc/spm/spm_main.c b/services/std_svc/spm/spm_main.c index d80775fd..460d1fb3 100644 --- a/services/std_svc/spm/spm_main.c +++ b/services/std_svc/spm/spm_main.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -356,53 +355,3 @@ int32_t spm_setup(void) return 0; } - -/******************************************************************************* - * Secure Partition Manager SMC handler. - ******************************************************************************/ -uint64_t spm_smc_handler(uint32_t smc_fid, - uint64_t x1, - uint64_t x2, - uint64_t x3, - uint64_t x4, - void *cookie, - void *handle, - uint64_t flags) -{ - unsigned int ns; - - /* Determine which security state this SMC originated from */ - ns = is_caller_non_secure(flags); - - if (ns == SMC_FROM_SECURE) { - - /* Handle SMCs from Secure world. */ - - assert(handle == cm_get_context(SECURE)); - - /* Make next ERET jump to S-EL0 instead of S-EL1. */ - cm_set_elr_spsr_el3(SECURE, read_elr_el1(), read_spsr_el1()); - - switch (smc_fid) { - - case SPM_VERSION_AARCH32: - SMC_RET1(handle, SPM_VERSION_COMPILED); - - default: - break; - } - } else { - - /* Handle SMCs from Non-secure world. */ - - assert(handle == cm_get_context(NON_SECURE)); - - switch (smc_fid) { - - default: - break; - } - } - - SMC_RET1(handle, SMC_UNK); -} diff --git a/services/std_svc/std_svc_setup.c b/services/std_svc/std_svc_setup.c index 1a81a0a3..86ecdf7b 100644 --- a/services/std_svc/std_svc_setup.c +++ b/services/std_svc/std_svc_setup.c @@ -102,7 +102,7 @@ static uintptr_t std_svc_smc_handler(uint32_t smc_fid, SMC_RET1(handle, ret); } -#if ENABLE_SPM +#if ENABLE_SPM && SPM_DEPRECATED /* * Dispatch SPM calls to SPM SMC handler and return its return * value -- cgit v1.2.3