[Qemu-devel] [PATCH] target-nios2: take BQL around interrupt check

Paolo Bonzini posted 1 patch 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170303120308.6815-1-pbonzini@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
target/nios2/op_helper.c | 3 +++
1 file changed, 3 insertions(+)
[Qemu-devel] [PATCH] target-nios2: take BQL around interrupt check
Posted by Paolo Bonzini 7 years, 1 month ago
The interrupt controller does not have its own locking.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/nios2/op_helper.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/target/nios2/op_helper.c b/target/nios2/op_helper.c
index 538853c..efb1c48 100644
--- a/target/nios2/op_helper.c
+++ b/target/nios2/op_helper.c
@@ -21,6 +21,7 @@
 #include "cpu.h"
 #include "exec/helper-proto.h"
 #include "exec/cpu_ldst.h"
+#include "qemu/main-loop.h"
 
 #if !defined(CONFIG_USER_ONLY)
 void helper_mmu_read_debug(CPUNios2State *env, uint32_t rn)
@@ -35,7 +36,9 @@ void helper_mmu_write(CPUNios2State *env, uint32_t rn, uint32_t v)
 
 void helper_check_interrupts(CPUNios2State *env)
 {
+    qemu_mutex_lock_iothread();
     nios2_check_interrupts(env);
+    qemu_mutex_unlock_iothread();
 }
 #endif /* !CONFIG_USER_ONLY */
 
-- 
2.9.3