Skip to content

Physical memory manager

paddr_t pmm_alloc_page_internal(enum alloc_flags flags);

pmm_alloc_page_internal referenced types:

paddr_t pmm_alloc_pages_internal(size_t count, enum alloc_flags flags);

pmm_alloc_pages_internal referenced types:

void pmm_free_pages(paddr_t addr, uint64_t count);

pmm_free_pages referenced types:

void pmm_free_page(paddr_t addr);

pmm_free_page referenced types:

void pmm_early_init(struct limine_memmap_request m);

pmm_early_init referenced types:

void pmm_mid_init(void);
void pmm_late_init(void);
uint64_t pmm_get_usable_ram(void);
#define pmm_alloc_pages_1(count) \ ({ \ if ((enum alloc_flags) count == ALLOC_FLAGS_DEFAULT) \ log_warn_once("Input to alloc_pages matches ALLOC_FLAGS_DEFAULT, " \ "possible mistake"); \ \ pmm_alloc_pages_internal(count, ALLOC_FLAGS_DEFAULT); \ })
#define pmm_alloc_pages_2(count, f) pmm_alloc_pages_internal((count), (f));
#define pmm_alloc_pages(...) \ _DISPATCH(pmm_alloc_pages, PP_NARG(__VA_ARGS__))(__VA_ARGS__)
#define pmm_alloc_page_0() pmm_alloc_page_internal((ALLOC_FLAGS_DEFAULT))
#define pmm_alloc_page_1(f) pmm_alloc_page_internal((f))
#define pmm_alloc_page(...) \ _DISPATCH(pmm_alloc_page, PP_NARG(__VA_ARGS__))(__VA_ARGS__)