Index: boot/arch/ppc32/src/main.c
===================================================================
--- boot/arch/ppc32/src/main.c	(revision f09d8913c3e72e8d0af5db6b07bfcac904efeb5f)
+++ boot/arch/ppc32/src/main.c	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
@@ -167,5 +167,4 @@
 	
 	printf("Booting the kernel...\n");
-	ofw_quiesce();
 	jump_to_kernel(bootinfo_pa, transtable_pa, pages, real_mode_pa);
 }
Index: boot/arch/sparc64/include/asm.h
===================================================================
--- boot/arch/sparc64/include/asm.h	(revision f09d8913c3e72e8d0af5db6b07bfcac904efeb5f)
+++ boot/arch/sparc64/include/asm.h	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
@@ -33,6 +33,6 @@
 #include <typedefs.h>
 
-extern void jump_to_kernel(void *entry, bootinfo_t *bootinfo,
-    uintptr_t physmem_start, uint8_t subarch) __attribute__((noreturn));
+extern void jump_to_kernel(uintptr_t physmem_start, bootinfo_t *bootinfo,
+    uint8_t subarch, void *entry) __attribute__((noreturn));
 
 #endif
Index: boot/arch/sparc64/src/asm.S
===================================================================
--- boot/arch/sparc64/src/asm.S	(revision f09d8913c3e72e8d0af5db6b07bfcac904efeb5f)
+++ boot/arch/sparc64/src/asm.S	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
@@ -182,5 +182,5 @@
 	 * (subarch).
 	 */
-	cmp %i2, SUBARCH_US3
+	cmp %o2, SUBARCH_US3
 	be %xcc, 1f
 	nop
@@ -199,9 +199,5 @@
 	
 	! Jump to kernel
-	mov %o0, %l1
-	mov %o1, %o0
-	mov %o3, %o1
-	
-	jmp %l1
+	jmp %o3
 	nop
 
Index: boot/arch/sparc64/src/main.c
===================================================================
--- boot/arch/sparc64/src/main.c	(revision f09d8913c3e72e8d0af5db6b07bfcac904efeb5f)
+++ boot/arch/sparc64/src/main.c	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
@@ -205,4 +205,5 @@
 	
 	void *bootinfo_pa = ofw_translate(&bootinfo);
+	void *kernel_address_pa = ofw_translate((void *) KERNEL_ADDRESS);
 	void *loader_address_pa = ofw_translate((void *) LOADER_ADDRESS);
 	
@@ -210,5 +211,5 @@
 	    bootinfo.memmap.total >> 20, bootinfo.physmem_start);
 	printf(" %p|%p: boot info structure\n", &bootinfo, bootinfo_pa);
-	printf(" %p|%p: kernel entry point\n", KERNEL_ADDRESS, KERNEL_ADDRESS);
+	printf(" %p|%p: kernel entry point\n", KERNEL_ADDRESS, kernel_address_pa);
 	printf(" %p|%p: loader entry pount\n", LOADER_ADDRESS, loader_address_pa);
 	
@@ -304,6 +305,5 @@
 	
 	printf("Booting the kernel ...\n");
-	ofw_quiesce();
-	jump_to_kernel((void *) KERNEL_ADDRESS, &bootinfo, subarch,
-	    bootinfo.physmem_start | BSP_PROCESSOR);
-}
+	jump_to_kernel(bootinfo.physmem_start | BSP_PROCESSOR, &bootinfo, subarch,
+	    (void *) KERNEL_ADDRESS);
+}
