qemu-stable
[Top][All Lists]
Advanced

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

Re: [Qemu-stable] [Qemu-devel] [PATCH v2 2/2] target/lm32: hold BQL in g


From: Michael Walle
Subject: Re: [Qemu-stable] [Qemu-devel] [PATCH v2 2/2] target/lm32: hold BQL in gdbstub
Date: Mon, 21 May 2018 17:49:31 +0200
User-agent: Roundcube Webmail/1.2.3

Am 2018-05-21 14:25, schrieb Peter Maydell:
On 21 May 2018 at 13:21, Michael Walle <address@hidden> wrote:
Changing the IP/IM registers may cause interrupts, so hold the BQL.

Cc: address@hidden
Signed-off-by: Michael Walle <address@hidden>
---
 target/lm32/gdbstub.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/target/lm32/gdbstub.c b/target/lm32/gdbstub.c
index cf929dd392..dac9418a2b 100644
--- a/target/lm32/gdbstub.c
+++ b/target/lm32/gdbstub.c
@@ -18,6 +18,7 @@
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
+#include "qemu/main-loop.h"
 #include "qemu-common.h"
 #include "cpu.h"
 #include "exec/gdbstub.h"
@@ -82,10 +83,14 @@ int lm32_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
             env->ie = tmp;
             break;
         case 37:
+            qemu_mutex_lock_iothread();
             lm32_pic_set_im(env->pic_state, tmp);
+            qemu_mutex_unlock_iothread();
             break;
         case 38:
+            qemu_mutex_lock_iothread();
             lm32_pic_set_ip(env->pic_state, tmp);
+            qemu_mutex_unlock_iothread();
             break;
         }
     }

Are you sure this is necessary? I would have expected the gdbstub to
be operating under the qemu lock anyway.


You're right. The gdbstub is already holding the lock. So i'll drop this and send the pull request right now.

-michael



reply via email to

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