mm: properly implement page locking

This commit is contained in:
Matheus
2026-07-08 01:37:12 -03:00
parent af30088c0d
commit 1512b2f3c6
14 changed files with 123 additions and 45 deletions
+4
View File
@@ -3,6 +3,7 @@
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#define MEMORY_SECTION_COUNT 3
#define MEMORY_SECTION_1MB 0
@@ -44,11 +45,14 @@ page_t *mm_get_page(void *addr);
void *mm_get_page_address(page_t *);
void mm_hold_page(void *addr);
void mm_release_page(void *addr);
void mm_unlock_and_release_page(void *addr);
void mm_force_free_page(void *address, size_t count);
void *mm_alloc_pages(size_t size, int section);
void mm_release_range(void *addr, size_t size);
void mm_page_init();
void mm_get_page_statistics(size_t *total_pages, size_t *free_pages);
void mm_unlock_page(page_t *page);
bool mm_is_page_locked(page_t *page);
extern uintptr_t hhdm_base;