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

Richard Henderson posted 3 patches 3 years, 11 months ago
Maintainers: Laurent Vivier <laurent@vivier.eu>
There is a newer version of this series
[PATCH 1/3] linux-user/arm: Implement __kernel_memory_barrier
Posted by Richard Henderson 3 years, 11 months ago
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.
-- 
2.25.1
Re: [PATCH 1/3] linux-user/arm: Implement __kernel_memory_barrier
Posted by Laurent Vivier 3 years, 10 months ago
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

Re: [PATCH 1/3] linux-user/arm: Implement __kernel_memory_barrier
Posted by Peter Maydell 3 years, 11 months ago
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