Index: kernel/arch/mips32/include/arch/arch.h
===================================================================
--- kernel/arch/mips32/include/arch/arch.h	(revision c5429fedb8216659204bbbdba42d7f5a845e4dda)
+++ kernel/arch/mips32/include/arch/arch.h	(revision d09eeb202ad93fe26cbffc80003adecf3fb32a5f)
@@ -56,10 +56,14 @@
 
 typedef struct {
+	size_t cnt;
+	utask_t tasks[TASKMAP_MAX_RECORDS];
+} taskmap_t;
+
+typedef struct {
 #if defined(MACHINE_lmalta) || defined(MACHINE_bmalta)
 	uint32_t sdram_size;
 #endif
 	uint32_t cpumap;
-	size_t cnt;
-	utask_t tasks[TASKMAP_MAX_RECORDS];
+	taskmap_t taskmap;
 } bootinfo_t;
 
Index: kernel/arch/mips32/src/mips32.c
===================================================================
--- kernel/arch/mips32/src/mips32.c	(revision c5429fedb8216659204bbbdba42d7f5a845e4dda)
+++ kernel/arch/mips32/src/mips32.c	(revision d09eeb202ad93fe26cbffc80003adecf3fb32a5f)
@@ -88,12 +88,12 @@
 void mips32_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo)
 {
-	init.cnt = min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS);
+	init.cnt = min3(bootinfo->taskmap.cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS);
 
 	size_t i;
 	for (i = 0; i < init.cnt; i++) {
-		init.tasks[i].paddr = KA2PA(bootinfo->tasks[i].addr);
-		init.tasks[i].size = bootinfo->tasks[i].size;
+		init.tasks[i].paddr = KA2PA(bootinfo->taskmap.tasks[i].addr);
+		init.tasks[i].size = bootinfo->taskmap.tasks[i].size;
 		str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN,
-		    bootinfo->tasks[i].name);
+		    bootinfo->taskmap.tasks[i].name);
 	}
 
