MOS Source Code
Loading...
Searching...
No Matches
paging.c File Reference
+ Include dependency graph for paging.c:

Go to the source code of this file.

Functions

static void x86_setup_direct_map (pml4_t pml4)
 
void x86_paging_setup ()
 
pfn_t platform_pml1e_get_pfn (const pml1e_t *pml1e)
 
void platform_pml1e_set_pfn (pml1e_t *pml1e, pfn_t pfn)
 
bool platform_pml1e_get_present (const pml1e_t *pml1e)
 
void platform_pml1e_set_flags (pml1e_t *pml1e, vm_flags flags)
 
vm_flags platform_pml1e_get_flags (const pml1e_t *pml1e)
 
pml1_t platform_pml2e_get_pml1 (const pml2e_t *pml2e)
 
void platform_pml2e_set_pml1 (pml2e_t *pml2e, pml1_t pml1, pfn_t pml1_pfn)
 
bool platform_pml2e_get_present (const pml2e_t *pml2e)
 
void platform_pml2e_set_flags (pml2e_t *pml2e, vm_flags flags)
 
vm_flags platform_pml2e_get_flags (const pml2e_t *pml2e)
 
bool platform_pml2e_is_huge (const pml2e_t *pml2e)
 
void platform_pml2e_set_huge (pml2e_t *pml2e, pfn_t pfn)
 
pfn_t platform_pml2e_get_huge_pfn (const pml2e_t *pml2)
 
pml2_t platform_pml3e_get_pml2 (const pml3e_t *pml3e)
 
void platform_pml3e_set_pml2 (pml3e_t *pml3e, pml2_t pml2, pfn_t pml2_pfn)
 
bool platform_pml3e_get_present (const pml3e_t *pml3e)
 
void platform_pml3e_set_flags (pml3e_t *pml3e, vm_flags flags)
 
vm_flags platform_pml3e_get_flags (const pml3e_t *pml3e)
 
bool platform_pml3e_is_huge (const pml3e_t *pml3e)
 
void platform_pml3e_set_huge (pml3e_t *pml3e, pfn_t pfn)
 
pfn_t platform_pml3e_get_huge_pfn (const pml3e_t *pml3)
 
pml3_t platform_pml4e_get_pml3 (const pml4e_t *pml4e)
 
void platform_pml4e_set_pml3 (pml4e_t *pml4e, pml3_t pml3, pfn_t pml3_pfn)
 
bool platform_pml4e_get_present (const pml4e_t *pml4e)
 
void platform_pml4e_set_flags (pml4e_t *pml4e, vm_flags flags)
 
vm_flags platform_pml4e_get_flags (const pml4e_t *pml4e)
 

Function Documentation

◆ x86_setup_direct_map()

static void x86_setup_direct_map ( pml4_t pml4)
static

Definition at line 19 of file paging.c.

Referenced by x86_paging_setup().

+ Here is the call graph for this function:

◆ x86_paging_setup()

void x86_paging_setup ( void )

Definition at line 60 of file paging.c.

Referenced by platform_startup_setup_kernel_mm().

+ Here is the call graph for this function:

◆ platform_pml1e_get_pfn()

pfn_t platform_pml1e_get_pfn ( const pml1e_t * pml1e)

Definition at line 65 of file paging.c.

◆ platform_pml1e_set_pfn()

void platform_pml1e_set_pfn ( pml1e_t * pml1e,
pfn_t pfn )

Definition at line 71 of file paging.c.

◆ platform_pml1e_get_present()

bool platform_pml1e_get_present ( const pml1e_t * pml1e)

Definition at line 78 of file paging.c.

◆ platform_pml1e_set_flags()

void platform_pml1e_set_flags ( pml1e_t * pml1e,
vm_flags flags )

Definition at line 84 of file paging.c.

◆ platform_pml1e_get_flags()

vm_flags platform_pml1e_get_flags ( const pml1e_t * pml1e)

