#ifndef JOVE_MEMORY_BUDDYMAP_H #define JOVE_MEMORY_BUDDYMAP_H 1 #include "memory.h" #include #include #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