MicrOS
paging.c File Reference
#include "paging.h"

Functions

void paging_init ()
 
void paging_remove_identity ()
 
void paging_add_stack_guard ()
 
paging_table_entrypaging_get_page_directory ()
 
paging_table_entrypaging_get_kernel_page_directory ()
 
void paging_set_page_directory (void *address)
 
void paging_map_page (uint32_t physical_page_index, uint32_t virtual_page_index, bool supervisor)
 
void paging_unmap_page (uint32_t page_index)
 
uint32_t paging_get_first_free_page_index (uint32_t from_index)
 
uint32_t paging_get_physical_index_of_virtual_page (uint32_t page_index)
 
bool paging_is_page_mapped (uint32_t page_index)
 

Variables

paging_table_entrypage_directory = (paging_table_entry *)KERNEL_PAGE_DIRECTORY_ADDRESS
 
paging_table_entrypage_tables = (paging_table_entry *)PAGE_TABLES_ADDRESS
 

Function Documentation

◆ paging_add_stack_guard()

void paging_add_stack_guard ( )

◆ paging_get_first_free_page_index()

uint32_t paging_get_first_free_page_index ( uint32_t  from_index)

◆ paging_get_kernel_page_directory()

paging_table_entry* paging_get_kernel_page_directory ( )

◆ paging_get_page_directory()

paging_table_entry* paging_get_page_directory ( )

◆ paging_get_physical_index_of_virtual_page()

uint32_t paging_get_physical_index_of_virtual_page ( uint32_t  page_index)

◆ paging_init()

void paging_init ( )

◆ paging_is_page_mapped()

bool paging_is_page_mapped ( uint32_t  page_index)

◆ paging_map_page()

void paging_map_page ( uint32_t  physical_page_index,
uint32_t  virtual_page_index,
bool  supervisor 
)

◆ paging_remove_identity()

void paging_remove_identity ( )

◆ paging_set_page_directory()

void paging_set_page_directory ( void *  address)

◆ paging_unmap_page()

void paging_unmap_page ( uint32_t  page_index)

Variable Documentation

◆ page_directory

◆ page_tables