Definition at line 95 of file paging.c.

◆ platform_pml2e_get_pml1()

pml1_t platform_pml2e_get_pml1 ( const pml2e_t * pml2e)

Definition at line 110 of file paging.c.

◆ platform_pml2e_set_pml1()

void platform_pml2e_set_pml1 ( pml2e_t * pml2e,
pml1_t pml1,
pfn_t pml1_pfn )

Definition at line 116 of file paging.c.

◆ platform_pml2e_get_present()

bool platform_pml2e_get_present ( const pml2e_t * pml2e)

Definition at line 124 of file paging.c.

◆ platform_pml2e_set_flags()

void platform_pml2e_set_flags ( pml2e_t * pml2e,
vm_flags flags )

Definition at line 130 of file paging.c.

Referenced by x86_setup_direct_map().

◆ platform_pml2e_get_flags()

vm_flags platform_pml2e_get_flags ( const pml2e_t * pml2e)

Definition at line 148 of file paging.c.

◆ platform_pml2e_is_huge()

bool platform_pml2e_is_huge ( const pml2e_t * pml2e)

◆ platform_pml2e_set_huge()

void platform_pml2e_set_huge ( pml2e_t * pml2e,
pfn_t pfn )

Definition at line 172 of file paging.c.

Referenced by x86_setup_direct_map().

◆ platform_pml2e_get_huge_pfn()

pfn_t platform_pml2e_get_huge_pfn ( const pml2e_t * pml2)

◆ platform_pml3e_get_pml2()

pml2_t platform_pml3e_get_pml2 ( const pml3e_t * pml3e)

Definition at line 189 of file paging.c.

◆ platform_pml3e_set_pml2()

void platform_pml3e_set_pml2 ( pml3e_t * pml3e,
pml2_t pml2,
pfn_t pml2_pfn )

Definition at line 195 of file paging.c.

◆ platform_pml3e_get_present()

bool platform_pml3e_get_present ( const pml3e_t * pml3e)

Definition at line 203 of file paging.c.

◆ platform_pml3e_set_flags()

void platform_pml3e_set_flags ( pml3e_t * pml3e,
vm_flags flags )

Definition at line 209 of file paging.c.

Referenced by x86_setup_direct_map().

◆ platform_pml3e_get_flags()

vm_flags platform_pml3e_get_flags ( const pml3e_t * pml3e)

Definition at line 227 of file paging.c.

◆ platform_pml3e_is_huge()

bool platform_pml3e_is_huge ( const pml3e_t * pml3e)

◆ platform_pml3e_set_huge()

void platform_pml3e_set_huge ( pml3e_t * pml3e,
pfn_t pfn )

Definition at line 250 of file paging.c.

Referenced by platform_startup_setup_kernel_mm(), and x86_setup_direct_map().

◆ platform_pml3e_get_huge_pfn()

pfn_t platform_pml3e_get_huge_pfn ( const pml3e_t * pml3)

◆ platform_pml4e_get_pml3()

pml3_t platform_pml4e_get_pml3 ( const pml4e_t * pml4e)

Definition at line 267 of file paging.c.

◆ platform_pml4e_set_pml3()

void platform_pml4e_set_pml3 ( pml4e_t * pml4e,
pml3_t pml3,
pfn_t pml3_pfn )

Definition at line 273 of file paging.c.

◆ platform_pml4e_get_present()

bool platform_pml4e_get_present ( const pml4e_t * pml4e)

Definition at line 281 of file paging.c.

◆ platform_pml4e_set_flags()

void platform_pml4e_set_flags ( pml4e_t * pml4e,
vm_flags flags )

Definition at line 287 of file paging.c.

Referenced by x86_setup_direct_map().

◆ platform_pml4e_get_flags()

vm_flags platform_pml4e_get_flags ( const pml4e_t * pml4e)

Definition at line 298 of file paging.c.