14 PMM_UNUSED, PMM_RESERVED, PMM_KERNEL, PMM_USER
22 void pmm_free(
void* ptr,
size_t len);
24 void pmm_dump(
void* ptr,
size_t len);
void pmm_free(void *ptr, size_t len)
Frees page frames.
void pmm_init()
Initializes the PMM.
void pmm_dump(void *ptr, size_t len)
Dumps information on page frames for a given memory range.
uint32_t pmm_get_page(void *ptr, uint32_t offset)
Returns to which page a given memory address belongs.
pmm_flags_t pmm_check(void *ptr)
Returns whether a page frame is used or unused.
pmm_flags_t
information on who uses a page frame (needs to fit in TYPE_BITS)
void pmm_use(void *ptr, size_t len, pmm_flags_t flags, char *tag)
Marks page frames for a given memory range as used or unused.
void * pmm_alloc(size_t len, pmm_flags_t flags)
Allocates page frames.
uint32_t pmm_get_highest_kernel_page()
Returns the highest page used by the kernel.
void * pmm_get_address(uint32_t page, uint32_t offset)
Returns a memory address belonging to a given page.