Crate page_table_entry

source ·
Expand description

Defines the structure of Page Table Entries (PTEs) on x86_64.

This crate is also useful for frame deallocation, because it can determine when a frame is mapped exclusively to only one page table entry, and therefore when it is safe to deallocate.

Because Theseus ensures a bijective (1-to-1) mapping between virtual pages and physical frames, it is almost always the case that the frame pointed to by a newly-unmapped page table entry can be deallocated.


  • A page table entry, which is a u64 value under the hood.
  • A range of frames that have been unmapped from a PageTableEntry that previously mapped that frame exclusively (i.e., “owned it”).


  • The frames returned from the action of unmapping a page table entry. See the PageTableEntry::set_unmapped() function.