Index: kernel/arch/mips32/src/mm/page.c
===================================================================
--- kernel/arch/mips32/src/mm/page.c	(revision ae318d3535cba06a6996f270db31a961fae402ad)
+++ kernel/arch/mips32/src/mm/page.c	(revision 5ad8661e80323e9b4b2ccfb00b9bb2b29608d73f)
@@ -37,4 +37,8 @@
 #include <mm/page.h>
 #include <mm/frame.h>
+#include <ddi/ddi.h>
+
+/** Physical memory area for devices. */
+static parea_t dev_area;
 
 void page_arch_init(void)
@@ -52,8 +56,9 @@
 }
 
-void hw_area(uintptr_t *physaddr, pfn_t *frames)
+void hw_area(void)
 {
-	*physaddr = end_frame;
-	*frames = ADDR2PFN(0xffffffff - end_frame);
+	dev_area.pbase = end_frame;
+	dev_area.frames = SIZE2FRAMES(0xffffffff - end_frame);
+	ddi_parea_register(&dev_area);
 }
 
