2018-09-02 08:03:27 +02:00
|
|
|
#ifndef PAGES_H
|
|
|
|
#define PAGES_H
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
|
|
|
|
#define PAGE_SHIFT 12
|
2018-12-05 08:07:05 +01:00
|
|
|
#ifndef PAGE_SIZE
|
2018-09-02 08:03:27 +02:00
|
|
|
#define PAGE_SIZE ((size_t)1 << PAGE_SHIFT)
|
2018-12-05 08:07:05 +01:00
|
|
|
#endif
|
|
|
|
#define PAGE_CEILING(s) (((s) + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1))
|
2018-09-02 08:03:27 +02:00
|
|
|
|
2019-03-23 04:17:26 +01:00
|
|
|
void *allocate_pages(size_t usable_size, size_t guard_size, bool unprotect, const char *name);
|
2019-03-24 03:29:04 +01:00
|
|
|
void *allocate_pages_aligned(size_t usable_size, size_t alignment, size_t guard_size, const char *name);
|
2018-09-02 08:03:27 +02:00
|
|
|
void deallocate_pages(void *usable, size_t usable_size, size_t guard_size);
|
|
|
|
|
|
|
|
#endif
|