From: Paolo Bonzini <[email protected]>
Cc: Guan Xuetao <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Signed-off-by: Emilio G. Cota <[email protected]>
---
target/unicore32/cpu.c | 2 +-
target/unicore32/softmmu.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/unicore32/cpu.c b/target/unicore32/cpu.c
index 68f978d80b..4e4ee2ee78 100644
--- a/target/unicore32/cpu.c
+++ b/target/unicore32/cpu.c
@@ -29,7 +29,7 @@ static void uc32_cpu_set_pc(CPUState *cs, vaddr value)
static bool uc32_cpu_has_work(CPUState *cs)
{
- return cs->interrupt_request &
+ return atomic_read(&cs->interrupt_request) &
(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB);
}
diff --git a/target/unicore32/softmmu.c b/target/unicore32/softmmu.c
index 00c7e0d028..d84ef67d0d 100644
--- a/target/unicore32/softmmu.c
+++ b/target/unicore32/softmmu.c
@@ -119,7 +119,7 @@ void uc32_cpu_do_interrupt(CPUState *cs)
/* The PC already points to the proper instruction. */
env->regs[30] = env->regs[31];
env->regs[31] = addr;
- cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ atomic_or(&cs->interrupt_request, CPU_INTERRUPT_EXITTB);
}
static int get_phys_addr_ucv2(CPUUniCore32State *env, uint32_t address,
--
2.17.1