• Achin Gupta's avatar
    Rework arithmetic operations in Test Secure Payload · 916a2c1e
    Achin Gupta authored
    
    
    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: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
    916a2c1e
tspd_main.c 11.1 KB