pub struct PageSet {
page_table: PageTable,
segment_list: Vec<PageSegment>,
}
Expand description
The PageSet
struct represents a collection of related PageSegment.
Fields§
§page_table: PageTable
§segment_list: Vec<PageSegment>
Implementations§
source§impl PageSet
impl PageSet
pub fn new() -> Self
pub fn clone_from(page_set: &mut Self) -> Self
pub fn init(&self)
pub fn satp(&self) -> usize
pub fn translate(&self, page_number: PageNumber) -> Option<PageTableEntry>
pub fn clone_frame(&mut self, virtual_address: VirtualAddress) -> bool
pub fn push(&mut self, segment: PageSegment, bytes: Option<&[u8]>)
pub fn push_mapped(&mut self, segment: PageSegment, bytes: Option<&[u8]>)
pub fn segment_list(&self) -> &Vec<PageSegment>
pub fn insert_frame( &mut self, start_address: VirtualAddress, end_address: VirtualAddress, map_permission: MapPermission )
pub fn find_segment_mut( &mut self, address: VirtualAddress ) -> Option<&mut PageSegment>
sourcepub fn remove_segment(&mut self, address: VirtualAddress)
pub fn remove_segment(&mut self, address: VirtualAddress)
Removes a PageSegment that contains a specific VirtualAddress.