[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 075/113] lm32: take BQL before writing IP/IM registe

From: Michael Roth
Subject: [Qemu-devel] [PATCH 075/113] lm32: take BQL before writing IP/IM register
Date: Mon, 18 Jun 2018 20:42:41 -0500

From: Michael Walle <address@hidden>

Writing to these registers may raise an interrupt request. Actually,
this prevents the milkymist board from starting.

Cc: address@hidden
Signed-off-by: Michael Walle <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
(cherry picked from commit 81e9cbd0ca1131012b058df6804b1f626a6b730c)
Signed-off-by: Michael Roth <address@hidden>
 target/lm32/op_helper.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target/lm32/op_helper.c b/target/lm32/op_helper.c
index 2177c8ad12..93b8d09794 100644
--- a/target/lm32/op_helper.c
+++ b/target/lm32/op_helper.c
@@ -102,12 +102,16 @@ void HELPER(wcsr_dc)(CPULM32State *env, uint32_t dc)
 void HELPER(wcsr_im)(CPULM32State *env, uint32_t im)
+    qemu_mutex_lock_iothread();
     lm32_pic_set_im(env->pic_state, im);
+    qemu_mutex_unlock_iothread();
 void HELPER(wcsr_ip)(CPULM32State *env, uint32_t im)
+    qemu_mutex_lock_iothread();
     lm32_pic_set_ip(env->pic_state, im);
+    qemu_mutex_unlock_iothread();
 void HELPER(wcsr_jtx)(CPULM32State *env, uint32_t jtx)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]