Index: arch/ia32/include/atomic.h
===================================================================
--- arch/ia32/include/atomic.h	(revision 961b5f01ab0baf25db1ae2fde08e1dd39e0e62bc)
+++ arch/ia32/include/atomic.h	(revision 36e7ee98b33f87f4fd7451460ffe749f290f85b7)
@@ -32,12 +32,12 @@
 #include <arch/types.h>
 
-typedef struct { volatile __u32 count; } atomic_t;
+typedef struct { volatile __u64 count; } atomic_t;
 
-static inline void atomic_set(atomic_t *val, __u32 i)
+static inline void atomic_set(atomic_t *val, __u64 i)
 {
 	val->count = i;
 }
 
-static inline __u32 atomic_get(atomic_t *val)
+static inline __u64 atomic_get(atomic_t *val)
 {
 	return val->count;
@@ -80,5 +80,5 @@
 		"movl $-1, %0\n"
 		"lock xaddl %0, %1\n"
-		: "=r" (r), "=m" (*val)
+		: "=r" (r), "=m" (val->count)
 	);
 	
