[][src]Module sunrise_bootstrap::paging::table

i386 page table / directory

Modules

detail
entry

i386 page table entry

Structs

ActivePageDirectory

The page directory currently in use.

ActivePageTable

A page table currently in use.

ActivePageTables

The page tables set currently in use.

EntryFlags

The flags of a table entry

InactivePageDirectory

A temporary mapped page directory.

InactivePageTable

A temporary mapped page table.

InactivePageTables

A set of PageTables that are not the ones currently in use. We can't use recursive mapping to modify them, so instead we have to temporarily map the directory and tables to make changes to them.

NoFlush

When passing this struct the TLB will not be flushed. Used by Inactive/PagingOff page tables

PageDirectory

A page directory

PageTable

A page table

PagingOffDirectory

A directory we can modify by directly accessing physical memory because paging is off

PagingOffPageSet

Used at startup when paging is off to create and initialized the first page tables

PagingOffTable

A table we can modify by directly accessing physical memory because paging is off

SmartHierarchicalTable

This is just a wrapper for a pointer to a Table or a Directory. It enables us to do handle when it is dropped

TlbFlush

When passing this struct the TLB will be flushed. Used by ActivePageTables

Enums

MappingType

The type of a Virtual Memory mapping. Can either be Present, in which case it is linked to a Frame and some flags, or Guard.

Constants

DIRECTORY_RECURSIVE_ADDRESS

When paging is on, accessing this address loops back to the directory itself thanks to recursive mapping on directory's last entry

Traits

Flusher

A trait used to decide if the TLB cache should be flushed or not

HierarchicalTable

A table of entries, either the directory or one of the page tables

PageDirectoryTrait

A trait describing all the things that a PageDirectory can do.

PageTableTrait
PageTablesSet