Index: boot/arch/mips32/Makefile.inc
===================================================================
--- boot/arch/mips32/Makefile.inc	(revision 63a045c41ff533abb66be65fc068415be77ad7df)
+++ boot/arch/mips32/Makefile.inc	(revision 5c38838e92d8bcc5d2e86f5cef278082a4aed75b)
@@ -88,3 +88,4 @@
 	generic/src/gzip.c \
 	generic/src/tar.c \
+	generic/src/kernel.c \
 	generic/src/payload.c
Index: boot/arch/mips32/src/main.c
===================================================================
--- boot/arch/mips32/src/main.c	(revision 63a045c41ff533abb66be65fc068415be77ad7df)
+++ boot/arch/mips32/src/main.c	(revision 5c38838e92d8bcc5d2e86f5cef278082a4aed75b)
@@ -40,4 +40,5 @@
 #include <errno.h>
 #include <payload.h>
+#include <kernel.h>
 
 static bootinfo_t *bootinfo = (bootinfo_t *) PA2KA(BOOTINFO_OFFSET);
@@ -78,5 +79,7 @@
 	}
 
-	printf("Booting the kernel ... \n");
-	jump_to_kernel((void *) PA2KA(BOOT_OFFSET), bootinfo);
+	uintptr_t entry = check_kernel(kernel_start);
+
+	printf("Booting the kernel...\n");
+	jump_to_kernel((void *) entry, bootinfo);
 }
