Index: kernel/arch/mips32/src/mm/page.c
===================================================================
--- kernel/arch/mips32/src/mm/page.c	(revision 7f34182064fa93a69263014cb1b9789bf87da965)
+++ kernel/arch/mips32/src/mm/page.c	(revision 9646159109db804ee73ff4a9fc8359fb3318c3d2)
@@ -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);
 }
 
