diff options
author | Marvin Borner | 2020-08-26 18:01:03 +0200 |
---|---|---|
committer | Marvin Borner | 2020-08-26 18:01:03 +0200 |
commit | 3f1668290da19734dcbfed633b6f415d1fa21a1a (patch) | |
tree | 85fa32e14c0db07f98b872f6ba9bf9ac6b4de9ca /libc/inc/mem.h | |
parent | ae31470ce5d666981ab1fe50cb2b4b38ca4b113f (diff) |
Started stack allocator.
This will replace the current linear allocator so we can free and
realloc memory correctly. This is especially important for the window
resizing due to a fixed LFB size.
Diffstat (limited to 'libc/inc/mem.h')
-rw-r--r-- | libc/inc/mem.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libc/inc/mem.h b/libc/inc/mem.h index cb64ce8..9aeeee9 100644 --- a/libc/inc/mem.h +++ b/libc/inc/mem.h @@ -7,8 +7,13 @@ // Huh #ifdef kernel -#define malloc(n) (void *)((HEAP += n) - n) // TODO: Implement real/better malloc/free -#define free(ptr) +#define HEAP_SIZE 0x10000 +#define HEAP_MAGIC 0x42 +void heap_init(u32 start); +void *malloc(u32 size); +void free(void *ptr); +/* #define malloc(n) (void *)((HEAP += n) - n) // TODO: Implement real/better malloc/free */ +/* #define free(ptr) */ #elif defined(userspace) #include <sys.h> #define malloc(n) (void *)sys1(SYS_MALLOC, n) @@ -17,11 +22,8 @@ #error "No lib target specified. Please use -Dkernel or -Duserspace" #endif -u32 HEAP; -u32 HEAP_START; - void *memcpy(void *dest, const void *src, u32 n); -void *memset(void *dest, int c, u32 n); +void *memset(void *dest, int val, u32 n); int memcmp(const void *s1, const void *s2, u32 n); #endif |