On 9/17/18 6:30 PM, Emilio G. Cota wrote:
> From: Paolo Bonzini <pbonzini@redhat.com>
>
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> target/sh4/cpu.c | 2 +-
> target/sh4/helper.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c
> index b9f393b7c7..892a023c5c 100644
> --- a/target/sh4/cpu.c
> +++ b/target/sh4/cpu.c
> @@ -45,7 +45,7 @@ static void superh_cpu_synchronize_from_tb(CPUState *cs, TranslationBlock *tb)
>
> static bool superh_cpu_has_work(CPUState *cs)
> {
> - return cs->interrupt_request & CPU_INTERRUPT_HARD;
> + return atomic_read(&cs->interrupt_request) & CPU_INTERRUPT_HARD;
> }
>
> /* CPUClass::reset() */
> diff --git a/target/sh4/helper.c b/target/sh4/helper.c
> index 2ff0cf4060..c699b8c0a1 100644
> --- a/target/sh4/helper.c
> +++ b/target/sh4/helper.c
> @@ -83,7 +83,7 @@ void superh_cpu_do_interrupt(CPUState *cs)
> {
> SuperHCPU *cpu = SUPERH_CPU(cs);
> CPUSH4State *env = &cpu->env;
> - int do_irq = cs->interrupt_request & CPU_INTERRUPT_HARD;
> + int do_irq = atomic_read(&cs->interrupt_request) & CPU_INTERRUPT_HARD;
> int do_exp, irq_vector = cs->exception_index;
>
> /* prioritize exceptions over interrupts */
>