TSPD: Register preempted SMC error code with EHF

An earlier patch extended ehf_allow_ns_preemption() API to also register
an error code to offer to Non-secure when a Yielding SMC is preempted by
SDEI interrupt. In TSPD's case, register the error code TSP_PREEMPTED.

Change-Id: I31992b6651f80694e83bc5092b044ef7a3eda690
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
This commit is contained in:
Jeenu Viswambharan 2018-01-22 12:42:54 +00:00
parent af34cd72ca
commit 472be0f74e
1 changed files with 6 additions and 4 deletions

View File

@ -549,9 +549,10 @@ uint64_t tspd_smc_handler(uint32_t smc_fid,
* preempt Secure execution. However, for * preempt Secure execution. However, for
* yielding SMCs, we want preemption to happen; * yielding SMCs, we want preemption to happen;
* so explicitly allow NS preemption in this * so explicitly allow NS preemption in this
* case. * case, and supply the preemption return code
* for TSP.
*/ */
ehf_allow_ns_preemption(); ehf_allow_ns_preemption(TSP_PREEMPTED);
#endif #endif
} }
@ -662,9 +663,10 @@ uint64_t tspd_smc_handler(uint32_t smc_fid,
#if EL3_EXCEPTION_HANDLING #if EL3_EXCEPTION_HANDLING
/* /*
* Allow the resumed yielding SMC processing to be preempted by * Allow the resumed yielding SMC processing to be preempted by
* Non-secure interrupts. * Non-secure interrupts. Also, supply the preemption return
* code for TSP.
*/ */
ehf_allow_ns_preemption(); ehf_allow_ns_preemption(TSP_PREEMPTED);
#endif #endif
/* We just need to return to the preempted point in /* We just need to return to the preempted point in