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

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(void *addr);
void *kmalloc(size_t len);
void kfree(void *ptr);