summaryrefslogtreecommitdiff
path: root/src/kernel/mem/alloc.h
blob: a92d866c46b44f4314d48ad7999aaf6285ca81b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include <kernel/arch/generic.h>
#include <kernel/main.h>
#include <stddef.h>

extern struct malloc_hdr *malloc_last;

void mem_init(struct kmain_info *);
void mem_debugprint(void);

// allocates `pages` consecutive pages
void *page_alloc(size_t pages);

// frees `pages` consecutive pages starting from *first
void page_free(void *first, size_t pages);

void kmalloc_sanity(const void *addr);
void *kmalloc(size_t len);
void kfree(void *ptr);