MicrOS
paging.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include "paging_table_entry.h"
#include "cpu/panic/panic_screen.h"

Go to the source code of this file.

Macros

#define KERNEL_PAGE_DIRECTORY_ADDRESS   0xC0006000
 
#define PAGE_TABLES_ADDRESS   0xC1100000
 

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 virtual_index)
 
bool paging_is_page_mapped (uint32_t page_index)
 

Macro Definition Documentation

◆ KERNEL_PAGE_DIRECTORY_ADDRESS

#define KERNEL_PAGE_DIRECTORY_ADDRESS   0xC0006000

◆ PAGE_TABLES_ADDRESS

#define PAGE_TABLES_ADDRESS   0xC1100000

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  virtual_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)