2025-07-17 11:36:45 +00:00
|
|
|
/**
|
|
|
|
|
* @file virtmem.h
|
|
|
|
|
* @brief
|
|
|
|
|
* @details
|
|
|
|
|
*/
|
2025-07-16 03:14:33 +00:00
|
|
|
#ifndef VIRTMEM_H
|
|
|
|
|
#define VIRTMEM_H
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
2025-07-17 11:36:45 +00:00
|
|
|
/**
|
|
|
|
|
* @brief
|
|
|
|
|
*/
|
2025-07-16 03:14:33 +00:00
|
|
|
extern uint32_t global_page_dir;
|
2025-07-17 11:36:45 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief
|
|
|
|
|
*/
|
2025-07-16 03:14:33 +00:00
|
|
|
extern uint32_t kernel_pagetable;
|
|
|
|
|
|
2025-07-17 11:36:45 +00:00
|
|
|
/**
|
|
|
|
|
* @brief
|
|
|
|
|
* @param page_dir
|
|
|
|
|
* @param phys_loc
|
|
|
|
|
* @param virtual_loc
|
|
|
|
|
* @param page_opts
|
|
|
|
|
* @return int
|
|
|
|
|
*/
|
|
|
|
|
int map(uint32_t* page_dir, uint32_t phys_loc, uint32_t virtual_loc, uint8_t page_opts);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief
|
|
|
|
|
* @param phys_loc
|
|
|
|
|
* @param virtual_loc
|
|
|
|
|
* @param page_opts
|
|
|
|
|
* @return int
|
|
|
|
|
*/
|
|
|
|
|
int kmap(uint32_t phys_loc, uint32_t virtual_loc, uint8_t page_opts);
|
2025-07-16 03:14:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|