소스 검색

fix missing barriers in powerpc atomic store

Rich Felker 10 년 전
부모
커밋
522a0de210
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      arch/powerpc/atomic.h

+ 5 - 1
arch/powerpc/atomic.h

@@ -77,7 +77,11 @@ static inline void a_dec(volatile int *x)
 
 static inline void a_store(volatile int *p, int x)
 {
-	*p=x;
+	__asm__ __volatile__ ("\n"
+		"	sync\n"
+		"	stw %1, %0\n"
+		"	isync\n"
+		: "=m"(*p) : "r"(x) : "memory" );
 }
 
 static inline void a_spin()