summaryrefslogtreecommitdiffstats
path: root/hw/arm/smmuv3.c
diff options
context:
space:
mode:
authorEric Auger2018-09-25 15:02:32 +0200
committerPeter Maydell2018-09-25 16:13:24 +0200
commit9f4d2a1316fc294da5c0646fa93894d5f5f0c9a0 (patch)
treebda1ea86fbc6ddb5a029b17654aec95278040610 /hw/arm/smmuv3.c
parenthw/arm/smmu-common: Fix the name of the iommu memory regions (diff)
downloadqemu-9f4d2a1316fc294da5c0646fa93894d5f5f0c9a0.tar.gz
qemu-9f4d2a1316fc294da5c0646fa93894d5f5f0c9a0.tar.xz
qemu-9f4d2a1316fc294da5c0646fa93894d5f5f0c9a0.zip
hw/arm/smmuv3: fix eventq recording and IRQ triggerring
The event queue management is broken today. Event records are not properly written as EVT_SET_* macro was not updating the actual event record. Also the event queue interrupt is not correctly triggered. Fixes: bb981004eaf4 ("hw/arm/smmuv3: Event queue recording helper") Signed-off-by: Eric Auger <eric.auger@redhat.com> Message-id: 20180921070138.10114-3-eric.auger@redhat.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm/smmuv3.c')
-rw-r--r--hw/arm/smmuv3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index bb6a24e9b8..8c4e99fecc 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -136,7 +136,7 @@ static MemTxResult smmuv3_write_eventq(SMMUv3State *s, Evt *evt)
return r;
}
- if (smmuv3_q_empty(q)) {
+ if (!smmuv3_q_empty(q)) {
smmuv3_trigger_irq(s, SMMU_IRQ_EVTQ, 0);
}
return MEMTX_OK;