Rework arithmetic operations in Test Secure Payload
This patch reworks the service provided by the TSP to perform common
arithmetic operations on a set of arguments provided by the non-secure
world. For a addition, division, subtraction & multiplication operation
requested on two arguments in x0 and x1 the steps are:

1. TSPD saves the non-secure context and passes the operation and its
   arguments to the TSP.

2. TSP asks the TSPD to return the same arguments once again. This
   exercises an additional SMC path.

3. TSP now has two copies of both x0 and x1. It performs the operation
   on the corresponding copies i.e. in case of addition it returns x0+x0
   and x1+x1.

4. TSPD receives the result, saves the secure context, restores the
   non-secure context and passes the result back to the non-secure
   client.

Change-Id: I6eebfa2ae0a6f28b1d2e11a31f575c7a4b96724b
Co-authored-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
1 parent 607084e commit 916a2c1ec16eed4199f27a24b8e2985275cda423
@Achin Gupta Achin Gupta authored on 9 Feb 2014
Dan Handley committed on 20 Feb 2014
Showing 3 changed files
View
bl32/tsp/aarch64/tsp_request.S
View
bl32/tsp/tsp_main.c
View
services/spd/tspd/tspd_main.c