Index: generic/include/mm/buddy.h
===================================================================
--- generic/include/mm/buddy.h	(revision 42744880a09efbd22a7e49822241bb65a91cd197)
+++ generic/include/mm/buddy.h	(revision bb68433fea16aec0b0b4240149c9c3e8fb347b34)
@@ -46,4 +46,5 @@
 	/** Find parent of block that has given order  */
 	link_t *(* find_block)(buddy_system_t *, link_t *, __u8);
+	void (* print_id)(buddy_system_t *, link_t *);
 };
 
Index: generic/include/mm/frame.h
===================================================================
--- generic/include/mm/frame.h	(revision 42744880a09efbd22a7e49822241bb65a91cd197)
+++ generic/include/mm/frame.h	(revision bb68433fea16aec0b0b4240149c9c3e8fb347b34)
@@ -54,6 +54,8 @@
 
 /* Return true if the interlvals overlap */
-static inline int overlaps(__address s1,__address e1, __address s2, __address e2)
+static inline int overlaps(__address s1,__address sz1, __address s2, __address sz2)
 {
+	__address e1 = s1+sz1;
+	__address e2 = s2+sz2;
 	if (s1 >= s2 && s1 < e2)
 		return 1;
@@ -96,10 +98,11 @@
 extern void frame_free(__address addr);
 
-extern void zone_create(pfn_t start, count_t count, pfn_t confframe, int flags);
-
+extern int zone_create(pfn_t start, count_t count, pfn_t confframe, int flags);
 void * frame_get_parent(pfn_t frame, int hint);
 void frame_set_parent(pfn_t frame, void *data, int hint);
 void frame_mark_unavailable(pfn_t start, count_t count);
-__address zone_conf_size(pfn_t start, count_t count);
+__address zone_conf_size(count_t count);
+void zone_merge(int z1, int z2);
+void zone_merge_all(void);
 
 /*
Index: generic/include/mm/slab.h
===================================================================
--- generic/include/mm/slab.h	(revision 42744880a09efbd22a7e49822241bb65a91cd197)
+++ generic/include/mm/slab.h	(revision bb68433fea16aec0b0b4240149c9c3e8fb347b34)
@@ -126,7 +126,5 @@
 
 /* Malloc support */
-extern void * kalloc(unsigned int size, int flags);
-extern void kfree(void *obj);
-#define malloc(x)  kalloc(x, FRAME_ATOMIC)
-#define free(x)    kfree(x)
+extern void * malloc(unsigned int size, int flags);
+extern void free(void *obj);
 #endif
