28 lines
545 B
C++
28 lines
545 B
C++
#pragma once
|
|
#include <stdint.h>
|
|
|
|
#define PMM_FAILED (void*)-1
|
|
#define PMM_DID_FAIL(addr) (void*)addr == PMM_FAILED
|
|
|
|
namespace PMM
|
|
{
|
|
void init();
|
|
|
|
void* request_page();
|
|
void* request_pages(uint64_t count);
|
|
|
|
void free_page(void* address);
|
|
void free_pages(void* address, uint64_t count);
|
|
|
|
void lock_page(void* address);
|
|
void lock_pages(void* address, uint64_t count);
|
|
|
|
uint64_t get_free();
|
|
uint64_t get_used();
|
|
uint64_t get_reserved();
|
|
|
|
uint64_t get_bitmap_size();
|
|
|
|
void map_bitmap_to_virtual();
|
|
};
|