Enum Size4KiB
pub enum Size4KiB {}Expand description
A standard 4KiB page.
Trait Implementations§
impl Copy for Size4KiB
impl Eq for Size4KiB
Source§impl FrameAllocator<Size4KiB> for BuddyFrameAllocator
Available on x86-64 only.
impl FrameAllocator<Size4KiB> for BuddyFrameAllocator
Available on x86-64 only.
Source§fn allocate_frame(&mut self) -> Option<X86PhysFrame<Size4KiB>>
fn allocate_frame(&mut self) -> Option<X86PhysFrame<Size4KiB>>
Allocate a frame of the appropriate size and return it if possible.
§impl<P> Mapper<Size4KiB> for MappedPageTable<'_, P>where
P: PageTableFrameMapping,
impl<P> Mapper<Size4KiB> for MappedPageTable<'_, P>where
P: PageTableFrameMapping,
§unsafe fn map_to_with_table_flags<A>(
&mut self,
page: Page,
frame: PhysFrame,
flags: PageTableFlags,
parent_table_flags: PageTableFlags,
allocator: &mut A,
) -> Result<MapperFlush<Size4KiB>, MapToError<Size4KiB>>
unsafe fn map_to_with_table_flags<A>( &mut self, page: Page, frame: PhysFrame, flags: PageTableFlags, parent_table_flags: PageTableFlags, allocator: &mut A, ) -> Result<MapperFlush<Size4KiB>, MapToError<Size4KiB>>
Creates a new mapping in the page table. Read more
§fn unmap(
&mut self,
page: Page,
) -> Result<(PhysFrame, MapperFlush<Size4KiB>), UnmapError>
fn unmap( &mut self, page: Page, ) -> Result<(PhysFrame, MapperFlush<Size4KiB>), UnmapError>
Removes a mapping from the page table and returns the frame that used to be mapped. Read more
§unsafe fn update_flags(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlush<Size4KiB>, FlagUpdateError>
unsafe fn update_flags( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlush<Size4KiB>, FlagUpdateError>
Updates the flags of an existing mapping. Read more
§unsafe fn set_flags_p4_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p4_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page level 4 table entry Read more
§unsafe fn set_flags_p3_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p3_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page table level 3 entry Read more
§unsafe fn set_flags_p2_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p2_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page table level 2 entry Read more
§fn translate_page(&self, page: Page) -> Result<PhysFrame, TranslateError>
fn translate_page(&self, page: Page) -> Result<PhysFrame, TranslateError>
Return the frame that the specified page is mapped to. Read more
§unsafe fn map_to<A>(
&mut self,
page: Page<S>,
frame: PhysFrame<S>,
flags: PageTableFlags,
frame_allocator: &mut A,
) -> Result<MapperFlush<S>, MapToError<S>>
unsafe fn map_to<A>( &mut self, page: Page<S>, frame: PhysFrame<S>, flags: PageTableFlags, frame_allocator: &mut A, ) -> Result<MapperFlush<S>, MapToError<S>>
Creates a new mapping in the page table. Read more
§unsafe fn identity_map<A>(
&mut self,
frame: PhysFrame<S>,
flags: PageTableFlags,
frame_allocator: &mut A,
) -> Result<MapperFlush<S>, MapToError<S>>
unsafe fn identity_map<A>( &mut self, frame: PhysFrame<S>, flags: PageTableFlags, frame_allocator: &mut A, ) -> Result<MapperFlush<S>, MapToError<S>>
Maps the given frame to the virtual page with the same address. Read more
§impl Mapper<Size4KiB> for OffsetPageTable<'_>
impl Mapper<Size4KiB> for OffsetPageTable<'_>
§unsafe fn map_to_with_table_flags<A>(
&mut self,
page: Page,
frame: PhysFrame,
flags: PageTableFlags,
parent_table_flags: PageTableFlags,
allocator: &mut A,
) -> Result<MapperFlush<Size4KiB>, MapToError<Size4KiB>>
unsafe fn map_to_with_table_flags<A>( &mut self, page: Page, frame: PhysFrame, flags: PageTableFlags, parent_table_flags: PageTableFlags, allocator: &mut A, ) -> Result<MapperFlush<Size4KiB>, MapToError<Size4KiB>>
Creates a new mapping in the page table. Read more
§fn unmap(
&mut self,
page: Page,
) -> Result<(PhysFrame, MapperFlush<Size4KiB>), UnmapError>
fn unmap( &mut self, page: Page, ) -> Result<(PhysFrame, MapperFlush<Size4KiB>), UnmapError>
Removes a mapping from the page table and returns the frame that used to be mapped. Read more
§unsafe fn update_flags(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlush<Size4KiB>, FlagUpdateError>
unsafe fn update_flags( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlush<Size4KiB>, FlagUpdateError>
Updates the flags of an existing mapping. Read more
§unsafe fn set_flags_p4_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p4_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page level 4 table entry Read more
§unsafe fn set_flags_p3_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p3_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page table level 3 entry Read more
§unsafe fn set_flags_p2_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p2_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page table level 2 entry Read more
§fn translate_page(&self, page: Page) -> Result<PhysFrame, TranslateError>
fn translate_page(&self, page: Page) -> Result<PhysFrame, TranslateError>
Return the frame that the specified page is mapped to. Read more
§unsafe fn map_to<A>(
&mut self,
page: Page<S>,
frame: PhysFrame<S>,
flags: PageTableFlags,
frame_allocator: &mut A,
) -> Result<MapperFlush<S>, MapToError<S>>
unsafe fn map_to<A>( &mut self, page: Page<S>, frame: PhysFrame<S>, flags: PageTableFlags, frame_allocator: &mut A, ) -> Result<MapperFlush<S>, MapToError<S>>
Creates a new mapping in the page table. Read more
§unsafe fn identity_map<A>(
&mut self,
frame: PhysFrame<S>,
flags: PageTableFlags,
frame_allocator: &mut A,
) -> Result<MapperFlush<S>, MapToError<S>>
unsafe fn identity_map<A>( &mut self, frame: PhysFrame<S>, flags: PageTableFlags, frame_allocator: &mut A, ) -> Result<MapperFlush<S>, MapToError<S>>
Maps the given frame to the virtual page with the same address. Read more
§impl Mapper<Size4KiB> for RecursivePageTable<'_>
impl Mapper<Size4KiB> for RecursivePageTable<'_>
§unsafe fn map_to_with_table_flags<A>(
&mut self,
page: Page,
frame: PhysFrame,
flags: PageTableFlags,
parent_table_flags: PageTableFlags,
allocator: &mut A,
) -> Result<MapperFlush<Size4KiB>, MapToError<Size4KiB>>
unsafe fn map_to_with_table_flags<A>( &mut self, page: Page, frame: PhysFrame, flags: PageTableFlags, parent_table_flags: PageTableFlags, allocator: &mut A, ) -> Result<MapperFlush<Size4KiB>, MapToError<Size4KiB>>
Creates a new mapping in the page table. Read more
§fn unmap(
&mut self,
page: Page,
) -> Result<(PhysFrame, MapperFlush<Size4KiB>), UnmapError>
fn unmap( &mut self, page: Page, ) -> Result<(PhysFrame, MapperFlush<Size4KiB>), UnmapError>
Removes a mapping from the page table and returns the frame that used to be mapped. Read more
§unsafe fn update_flags(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlush<Size4KiB>, FlagUpdateError>
unsafe fn update_flags( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlush<Size4KiB>, FlagUpdateError>
Updates the flags of an existing mapping. Read more
§unsafe fn set_flags_p4_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p4_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page level 4 table entry Read more
§unsafe fn set_flags_p3_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p3_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page table level 3 entry Read more
§unsafe fn set_flags_p2_entry(
&mut self,
page: Page,
flags: PageTableFlags,
) -> Result<MapperFlushAll, FlagUpdateError>
unsafe fn set_flags_p2_entry( &mut self, page: Page, flags: PageTableFlags, ) -> Result<MapperFlushAll, FlagUpdateError>
Set the flags of an existing page table level 2 entry Read more
§fn translate_page(&self, page: Page) -> Result<PhysFrame, TranslateError>
fn translate_page(&self, page: Page) -> Result<PhysFrame, TranslateError>
Return the frame that the specified page is mapped to. Read more
§unsafe fn map_to<A>(
&mut self,
page: Page<S>,
frame: PhysFrame<S>,
flags: PageTableFlags,
frame_allocator: &mut A,
) -> Result<MapperFlush<S>, MapToError<S>>
unsafe fn map_to<A>( &mut self, page: Page<S>, frame: PhysFrame<S>, flags: PageTableFlags, frame_allocator: &mut A, ) -> Result<MapperFlush<S>, MapToError<S>>
Creates a new mapping in the page table. Read more
§unsafe fn identity_map<A>(
&mut self,
frame: PhysFrame<S>,
flags: PageTableFlags,
frame_allocator: &mut A,
) -> Result<MapperFlush<S>, MapToError<S>>
unsafe fn identity_map<A>( &mut self, frame: PhysFrame<S>, flags: PageTableFlags, frame_allocator: &mut A, ) -> Result<MapperFlush<S>, MapToError<S>>
Maps the given frame to the virtual page with the same address. Read more
impl NotGiantPageSize for Size4KiB
§impl Ord for Size4KiB
impl Ord for Size4KiB
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
§impl PartialOrd for Size4KiB
impl PartialOrd for Size4KiB
impl StructuralPartialEq for Size4KiB
Auto Trait Implementations§
impl Freeze for Size4KiB
impl RefUnwindSafe for Size4KiB
impl Send for Size4KiB
impl Sync for Size4KiB
impl Unpin for Size4KiB
impl UnsafeUnpin for Size4KiB
impl UnwindSafe for Size4KiB
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more