diff --git a/src/lib/malloc.c b/src/lib/malloc.c
index c10750d..2e700f7 100644
--- a/src/lib/malloc.c
+++ b/src/lib/malloc.c
@@ -11,29 +11,38 @@
 static void *free_mem_ptr = &_heap;		/* Start of heap */
 static void *free_mem_end_ptr = &_eheap;	/* End of heap */
 
-void *malloc(size_t size)
+/* We don't restrict the boundary. This is firmware,
+ * you are supposed to know what you are doing.
+ */
+void *memalign(size_t boundary, size_t size)
 {
 	void *p;
 
-	MALLOCDBG("%s Enter, size %ld, free_mem_ptr %p\n", __func__, size, free_mem_ptr);
+	MALLOCDBG("%s Enter, boundary %ld, size %ld, free_mem_ptr %p\n",
+		__func__, boundary, size, free_mem_ptr);
 
 	/* Overzealous linker check */
 	if (free_mem_ptr <= 0)
-		die("Error! malloc: Free_mem_ptr <= 0");
+		die("Error! memalign: Free_mem_ptr <= 0");
 
-	free_mem_ptr = (void *)ALIGN((unsigned long)free_mem_ptr, 4);
+	free_mem_ptr = (void *)ALIGN((unsigned long)free_mem_ptr, boundary);
 
-	p = (void *) free_mem_ptr;
+	p = free_mem_ptr;
 	free_mem_ptr += size;
 
 	if (free_mem_ptr >= free_mem_end_ptr)
-		die("Error! malloc: Out of memory (free_mem_ptr >= free_mem_end_ptr)");
+		die("Error! memalign: Out of memory (free_mem_ptr >= free_mem_end_ptr)");
 
-	MALLOCDBG("malloc %p\n", p);
+	MALLOCDBG("memalign %p\n", p);
 
 	return p;
 }
 
+void *malloc(size_t size)
+{
+	return memalign(sizeof(u64), size);
+}
+
 void free(void *where)
 {
 	/* Don't care */
