diff options
author | Santeri Salko <santeri.salko@gmail.com> | 2018-02-08 22:01:26 +0200 |
---|---|---|
committer | Santeri Salko <santeri.salko@gmail.com> | 2018-02-09 20:49:57 +0200 |
commit | 53a98be35f614caa1d2c34076b43b08d0810b6fa (patch) | |
tree | 63f8c836dc56f8149d29406912f54ae943f836fb /plat/common | |
parent | cc40f7fe017ad15884d7b7b93f9f9a702443f80b (diff) | |
download | arm-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.c | 2 |
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); |