summaryrefslogtreecommitdiff
path: root/include/stdlib/stdio.h
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2015-11-13 02:08:43 +0000
committerSoby Mathew <soby.mathew@arm.com>2015-12-09 09:58:17 +0000
commit63b8440fcc3954817e20d3ba7a0be74435a284d2 (patch)
treea7564785b374f0c64b47f6753b132e55b4ca5731 /include/stdlib/stdio.h
parent4e0e0f44f13f0bbe716a390f0ef5283d217ba154 (diff)
TSP: Allow preemption of synchronous S-EL1 interrupt handling
Earlier the TSP only ever expected to be preempted during Standard SMC processing. If a S-EL1 interrupt triggered while in the normal world, it will routed to S-EL1 `synchronously` for handling. The `synchronous` S-EL1 interrupt handler `tsp_sel1_intr_entry` used to panic if this S-EL1 interrupt was preempted by another higher priority pending interrupt which should be handled in EL3 e.g. Group0 interrupt in GICv3. With this patch, the `tsp_sel1_intr_entry` now expects `TSP_PREEMPTED` as the return code from the `tsp_common_int_handler` in addition to 0 (interrupt successfully handled) and in both cases it issues an SMC with id `TSP_HANDLED_S_EL1_INTR`. The TSPD switches the context and returns back to normal world. In case a higher priority EL3 interrupt was pending, the execution will be routed to EL3 where interrupt will be handled. On return back to normal world, the pending S-EL1 interrupt which was preempted will get routed to S-EL1 to be handled `synchronously` via `tsp_sel1_intr_entry`. Change-Id: I2087c7fedb37746fbd9200cdda9b6dba93e16201
Diffstat (limited to 'include/stdlib/stdio.h')
0 files changed, 0 insertions, 0 deletions