blob: 2f4f5dc15134117558cfdddba406aa9d01ec58ec (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#ifndef JOVE_MEMORY_BUDDYMAP_H
#define JOVE_MEMORY_BUDDYMAP_H 1
#include "memory.h"
#include <stdint.h>
#include <stddef.h>
#define MEMMAP_BUDDY_LIMIT (4 * GiB)
void mem_buddy_set_range(uintptr_t base, size_t length);
void mem_buddy_free_range(uintptr_t base, size_t length);
uintptr_t mem_buddy_takefree(size_t layer);
#define mem_buddy_takefree_4k() mem_buddy_takefree(0)
#define mem_buddy_takefree_8k() mem_buddy_takefree(1)
#define mem_buddy_takefree_16k() mem_buddy_takefree(2)
#define mem_buddy_takefree_32k() mem_buddy_takefree(3)
void mem_buddy_setup(void);
#endif
|