fix dependency check logic cause config always disabled
[lunaix-os.git] / lunaix-os / kernel / mm / pmm_internal.h
1 #ifndef __LUNAIX_PMM_ALLOC_H
2 #define __LUNAIX_PMM_ALLOC_H
3
4 #include <lunaix/mm/pmm.h>
5
6 static inline void
7 set_reserved(struct ppage* page)
8 {
9     page->refs = RESERVE_MARKER;
10     page->type = PP_RESERVED;
11     page->order = 0;
12 }
13
14 void
15 pmm_allocator_init(struct pmem* memory);
16
17 void
18 pmm_allocator_init_pool(struct pmem_pool* pool);
19
20 void
21 pmm_allocator_add_freehole(struct pmem_pool* pool, struct ppage* start, struct ppage* end);
22
23 bool
24 pmm_allocator_trymark_onhold(struct pmem_pool* pool, struct ppage* start, struct ppage* end);
25
26 bool
27 pmm_allocator_trymark_unhold(struct pmem_pool* pool, struct ppage* start, struct ppage* end);
28
29 #endif /* __LUNAIX_PMM_ALLOC_H */