Module x86_64::structures::paging [−][src]
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. |