]> git.proxmox.com Git - mirror_qemu.git/blobdiff - exec-all.h
initial x86-64 host support (Gwenole Beauchesne)
[mirror_qemu.git] / exec-all.h
index 3c79eca917316f93fcef5236ce70c6d952cb4ce0..9ecf2dca7fec859c9ed961d619487147e62bb49c 100644 (file)
@@ -400,6 +400,20 @@ static inline int testandset (int *p)
 }
 #endif
 
+#ifdef __x86_64__
+static inline int testandset (int *p)
+{
+    char ret;
+    int readval;
+    
+    __asm__ __volatile__ ("lock; cmpxchgl %3, %1; sete %0"
+                          : "=q" (ret), "=m" (*p), "=a" (readval)
+                          : "r" (1), "m" (*p), "a" (0)
+                          : "memory");
+    return ret;
+}
+#endif
+
 #ifdef __s390__
 static inline int testandset (int *p)
 {