소스 검색

linux-user/arm: Implement __kernel_memory_barrier

This fallback syscall was stubbed out.
It would only matter for emulating pre-armv6.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220323005839.94327-2-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Richard Henderson 3 년 전
부모
커밋
6e05e7047c
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      linux-user/arm/cpu_loop.c

+ 1 - 1
linux-user/arm/cpu_loop.c

@@ -158,7 +158,7 @@ do_kernel_trap(CPUARMState *env)
 
 
     switch (env->regs[15]) {
     switch (env->regs[15]) {
     case 0xffff0fa0: /* __kernel_memory_barrier */
     case 0xffff0fa0: /* __kernel_memory_barrier */
-        /* ??? No-op. Will need to do better for SMP.  */
+        smp_mb();
         break;
         break;
     case 0xffff0fc0: /* __kernel_cmpxchg */
     case 0xffff0fc0: /* __kernel_cmpxchg */
          /* XXX: This only works between threads, not between processes.
          /* XXX: This only works between threads, not between processes.