-static uintptr_t max_pg;
-
-void
-pmm_mark_page_free(uintptr_t ppn)
-{
- pm_table[ppn].ref_counts = 0;
-}
-
-void
-pmm_mark_page_occupied(pid_t owner, uintptr_t ppn, pp_attr_t attr)
-{
- pm_table[ppn] = (struct pp_struct) {
- .owner = owner,
- .ref_counts = 1,
- .attr = attr
- };
-}
-
-void
-pmm_mark_chunk_free(uintptr_t start_ppn, size_t page_count)
-{
- for (size_t i = start_ppn; i < start_ppn + page_count && i < max_pg; i++)
- {
- pm_table[i].ref_counts = 0;
- }
-}
-
-void
-pmm_mark_chunk_occupied(pid_t owner, uint32_t start_ppn, size_t page_count, pp_attr_t attr)