Index: kernel/generic/include/mm/frame.h
===================================================================
--- kernel/generic/include/mm/frame.h	(revision 01397474a2646200e21e05fde124c7bc002a54a6)
+++ kernel/generic/include/mm/frame.h	(revision c32e6bc6032110a396cc7816b70d9a2a6012432a)
@@ -159,4 +159,5 @@
 extern void *frame_alloc_generic(uint8_t, frame_flags_t, size_t *);
 extern void *frame_alloc(uint8_t, frame_flags_t);
+extern void frame_free_generic(uintptr_t, frame_flags_t);
 extern void frame_free(uintptr_t);
 extern void frame_reference_add(pfn_t);
Index: kernel/generic/src/mm/frame.c
===================================================================
--- kernel/generic/src/mm/frame.c	(revision 01397474a2646200e21e05fde124c7bc002a54a6)
+++ kernel/generic/src/mm/frame.c	(revision c32e6bc6032110a396cc7816b70d9a2a6012432a)
@@ -1098,7 +1098,8 @@
  *
  * @param frame Physical Address of of the frame to be freed.
- *
- */
-void frame_free(uintptr_t frame)
+ * @param flags Flags to control memory reservation.
+ *
+ */
+void frame_free_generic(uintptr_t frame, frame_flags_t flags)
 {
 	irq_spinlock_lock(&zones.lock, true);
@@ -1128,4 +1129,9 @@
 	}
 	mutex_unlock(&mem_avail_mtx);
+}
+
+void frame_free(uintptr_t frame)
+{
+	frame_free_generic(frame, 0);
 }
 
