Index: uspace/lib/libc/arch/arm32/include/atomic.h
===================================================================
--- uspace/lib/libc/arch/arm32/include/atomic.h	(revision 00acd66d3981789b3f8b04cdd854d29343dd9aa0)
+++ uspace/lib/libc/arch/arm32/include/atomic.h	(revision 002252ac07b947d0cd73385616a79aed698567f3)
@@ -37,4 +37,30 @@
 #define LIBC_arm32_ATOMIC_H_
 
+#include <bool.h>
+
+typedef struct atomic {
+	volatile long count;
+} atomic_t;
+
+static inline void atomic_set(atomic_t *val, long i)
+{
+        val->count = i;
+}
+
+static inline long atomic_get(atomic_t *val)
+{
+        return val->count;
+}
+
+static inline bool cas(atomic_t *val, long ov, long nv)
+{
+	/* FIXME: is not atomic */
+	if (val->count == ov) {
+		val->count = nv;
+		return true;
+	}
+	return false;
+}
+
 /** Atomic addition.
  *
@@ -49,4 +75,5 @@
 	volatile long * mem = &(val->count);
 
+	/* FIXME: is not atomic, is broken */
 	asm volatile (
 	"1:\n"
