Index: boot/arch/ppc32/include/arch/asm.h
===================================================================
--- boot/arch/ppc32/include/arch/asm.h	(revision 8ca4b602c9e88731eb7b89e339794815b53a2c11)
+++ boot/arch/ppc32/include/arch/asm.h	(revision 4db05eabc7fa0bd0ef4a266c375abc1210212cba)
@@ -33,5 +33,5 @@
 #include <arch/main.h>
 
-extern void jump_to_kernel(void *, void *, size_t, void *)
+extern void jump_to_kernel(void *, void *, size_t, void *, uintptr_t)
     __attribute__((noreturn));
 extern void real_mode(void);
Index: boot/arch/ppc32/src/asm.S
===================================================================
--- boot/arch/ppc32/src/asm.S	(revision 8ca4b602c9e88731eb7b89e339794815b53a2c11)
+++ boot/arch/ppc32/src/asm.S	(revision 4db05eabc7fa0bd0ef4a266c375abc1210212cba)
@@ -127,4 +127,5 @@
 	# r5 = pages to translate
 	# r6 = real mode meeting point (physical address)
+	# r7 = kernel entry point (virtual address in kernel's address space)
 
 	# disable interrupts
@@ -160,4 +161,5 @@
 	# r4 = translate table (physical address)
 	# r5 = pages to translate
+	# r7 = kernel entry point (virtual address in kernel's address space)
 
 	# move the images of components to the proper
@@ -399,5 +401,5 @@
 	# start the kernel
 	#
-	# pc = PA2KA(BOOT_OFFSET)
+	# pc = kernel's entry point (r7)
 	# r3 = bootinfo (physical address)
 	# sprg0 = BOOT_OFFSET
@@ -405,7 +407,5 @@
 	# sp = 0 (enforces the usage of sprg0 as exception stack)
 
-	lis r31, PA2KA(BOOT_OFFSET)@ha
-	addi r31, r31, PA2KA(BOOT_OFFSET)@l
-	mtspr srr0, r31
+	mtspr srr0, r7
 
 	lis r31, BOOT_OFFSET@ha
Index: boot/arch/ppc32/src/main.c
===================================================================
--- boot/arch/ppc32/src/main.c	(revision 8ca4b602c9e88731eb7b89e339794815b53a2c11)
+++ boot/arch/ppc32/src/main.c	(revision 4db05eabc7fa0bd0ef4a266c375abc1210212cba)
@@ -135,4 +135,5 @@
 
 	printf("Booting the kernel...\n");
-	jump_to_kernel(bootinfo_pa, transtable_pa, pages, real_mode_pa);
+	jump_to_kernel(bootinfo_pa, transtable_pa, pages, real_mode_pa,
+	    PA2KA(BOOT_OFFSET));
 }
