Index: kernel/arch/arm32/include/mm/tlb.h
===================================================================
--- kernel/arch/arm32/include/mm/tlb.h	(revision 7d60cf59c22009459162657970aeff4fb02727ed)
+++ kernel/arch/arm32/include/mm/tlb.h	(revision 9979acb60a5eb42e08938818e5cc4fd945626555)
@@ -37,7 +37,4 @@
 #define KERN_arm32_TLB_H_
 
-#define tlb_arch_init()
-#define tlb_print()
-
 #endif
 
Index: kernel/arch/arm32/src/mm/page.c
===================================================================
--- kernel/arch/arm32/src/mm/page.c	(revision 7d60cf59c22009459162657970aeff4fb02727ed)
+++ kernel/arch/arm32/src/mm/page.c	(revision 9979acb60a5eb42e08938818e5cc4fd945626555)
@@ -44,4 +44,8 @@
 #include <interrupt.h>
 #include <arch/mm/frame.h>
+#include <ddi/ddi.h>
+
+/** Physical memory area for devices. */
+static parea_t dev_area;
 
 /** Initializes page tables.
@@ -107,8 +111,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);
 }
 
Index: kernel/arch/arm32/src/mm/tlb.c
===================================================================
--- kernel/arch/arm32/src/mm/tlb.c	(revision 7d60cf59c22009459162657970aeff4fb02727ed)
+++ kernel/arch/arm32/src/mm/tlb.c	(revision 9979acb60a5eb42e08938818e5cc4fd945626555)
@@ -90,4 +90,12 @@
 }
 
+void tlb_arch_init(void)
+{
+}
+
+void tlb_print(void)
+{
+}
+
 /** @}
  */
