diff options
author | Freya Murphy <freya@freyacat.org> | 2025-04-08 10:39:48 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-04-08 10:39:48 -0400 |
commit | 8a19547957a86bed3f58c9abc1ac218d04698faf (patch) | |
tree | ed7ccc6f3a8902915dfe6c9bf763fc45d752b3c4 /user/lib/alloc.c | |
parent | fmt (diff) | |
download | comus-8a19547957a86bed3f58c9abc1ac218d04698faf.tar.gz comus-8a19547957a86bed3f58c9abc1ac218d04698faf.tar.bz2 comus-8a19547957a86bed3f58c9abc1ac218d04698faf.zip |
break apart c libaray
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); } } |