Index: kernel/arch/sparc64/src/debug/stacktrace.c
===================================================================
--- kernel/arch/sparc64/src/debug/stacktrace.c	(revision 08c88b8417ff45cba6767f098910f4feecc24b6b)
+++ kernel/arch/sparc64/src/debug/stacktrace.c	(revision 21ee6ad41b89c0fba6aa81341b24482f2d936986)
@@ -37,5 +37,11 @@
 #include <typedefs.h>
 
+#include <arch.h>
 #include <arch/stack.h>
+#include <arch/trap/trap_table.h>
+
+#if defined(SUN4V)
+#include <arch/sun4v/arch.h>
+#endif
 
 #define FRAME_OFFSET_FP_PREV	14
@@ -46,4 +52,17 @@
 bool kernel_frame_pointer_validate(uintptr_t fp)
 {
+	uintptr_t kstack;
+	
+#if defined(SUN4U)
+	kstack = read_from_ag_g6();
+#elif defined(SUN4V)
+	kstack = asi_u64_read(ASI_SCRATCHPAD, SCRATCHPAD_KSTACK);
+#endif
+
+	kstack += STACK_BIAS;
+	kstack -= PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE;
+
+	if (THREAD && (fp == kstack))
+		return false;
 	return fp != 0;
 }
