Index: kernel/arch/arm32/src/arm32.c
===================================================================
--- kernel/arch/arm32/src/arm32.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/arm32/src/arm32.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -138,5 +138,5 @@
 	uint8_t *stck;
 	
-	stck = &THREAD->kstack[STACK_SIZE - SP_DELTA];
+	stck = &THREAD->kstack[STACK_SIZE];
 	supervisor_sp = (uintptr_t) stck;
 }
Index: kernel/arch/ia64/include/istate.h
===================================================================
--- kernel/arch/ia64/include/istate.h	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/ia64/include/istate.h	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -106,4 +106,6 @@
 	uint64_t in5;
 	uint64_t in6;
+
+	uint64_t alignment;
 } istate_t;
 
Index: kernel/arch/ia64/src/ivt.S
===================================================================
--- kernel/arch/ia64/src/ivt.S	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/ia64/src/ivt.S	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -35,5 +35,5 @@
 #define FRS_TO_SAVE 30
 #define STACK_ITEMS		(21 + FRS_TO_SAVE * 2)
-#define STACK_FRAME_SIZE	ALIGN_UP((STACK_ITEMS*STACK_ITEM_SIZE) + STACK_SCRATCH_AREA_SIZE, STACK_ALIGNMENT)
+#define STACK_FRAME_SIZE	ALIGN_UP((STACK_ITEMS * STACK_ITEM_SIZE) + STACK_SCRATCH_AREA_SIZE, STACK_ALIGNMENT)
 
 #if (STACK_ITEMS % 2 == 0)
Index: kernel/arch/ia64/src/proc/scheduler.c
===================================================================
--- kernel/arch/ia64/src/proc/scheduler.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/ia64/src/proc/scheduler.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -90,5 +90,5 @@
 		:
 		: "r" (&THREAD->kstack[STACK_SIZE / 2]),
-		  "r" (&THREAD->kstack[STACK_SIZE / 2 - SP_DELTA])
+		  "r" (&THREAD->kstack[STACK_SIZE / 2])
 		);
 }
Index: kernel/arch/mips32/src/mips32.c
===================================================================
--- kernel/arch/mips32/src/mips32.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/mips32/src/mips32.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -228,5 +228,5 @@
 {
 	supervisor_sp =
-	    (uintptr_t) &THREAD->kstack[STACK_SIZE - SP_DELTA];
+	    (uintptr_t) &THREAD->kstack[STACK_SIZE];
 }
 
Index: kernel/arch/mips64/src/mips64.c
===================================================================
--- kernel/arch/mips64/src/mips64.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/mips64/src/mips64.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -205,5 +205,5 @@
 {
 	supervisor_sp =
-	    (uintptr_t) &THREAD->kstack[STACK_SIZE - SP_DELTA];
+	    (uintptr_t) &THREAD->kstack[STACK_SIZE];
 }
 
Index: kernel/arch/ppc32/src/proc/scheduler.c
===================================================================
--- kernel/arch/ppc32/src/proc/scheduler.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/ppc32/src/proc/scheduler.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -55,5 +55,5 @@
 	asm volatile (
 		"mtsprg0 %[ksp]\n"
-		:: [ksp] "r" (KA2PA(&THREAD->kstack[STACK_SIZE - SP_DELTA]))
+		:: [ksp] "r" (KA2PA(&THREAD->kstack[STACK_SIZE]))
 	);
 }
Index: kernel/arch/sparc64/src/proc/sun4u/scheduler.c
===================================================================
--- kernel/arch/sparc64/src/proc/sun4u/scheduler.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/sparc64/src/proc/sun4u/scheduler.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -52,4 +52,6 @@
 {
 	if (THREAD->uspace) {
+		uint64_t sp;
+
 		/*
 		 * Write kernel stack address to %g6 of the alternate and
@@ -63,6 +65,5 @@
 		 *   before it explicitly uses %g7.
 		 */
-		uint64_t sp = (uintptr_t) THREAD->kstack + STACK_SIZE -
-		    (STACK_BIAS + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT));
+		sp = (uintptr_t) THREAD->kstack + STACK_SIZE - STACK_BIAS;
 		write_to_ig_g6(sp);
 		write_to_ag_g6(sp);
@@ -76,5 +77,6 @@
 	if (THREAD->uspace) {
 		/* sample the state of the userspace window buffer */
-		THREAD->arch.uspace_window_buffer = (uint8_t *) read_from_ag_g7();
+		THREAD->arch.uspace_window_buffer =
+		    (uint8_t *) read_from_ag_g7();
 	}
 }
Index: kernel/arch/sparc64/src/proc/sun4v/scheduler.c
===================================================================
--- kernel/arch/sparc64/src/proc/sun4v/scheduler.c	(revision 31399f351e50cccf9ca8013eff7464706542f56d)
+++ kernel/arch/sparc64/src/proc/sun4v/scheduler.c	(revision 2277e03b97a6950736870a381ad825874af27449)
@@ -55,6 +55,7 @@
 {
 	if (THREAD->uspace) {
-		uint64_t sp = (uintptr_t) THREAD->kstack + STACK_SIZE -
-		    (STACK_BIAS + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT));
+		uint64_t sp;
+
+		sp = (uintptr_t) THREAD->kstack + STACK_SIZE - STACK_BIAS;
 		asi_u64_write(ASI_SCRATCHPAD, SCRATCHPAD_KSTACK, sp);
 		asi_u64_write(ASI_SCRATCHPAD, SCRATCHPAD_WBUF,
