Index: kernel/arch/sparc64/src/proc/sun4u/scheduler.c
===================================================================
--- kernel/arch/sparc64/src/proc/sun4u/scheduler.c	(revision 6eef3c4403b57fc01e6b79237e6cc0a6a6a7d016)
+++ kernel/arch/sparc64/src/proc/sun4u/scheduler.c	(revision e4d96e9386cdf86237fbc59dfe286c09d4a45432)
@@ -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 6eef3c4403b57fc01e6b79237e6cc0a6a6a7d016)
+++ kernel/arch/sparc64/src/proc/sun4v/scheduler.c	(revision e4d96e9386cdf86237fbc59dfe286c09d4a45432)
@@ -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,
