Use a vector table for TSP entrypoints
authorAndrew Thoelke <andrew.thoelke@arm.com>
Tue, 20 May 2014 20:43:27 +0000 (21:43 +0100)
committerAndrew Thoelke <andrew.thoelke@arm.com>
Fri, 23 May 2014 07:49:36 +0000 (08:49 +0100)
commit399fb08fff2e4a0cad4cd1cf0ece84db6670447f
tree870a276f6e367046f563809a9e9e186e958b640c
parent239b04fa31647100c537852b4a3fc8bd47e33aa6
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
bl32/tsp/aarch64/tsp_entrypoint.S
bl32/tsp/tsp_main.c
include/bl32/payloads/tsp.h
services/spd/tspd/tspd_main.c
services/spd/tspd/tspd_pm.c
services/spd/tspd/tspd_private.h