aboutsummaryrefslogtreecommitdiff
path: root/plat/common
diff options
context:
space:
mode:
authorSanteri Salko <santeri.salko@gmail.com>2018-02-08 22:01:26 +0200
committerSanteri Salko <santeri.salko@gmail.com>2018-02-09 20:49:57 +0200
commit53a98be35f614caa1d2c34076b43b08d0810b6fa (patch)
tree63f8c836dc56f8149d29406912f54ae943f836fb /plat/common
parentcc40f7fe017ad15884d7b7b93f9f9a702443f80b (diff)
downloadarm-trusted-firmware-53a98be35f614caa1d2c34076b43b08d0810b6fa.tar.gz
qemu: Fix interrupt type check
Function plat_ic_get_pending_interrupt_type() should return interrupt type, not id. The function is used in aarch64 exception handling and currently the irq/fiq forwarding fails if a secure interrupt happens while running normal world. The qemu-specific gic file does not contain any extra functionality so it can be removed and common file can be used instead. fixes arm-software/tf-issues#546 Signed-off-by: Santeri Salko <santeri.salko@gmail.com>
Diffstat (limited to 'plat/common')
-rw-r--r--plat/common/plat_gicv2.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/plat/common/plat_gicv2.c b/plat/common/plat_gicv2.c
index 38e1a61e7..ca6c03b01 100644
--- a/plat/common/plat_gicv2.c
+++ b/plat/common/plat_gicv2.c
@@ -134,6 +134,8 @@ uint32_t plat_interrupt_type_to_line(uint32_t type,
type == INTR_TYPE_EL3 ||
type == INTR_TYPE_NS);
+ assert(sec_state_is_valid(security_state));
+
/* Non-secure interrupts are signaled on the IRQ line always */
if (type == INTR_TYPE_NS)
return __builtin_ctz(SCR_IRQ_BIT);