Index: kernel/generic/include/synch/spinlock.h
===================================================================
--- kernel/generic/include/synch/spinlock.h	(revision 111b9b97905c174ce8c3ed7e4e2a890da2be2d66)
+++ kernel/generic/include/synch/spinlock.h	(revision 4777e022eec9ed5750ce62ae94a262f006a515fc)
@@ -117,4 +117,6 @@
 	SPINLOCK_STATIC_INITIALIZE_NAME(lock_name, #lock_name)
 
+#ifdef CONFIG_SMP
+
 extern void spinlock_initialize(spinlock_t *, const char *);
 extern bool spinlock_trylock(spinlock_t *);
@@ -122,4 +124,34 @@
 extern void spinlock_unlock(spinlock_t *);
 extern bool spinlock_locked(spinlock_t *);
+
+#else
+
+#include <preemption.h>
+
+static inline void spinlock_initialize(spinlock_t *l, const char *name)
+{
+}
+
+static inline bool spinlock_trylock(spinlock_t *l)
+{
+	return true;
+}
+
+static inline void spinlock_lock(spinlock_t *l)
+{
+	preemption_disable();
+}
+
+static inline void spinlock_unlock(spinlock_t *l)
+{
+	preemption_enable();
+}
+
+static inline bool spinlock_locked(spinlock_t *l)
+{
+	return true;
+}
+
+#endif
 
 typedef struct {
