summaryrefslogtreecommitdiff
blob: b642702f48fc655bd3e7b27f78adc49b44bff4d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff -Nur qemu-0.8.0-old/cpu-all.h qemu-0.8.0/cpu-all.h
--- qemu-0.8.0-old/cpu-all.h	2006-04-21 23:45:55.000000000 +0200
+++ qemu-0.8.0/cpu-all.h	2006-04-22 00:54:14.000000000 +0200
@@ -250,7 +250,10 @@
 static inline void stl_le_p(void *ptr, int v)
 {
 #ifdef __powerpc__
-    __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*(uint32_t *)ptr) : "r" (v), "r" (ptr));
+    __asm__ __volatile__ ("stwbrx %0,0,%1" 
+                        : /* no output registers */
+                        : "r" (v), "r" (ptr) /* copy v and ptr to registers */
+                        : "memory"); /* memory will be clobbered*/
 #else
     uint8_t *p = ptr;
     p[0] = v;