diff mbox series

[1/3] linux-user/arm: Implement __kernel_memory_barrier

Message ID 20220314044305.138794-2-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user/arm: Improvements for commpage atomics | expand

Commit Message

Richard Henderson March 14, 2022, 4:43 a.m. UTC
This fallback syscall was stubbed out.
It would only matter for emulating pre-armv6.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 linux-user/arm/cpu_loop.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell March 15, 2022, 6:11 p.m. UTC | #1
On Mon, 14 Mar 2022 at 04:44, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> This fallback syscall was stubbed out.
> It would only matter for emulating pre-armv6.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
Laurent Vivier March 22, 2022, 11:46 a.m. UTC | #2
Le 14/03/2022 à 05:43, Richard Henderson a écrit :
> This fallback syscall was stubbed out.
> It would only matter for emulating pre-armv6.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   linux-user/arm/cpu_loop.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
> index 032e1ffddf..a0e43b261c 100644
> --- a/linux-user/arm/cpu_loop.c
> +++ b/linux-user/arm/cpu_loop.c
> @@ -158,7 +158,7 @@ do_kernel_trap(CPUARMState *env)
>   
>       switch (env->regs[15]) {
>       case 0xffff0fa0: /* __kernel_memory_barrier */
> -        /* ??? No-op. Will need to do better for SMP.  */
> +        smp_mb();
>           break;
>       case 0xffff0fc0: /* __kernel_cmpxchg */
>            /* XXX: This only works between threads, not between processes.


Applied to my linux-user-for-7.0 branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index 032e1ffddf..a0e43b261c 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -158,7 +158,7 @@  do_kernel_trap(CPUARMState *env)
 
     switch (env->regs[15]) {
     case 0xffff0fa0: /* __kernel_memory_barrier */
-        /* ??? No-op. Will need to do better for SMP.  */
+        smp_mb();
         break;
     case 0xffff0fc0: /* __kernel_cmpxchg */
          /* XXX: This only works between threads, not between processes.