[−][src]Module sunrise_kernel::paging
Paging.
j-------------------------------j j---------------------j | Process Memory | | Kernel Memory | j-------------------------------j j---------------------j | | j-----------------------j | | Userspace Bookkeeping | | j-----------------------j | | | j--------------------------------+----------------~-----j | User Land | Kernel Land | RTL | j--------------------------------+----------------~-----j Page tables
Modules
arch | Arch-specific implementations of paging |
bookkeeping | Bookkeeping of mappings in UserLand |
cross_process | Cross Process Mapping |
hierarchical_table | Arch-independent traits for architectures that implement paging as a hierarchy of page tables |
kernel_memory | The management of kernel memory |
lands | Module describing the split between the UserSpace and KernelSpace, and a few functions to work with it. |
mapping | Mapping |
process_memory | The management of a process' memory |
Structs
InactiveHierarchy | A currently inactive hierarchy of directory and tables. |
MappingAccessRights | The flags of a mapping. |
Enums
PageState | A hierarchical paging is composed of entries. An entry can be in the following states: |
Constants
PAGE_SIZE | The page size. Dictated by the MMU. In simple, elegant, sane i386 paging, a page is 4kB. |
Traits
InactiveHierarchyTrait | A trait implemented by inactive table hierarchies. |
Functions
read_cr2 | Reads the value of cr2, retrieving the address that caused a page fault |
read_cr3 | Reads the value of cr3, retrieving the current page directory's physical address |