diff --git a/spinlock_arm.h b/spinlock_arm.h
new file mode 100644
index 0000000..6f6803e
--- /dev/null
+++ b/spinlock_arm.h
@@ -0,0 +1,70 @@
+/*
+    m5threads, a pthread library for the M5 simulator
+    Copyright (C) 2009, Stanford University
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+*/
+
+
+#ifndef __SPINLOCK_ARM_H__
+#define __SPINLOCK_ARM_H__
+
+static __inline__ void spin_lock (volatile int* lock) {
+    unsigned long tmp;
+  
+         __asm__ __volatile__(
+"1:     ldrex   %0, [%1]\n"
+"       cmp     %0, #0\n"
+"       strexeq %0, %2, [%1]\n"
+"       cmpeq   %0, #0\n"
+"       bne     1b\n"
+"       dmb\n"
+        : "=&r" (tmp)
+        : "r" (lock), "r" (1)
+        : "cc");
+
+}
+
+static __inline__ void spin_unlock (volatile int* lock) {
+
+
+     __asm__ __volatile__(
+"       dmb\n"
+"       str     %1, [%0]\n"
+        :
+        : "r" (lock), "r" (0)
+        : "cc");
+}
+
+
+static __inline__ int trylock (volatile int* lock) {
+        unsigned long tmp;
+
+        __asm__ __volatile__(
+"       ldrex   %0, [%1]\n"
+"       cmp     %0, #0\n"
+"       strexeq %0, %2, [%1]\n"
+"       eor     %0, %0, #1\n"
+"       bne     fail\n"
+"       dmb\n"
+"fail:     nop\n"
+        : "=&r" (tmp)
+        : "r" (lock), "r" (1)
+        : "cc", "memory");
+
+        return tmp;
+}
+
+#endif  // __SPINLOCK_ARM_H__
