[Qemu-devel] [PATCH 20/35] target/nios2: access cpu->interrupt_request with atomics

Emilio G. Cota posted 35 patches 7 years, 1 month ago
[Qemu-devel] [PATCH 20/35] target/nios2: access cpu->interrupt_request with atomics
Posted by Emilio G. Cota 7 years, 1 month ago
From: Paolo Bonzini <pbonzini@redhat.com>

Cc: Chris Wulff <crwulff@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Emilio G. Cota <cota@braap.org>
---
 target/nios2/cpu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/target/nios2/cpu.c b/target/nios2/cpu.c
index fbfaa2ce26..849eaaa392 100644
--- a/target/nios2/cpu.c
+++ b/target/nios2/cpu.c
@@ -36,7 +36,8 @@ static void nios2_cpu_set_pc(CPUState *cs, vaddr value)
 
 static bool nios2_cpu_has_work(CPUState *cs)
 {
-    return cs->interrupt_request & (CPU_INTERRUPT_HARD | CPU_INTERRUPT_NMI);
+    return atomic_read(&cs->interrupt_request) & (CPU_INTERRUPT_HARD |
+                                                  CPU_INTERRUPT_NMI);
 }
 
 /* CPUClass::reset() */
-- 
2.17.1


Re: [Qemu-devel] [PATCH 20/35] target/nios2: access cpu->interrupt_request with atomics
Posted by Philippe Mathieu-Daudé 7 years, 1 month ago
On 9/17/18 6:30 PM, Emilio G. Cota wrote:
> From: Paolo Bonzini <pbonzini@redhat.com>
> 
> Cc: Chris Wulff <crwulff@gmail.com>
> Cc: Marek Vasut <marex@denx.de>
> 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/nios2/cpu.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/target/nios2/cpu.c b/target/nios2/cpu.c
> index fbfaa2ce26..849eaaa392 100644
> --- a/target/nios2/cpu.c
> +++ b/target/nios2/cpu.c
> @@ -36,7 +36,8 @@ static void nios2_cpu_set_pc(CPUState *cs, vaddr value)
>  
>  static bool nios2_cpu_has_work(CPUState *cs)
>  {
> -    return cs->interrupt_request & (CPU_INTERRUPT_HARD | CPU_INTERRUPT_NMI);
> +    return atomic_read(&cs->interrupt_request) & (CPU_INTERRUPT_HARD |
> +                                                  CPU_INTERRUPT_NMI);
>  }
>  
>  /* CPUClass::reset() */
>