aboutsummaryrefslogtreecommitdiff
path: root/services/spd/tspd
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2015-10-27 10:01:06 +0000
committerSoby Mathew <soby.mathew@arm.com>2015-11-26 17:07:32 +0000
commit5471841870074043dc53f2bd1a52bc48970038e2 (patch)
tree3f7d8b6b563bc60ba45e45608de12387138970ec /services/spd/tspd
parentb39908af748fd273f28991f49c62eec775fce77c (diff)
downloadtrusted-firmware-a-5471841870074043dc53f2bd1a52bc48970038e2.tar.gz
Remove the IMF_READ_INTERRUPT_ID build option
The IMF_READ_INTERRUPT_ID build option enables a feature where the interrupt ID of the highest priority pending interrupt is passed as a parameter to the interrupt handler registered for that type of interrupt. This additional read of highest pending interrupt id from GIC is problematic as it is possible that the original interrupt may get deasserted and another interrupt of different type maybe become the highest pending interrupt. Hence it is safer to prevent such behaviour by removing the IMF_READ_INTERRUPT_ID build option. The `id` parameter of the interrupt handler `interrupt_type_handler_t` is now made a reserved parameter with this patch. It will always contain INTR_ID_UNAVAILABLE. Fixes ARM-software/tf-issues#307 Change-Id: I2173aae1dd37edad7ba6bdfb1a99868635fa34de
Diffstat (limited to 'services/spd/tspd')
-rw-r--r--services/spd/tspd/tspd_main.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/services/spd/tspd/tspd_main.c b/services/spd/tspd/tspd_main.c
index b8b67fadc8..6223160149 100644
--- a/services/spd/tspd/tspd_main.c
+++ b/services/spd/tspd/tspd_main.c
@@ -106,11 +106,6 @@ static uint64_t tspd_sel1_interrupt_handler(uint32_t id,
/* Check the security state when the exception was generated */
assert(get_interrupt_src_ss(flags) == NON_SECURE);
-#if IMF_READ_INTERRUPT_ID
- /* Check the security status of the interrupt */
- assert(plat_ic_get_interrupt_type(id) == INTR_TYPE_S_EL1);
-#endif
-
/* Sanity check the pointer to this cpu's context */
assert(handle == cm_get_context(NON_SECURE));
@@ -173,10 +168,6 @@ static uint64_t tspd_ns_interrupt_handler(uint32_t id,
/* Check the security state when the exception was generated */
assert(get_interrupt_src_ss(flags) == SECURE);
-#if IMF_READ_INTERRUPT_ID
- /* Check the security status of the interrupt */
- assert(plat_ic_get_interrupt_type(id) == INTR_TYPE_NS);
-#endif
/*
* Disable the routing of NS interrupts from secure world to EL3 while
* interrupted on this core.