[Top][All Lists]

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

[Qemu-devel] [PULL 1/1] lm32: take BQL before writing IP/IM register

From: Michael Walle
Subject: [Qemu-devel] [PULL 1/1] lm32: take BQL before writing IP/IM register
Date: Mon, 21 May 2018 17:49:52 +0200

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>
 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 577f8306e3..234d55e056 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]