Index: generic/include/cpu.h
===================================================================
--- generic/include/cpu.h	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/include/cpu.h	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -54,5 +54,5 @@
 
 	#ifdef CONFIG_SMP
-	int kcpulbstarted;
+	atomic_t kcpulbstarted;
 	waitq_t kcpulb_wq;
 	#endif /* CONFIG_SMP */
Index: generic/include/debug.h
===================================================================
--- generic/include/debug.h	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/include/debug.h	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -34,5 +34,5 @@
 #include <arch.h>
 
-#define CALLER       ((__address *)__builtin_return_address(0))
+#define CALLER       ((__address)__builtin_return_address(0))
 
 #ifndef HERE
Index: generic/include/synch/spinlock.h
===================================================================
--- generic/include/synch/spinlock.h	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/include/synch/spinlock.h	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -33,4 +33,5 @@
 #include <typedefs.h>
 #include <preemption.h>
+#include <arch/atomic.h>
 
 #ifdef CONFIG_SMP
@@ -39,5 +40,5 @@
 	char *name;
 #endif
-	int val;
+	atomic_t val;
 };
 
@@ -56,10 +57,10 @@
 	spinlock_t slname = { 		\
 		.name = #slname,	\
-		.val = 0		\
+		.val = { 0 }		\
 	}
 #else
 #define SPINLOCK_INITIALIZE(slname) 	\
 	spinlock_t slname = { 		\
-		.val = 0		\
+		.val = { 0 }		\
 	}
 #endif
Index: generic/src/console/cmd.c
===================================================================
--- generic/src/console/cmd.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/console/cmd.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -311,5 +311,4 @@
 {
 	link_t *cur;
-	ipl_t ipl;
 
 	spinlock_lock(&cmd_lock);
@@ -340,5 +339,4 @@
 {
 	link_t *cur;
-	ipl_t ipl;
 
 	spinlock_lock(&cmd_lock);
@@ -369,7 +367,4 @@
 int cmd_symaddr(cmd_arg_t *argv)
 {
-	__address symaddr;
-	char *symbol;
-
 	symtab_print_search(argv->buffer);
 	
@@ -511,5 +506,4 @@
 int cmd_set4(cmd_arg_t *argv)
 {
-	char *symbol;
 	__u32 *addr ;
 	__u32 arg1 = argv[1].intval;
Index: generic/src/console/kconsole.c
===================================================================
--- generic/src/console/kconsole.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/console/kconsole.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -92,5 +92,4 @@
 int cmd_register(cmd_info_t *cmd)
 {
-	ipl_t ipl;
 	link_t *cur;
 	
@@ -161,6 +160,4 @@
 	int namelen = strlen(name);
 	const char *curname;
-	char *foundsym = NULL;
-	int foundpos = 0;
 
 	spinlock_lock(&cmd_lock);
@@ -470,5 +467,4 @@
 	cmd_info_t *cmd = NULL;
 	link_t *cur;
-	ipl_t ipl;
 	int i;
 	
Index: generic/src/debug/symtab.c
===================================================================
--- generic/src/debug/symtab.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/debug/symtab.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -67,6 +67,4 @@
 	char *curname;
 	int i,j;
-	char *foundsym = NULL;
-	int foundpos = 0;
 	int colonoffset = -1;
 
Index: generic/src/main/kinit.c
===================================================================
--- generic/src/main/kinit.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/main/kinit.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -69,9 +69,11 @@
 void kinit(void *arg)
 {
+	thread_t *t;
+	int i;
+#ifdef CONFIG_USERSPACE
 	vm_t *m;
 	vm_area_t *a;
 	task_t *u;
-	thread_t *t;
-	int i;
+#endif
 
 	interrupts_disable();
Index: generic/src/main/main.c
===================================================================
--- generic/src/main/main.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/main/main.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -126,5 +126,7 @@
  */
 static void main_bsp_separated_stack(void);
+#ifdef CONFIG_SMP
 static void main_ap_separated_stack(void);
+#endif
 
 /** Bootstrap CPU main kernel routine
Index: generic/src/mm/vm.c
===================================================================
--- generic/src/mm/vm.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/mm/vm.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -189,5 +189,4 @@
 void vm_install(vm_t *m)
 {
-	link_t *l;
 	ipl_t ipl;
 	
Index: generic/src/proc/scheduler.c
===================================================================
--- generic/src/proc/scheduler.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/proc/scheduler.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -491,5 +491,5 @@
 	ipl = interrupts_disable();
 	spinlock_lock(&CPU->lock);
-	count = nrdy / config.cpu_active;
+	count = atomic_get(&nrdy) / config.cpu_active;
 	count -= CPU->nrdy;
 	spinlock_unlock(&CPU->lock);
@@ -619,5 +619,5 @@
 	 * Tell find_best_thread() to wake us up later again.
 	 */
-	CPU->kcpulbstarted = 0;
+	atomic_set(&CPU->kcpulbstarted,0);
 	goto loop;
 }
Index: generic/src/proc/thread.c
===================================================================
--- generic/src/proc/thread.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/proc/thread.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -96,5 +96,5 @@
 {
 	THREAD = NULL;
-	nrdy = 0;
+	atomic_set(&nrdy,0);
 }
 
@@ -112,5 +112,5 @@
 	runq_t *r;
 	ipl_t ipl;
-	int i, avg, send_ipi = 0;
+	int i, avg;
 
 	ipl = interrupts_disable();
@@ -136,5 +136,5 @@
 
 	atomic_inc(&nrdy);
-	avg = nrdy / config.cpu_active;
+	avg = atomic_get(&nrdy) / config.cpu_active;
 
 	spinlock_lock(&cpu->lock);
Index: generic/src/synch/rwlock.c
===================================================================
--- generic/src/synch/rwlock.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/synch/rwlock.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -226,5 +226,5 @@
 				panic("_mutex_lock_timeout()==ESYNCH_OK_ATOMIC\n");
 				break;
-			dafault:
+			default:
 				panic("invalid ESYNCH\n");
 				break;
Index: generic/src/synch/spinlock.c
===================================================================
--- generic/src/synch/spinlock.c	(revision 7dd25618029b6d98c0ca074a1d14e41065c8ac45)
+++ generic/src/synch/spinlock.c	(revision b4cad8b234012f4ac6c23239284b926c9dd31cbd)
@@ -46,5 +46,5 @@
 void spinlock_initialize(spinlock_t *sl, char *name)
 {
-	sl->val = 0;
+	atomic_set(&sl->val, 0);
 #ifdef CONFIG_DEBUG_SPINLOCK
 	sl->name = name;
@@ -152,5 +152,5 @@
 void spinlock_unlock(spinlock_t *sl)
 {
-	ASSERT(sl->val != 0);
+	ASSERT(atomic_get(&sl->val) != 0);
 
 	/*
@@ -159,5 +159,5 @@
 	CS_LEAVE_BARRIER();
 	
-	sl->val = 0;
+	atomic_set(&sl->val,0);
 	preemption_enable();
 }
