Index: kernel/arch/mips32/src/mm/frame.c
===================================================================
--- kernel/arch/mips32/src/mm/frame.c	(revision 65f3117b0c526538a5c5e972042a0bf4f1a325e1)
+++ kernel/arch/mips32/src/mm/frame.c	(revision 6188fee70f91508871094638e99dcaf9d73efdc0)
@@ -111,4 +111,9 @@
 	if (overlaps(frame << ZERO_PAGE_WIDTH, ZERO_PAGE_SIZE,
 	    KA2PA(config.base), config.kernel_size))
+		return false;
+
+	/* Boot allocations */
+	if (overlaps(frame << ZERO_PAGE_WIDTH, ZERO_PAGE_SIZE,
+	    KA2PA(ballocs.base), ballocs.size))
 		return false;
 
Index: kernel/generic/src/mm/frame.c
===================================================================
--- kernel/generic/src/mm/frame.c	(revision 65f3117b0c526538a5c5e972042a0bf4f1a325e1)
+++ kernel/generic/src/mm/frame.c	(revision 6188fee70f91508871094638e99dcaf9d73efdc0)
@@ -752,4 +752,8 @@
 					continue;
 
+				if (overlaps(addr, PFN2ADDR(confcount),
+				    KA2PA(ballocs.base), ballocs.size))
+					continue;
+
 				bool overlap = false;
 				for (size_t i = 0; i < init.cnt; i++) {
