[−][src]Module x86_64::structures::paging
Abstractions for page tables and other paging related structures.
Page tables translate virtual memory “pages” to physical memory “frames”.
Structs
MapperFlush | This type represents a page whose mapping has changed in the page table. |
NotRecursivelyMapped | An error indicating that the given page table is not recursively mapped. |
Page | A virtual memory page. |
PageRange | A range of pages with exclusive upper bound. |
PageRangeInclusive | A range of pages with inclusive upper bound. |
PageTable | Represents a page table. |
PageTableEntry | A 64-bit page table entry. |
PageTableFlags | Possible flags for a page table entry. |
PhysFrame | A physical memory frame. |
PhysFrameRange | An range of physical memory frames, exclusive the upper bound. |
PhysFrameRangeInclusive | An range of physical memory frames, inclusive the upper bound. |
RecursivePageTable | A recursive page table is a last level page table with an entry mapped to the table itself. |
Enums
FlagUpdateError | An error indicating that an |
FrameError | The error returned by the |
MapToError | This error is returned from |
Size1GiB | A “giant” 1GiB page. |
Size2MiB | A “huge” 2MiB page. |
Size4KiB | A standard 4KiB page. |
UnmapError | An error indicating that an |
Traits
FrameAllocator | A trait for types that can allocate a frame of memory. |
FrameDeallocator | A trait for types that can deallocate a frame of memory. |
Mapper | A trait for common page table operations. |
NotGiantPageSize | This trait is implemented for 4KiB and 2MiB pages, but not for 1GiB pages. |
PageSize | Trait for abstracting over the three possible page sizes on x86_64, 4KiB, 2MiB, 1GiB. |