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 update_flags call failed.

FrameError

The error returned by the PageTableEntry::frame method.

MapToError

This error is returned from map_to and similar methods.

Size1GiB

A giant” 4GiB page.

Size2MiB

A “huge” 2MiB page.

Size4KiB

A standard 4KiB page.

UnmapError

An error indicating that an unmap call failed.

Traits

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.