Enable use of FIQs and IRQs as TSP interrupts
On a GICv2 system, interrupts that should be handled in the secure world are
typically signalled as FIQs. On a GICv3 system, these interrupts are signalled
as IRQs instead. The mechanism for handling both types of interrupts is the same
in both cases. This patch enables the TSP to run on a GICv3 system by:

1. adding support for handling IRQs in the exception handling code.
2. removing use of "fiq" in the names of data structures, macros and functions.

The build option TSPD_ROUTE_IRQ_TO_EL3 is deprecated and is replaced with a
new build flag TSP_NS_INTR_ASYNC_PREEMPT. For compatibility reasons, if the
former build flag is defined, it will be used to define the value for the
new build flag. The documentation is also updated accordingly.

Change-Id: I1807d371f41c3656322dd259340a57649833065e
1 parent 404dba5 commit 02446137a4e2a504706fb1f4059467643e2930a5
@Soby Mathew Soby Mathew authored on 3 Sep 2015
Showing 11 changed files
View
bl32/tsp/aarch64/tsp_entrypoint.S
View
bl32/tsp/aarch64/tsp_exceptions.S
View
bl32/tsp/tsp_interrupt.c
View
bl32/tsp/tsp_private.h
View
docs/interrupt-framework-design.md
View
docs/user-guide.md
View
include/bl32/tsp/tsp.h
View
services/spd/tspd/tspd.mk
View
services/spd/tspd/tspd_main.c
View
services/spd/tspd/tspd_pm.c
View
services/spd/tspd/tspd_private.h