Index: kernel/arch/sparc64/include/asm.h
===================================================================
--- kernel/arch/sparc64/include/asm.h	(revision da02e6904415c1e00c96a488e305afe2512b066f)
+++ kernel/arch/sparc64/include/asm.h	(revision b254b3b9cf2ab6ddfb7a668c8739854bc5da0efb)
@@ -42,4 +42,5 @@
 #include <config.h>
 #include <time/clock.h>
+#include <arch/stack.h>
 
 /** Read Processor State register.
@@ -245,9 +246,9 @@
 static inline uintptr_t get_stack_base(void)
 {
-	uintptr_t v;
-	
-	__asm__ volatile ("andn %%sp, %1, %0\n" : "=r" (v) : "r" (STACK_SIZE-1));
-	
-	return v;
+	uintptr_t unbiased_sp;
+	
+	__asm__ volatile ("add %%sp, %1, %0\n" : "=r" (unbiased_sp) : "i" (STACK_BIAS));
+	
+	return ALIGN_DOWN(unbiased_sp, STACK_SIZE);
 }
 
