Index: kernel/arch/sparc64/src/smp/sun4v/smp.c
===================================================================
--- kernel/arch/sparc64/src/smp/sun4v/smp.c	(revision 6da15db79d9aaf490ef2139ceb05b2fe75ceb1e7)
+++ kernel/arch/sparc64/src/smp/sun4v/smp.c	(revision 57914494f0017d0618e3eaa16f2ae9c2fd1baefd)
@@ -81,66 +81,4 @@
 unsigned int max_core_strands = 0;
 
-#ifdef CONFIG_SIMICS_SMP_HACK
-/**
- * Copies a piece of HelenOS code to the place where OBP had its IPI handler.
- * By sending an IPI by the BSP to the AP the code will be executed.
- * The code will jump to the first instruction of the kernel. This is
- * a workaround how to make APs execute HelenOS code on Simics.
- */
-static void simics_smp_hack_init(void) {
-	asm volatile (
-		"setx temp_cpu_mondo_handler, %g4, %g6 \n"
-		"setx 0x80200f80, %g4, %g7 \n"
-
-		"ldx [%g6], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x8], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x10], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x18], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x20], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x28], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x30], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x38], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"add %g7, 0x8, %g7 \n"
-		"ldx [%g6 + 0x40], %g4 \n"
-		"stxa %g4, [%g7] 0x14 \n"
-		"membar #Sync \n"
-
-		"flush %i7"
-
-		);
-}
-#endif
-
 #if 0
 /**
@@ -372,7 +310,4 @@
 {
 	detect_execution_units();
-#ifdef CONFIG_SIMICS_SMP_HACK
-	simics_smp_hack_init();
-#endif
 }
 
Index: kernel/arch/sparc64/src/sun4v/start.S
===================================================================
--- kernel/arch/sparc64/src/sun4v/start.S	(revision 6da15db79d9aaf490ef2139ceb05b2fe75ceb1e7)
+++ kernel/arch/sparc64/src/sun4v/start.S	(revision 57914494f0017d0618e3eaa16f2ae9c2fd1baefd)
@@ -309,21 +309,4 @@
 	ba,a %xcc, 0b
 
-.align 8
-SYMBOL(temp_cpu_mondo_handler)
-
-	set 0x3c, %o0
-	set 0x15, %o5
-	ta 0x80
-
-	mov 0, %o0
-	setx before_ap_boots, %g1, %o1
-	setx 0x80400000, %g1, %o2
-	add %o1, %o2, %o1
-	__HYPERCALL_FAST(MMU_ENABLE)
-
-before_ap_boots:
-	setx 0x80400000, %g1, %o0
-	ba,a %xcc, kernel_image_start
-
 .section K_DATA_START, "aw", @progbits
 
