diff options
author | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-05-20 21:43:27 +0100 |
---|---|---|
committer | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-05-23 08:49:36 +0100 |
commit | 399fb08fff2e4a0cad4cd1cf0ece84db6670447f (patch) | |
tree | 870a276f6e367046f563809a9e9e186e958b640c /services/spd/tspd/tspd_private.h | |
parent | 239b04fa31647100c537852b4a3fc8bd47e33aa6 (diff) |
Use a vector table for TSP entrypoints
The TSP has a number of entrypoints used by the TSP on different
occasions. These were provided to the TSPD as a table of function
pointers, and required the TSPD to read the entry in the table,
which is in TSP memory, in order to program the exception return
address.
Ideally, the TSPD has no access to the TSP memory.
This patch changes the table of function pointers into a vector
table of single instruction entrypoints. This allows the TSPD to
calculate the entrypoint address instead of read it.
Fixes ARM-software/tf-issues#160
Change-Id: Iec6e055d537ade78a45799fbc6f43765a4725ad3
Diffstat (limited to 'services/spd/tspd/tspd_private.h')
-rw-r--r-- | services/spd/tspd/tspd_private.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/spd/tspd/tspd_private.h b/services/spd/tspd/tspd_private.h index 7395bb9e..fbb03887 100644 --- a/services/spd/tspd/tspd_private.h +++ b/services/spd/tspd/tspd_private.h @@ -183,7 +183,7 @@ extern const spd_pm_ops_t tspd_pm; /******************************************************************************* * Forward declarations ******************************************************************************/ -struct entry_info; +struct tsp_vectors; /******************************************************************************* * Function & Data prototypes @@ -197,7 +197,7 @@ extern int32_t tspd_init_secure_context(uint64_t entrypoint, uint64_t mpidr, tsp_context_t *tsp_ctx); extern tsp_context_t tspd_sp_context[TSPD_CORE_COUNT]; -extern struct entry_info *tsp_entry_info; +extern struct tsp_vectors *tsp_vectors; #endif /*__ASSEMBLY__*/ #endif /* __TSPD_PRIVATE_H__ */ |