Index: uspace/lib/libc/arch/arm32/include/atomic.h
===================================================================
--- uspace/lib/libc/arch/arm32/include/atomic.h	(revision e15e0e8bcc3e3f28628a17ecc49ae0d7e5c356f8)
+++ uspace/lib/libc/arch/arm32/include/atomic.h	(revision fbcfc4dae9c8bbb7a192b0d0050fd7e51c5faf32)
@@ -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"
