diff options
Diffstat (limited to 'include/apos/pmem.h')
| -rw-r--r-- | include/apos/pmem.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/apos/pmem.h b/include/apos/pmem.h new file mode 100644 index 0000000..ec98cbf --- /dev/null +++ b/include/apos/pmem.h @@ -0,0 +1,35 @@ +#ifndef APOS_PMEM_H +#define APOS_PMEM_H + +#include <apos/types.h> + +enum mm_order_t { + MM_O0, + MM_O1, + MM_O2, + MM_O3, + MM_O4, + MM_O5, + MM_O6, + MM_O7, + MM_O8, + MM_O9, +}; + +typedef size_t paddr_t; +typedef ssize_t pnum_t; + +void update_pmap(paddr_t offset); +void free_page(enum mm_order_t order, paddr_t paddr); +void mark_used(enum mm_order_t order, paddr_t paddr); +paddr_t alloc_page(enum mm_order_t order, paddr_t offset); + +#if defined(INIT) +void populate_pmap(paddr_t ram_base, size_t ram_size, paddr_t cont); +#endif + +#if defined(KERNEL) +void init_pmap(void *p); +#endif + +#endif /* APOS_PMEM_H */ |
