Buddy allocator
struct free_area { struct buddy_page *next; uint64_t nr_free;};void buddy_add_to_free_area(struct buddy_page *page, struct free_area *area);buddy_add_to_free_area referenced types:
struct buddy_page * buddy_remove_from_free_area(struct free_area *area);buddy_remove_from_free_area referenced types:
paddr_t buddy_alloc_pages_global(size_t count, enum alloc_flags flags);buddy_alloc_pages_global referenced types:
void buddy_free_pages_global(paddr_t addr, uint64_t count);buddy_free_pages_global referenced types:
void buddy_add_entry(struct page *page_array, struct limine_memmap_entry *entry, struct free_area *farea);buddy_add_entry referenced types:
void buddy_reserve_range(uint64_t pfn, uint64_t pages);paddr_t buddy_alloc_pages(struct free_area *free_area, size_t count);buddy_alloc_pages referenced types:
void buddy_free_pages(paddr_t addr, size_t count, struct free_area *free_area, size_t total_pages);buddy_free_pages referenced types:
void buddy_init(void);Defines
Section titled “Defines”#define MAX_ORDER 23