summaryrefslogtreecommitdiff
path: root/user/lib/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--user/lib/alloc.c (renamed from lib/alloc.c)4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/alloc.c b/user/lib/alloc.c
index dfa2df5..49c762b 100644
--- a/lib/alloc.c
+++ b/user/lib/alloc.c
@@ -1,8 +1,10 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#define MAGIC 0xBEEFCAFE
+#define PAGE_SIZE 4096
struct page_header {
struct page_header *next;
@@ -37,6 +39,7 @@ static void *alloc_new(size_t size)
{
size_t pages = ((size + header_len) / PAGE_SIZE) + 1;
+ // FIXME: use brk/sbrk
void *addr = alloc_pages(pages);
void *mem = (char *)addr + header_len;
@@ -206,6 +209,7 @@ void free(void *ptr)
header->next->prev = header->prev;
if (header->prev)
header->prev->next = header->next;
+ // FIXME: use brk/sbrk
free_pages(header);
}
}