pub struct PageTableMonitor<Driver, Tag = &'static str>{ /* private fields */ }Expand description
Page Table Monitor.
Implementations§
Source§impl<Driver, Tag> PageTableMonitor<Driver, Tag>
impl<Driver, Tag> PageTableMonitor<Driver, Tag>
Sourcepub fn monitored_tables(&self) -> usize
pub fn monitored_tables(&self) -> usize
Returns the number of monitored tables.
Sourcepub fn monitored_entries(&self) -> usize
pub fn monitored_entries(&self) -> usize
Returns the number of monitored entries.
Sourcepub fn paged_in_entries(&self) -> usize
pub fn paged_in_entries(&self) -> usize
Returns the number of paged-in entries.
Sourcepub fn monitor(
&mut self,
vmi: &VmiCore<Driver>,
ctx: impl Into<AddressContext>,
view: View,
tag: Tag,
) -> Result<(), VmiError>
pub fn monitor( &mut self, vmi: &VmiCore<Driver>, ctx: impl Into<AddressContext>, view: View, tag: Tag, ) -> Result<(), VmiError>
Monitors a virtual address.
Sourcepub fn unmonitor(
&mut self,
vmi: &VmiCore<Driver>,
ctx: impl Into<AddressContext>,
view: View,
) -> Result<(), VmiError>
pub fn unmonitor( &mut self, vmi: &VmiCore<Driver>, ctx: impl Into<AddressContext>, view: View, ) -> Result<(), VmiError>
Unmonitors a virtual address.
Sourcepub fn unmonitor_all(&mut self, vmi: &VmiCore<Driver>)
pub fn unmonitor_all(&mut self, vmi: &VmiCore<Driver>)
Unmonitors all virtual addresses.
Sourcepub fn unmonitor_view(&mut self, vmi: &VmiCore<Driver>, view: View)
pub fn unmonitor_view(&mut self, vmi: &VmiCore<Driver>, view: View)
Unmonitors all virtual addresses associated with a view.
Sourcepub fn mark_dirty_entry(
&mut self,
entry_pa: Pa,
view: View,
vcpu_id: VcpuId,
) -> bool
pub fn mark_dirty_entry( &mut self, entry_pa: Pa, view: View, vcpu_id: VcpuId, ) -> bool
Marks a page table entry as dirty.
Sourcepub fn process_dirty_entries(
&mut self,
vmi: &VmiCore<Driver>,
vcpu_id: VcpuId,
) -> Result<Vec<PageTableMonitorEvent>, VmiError>
pub fn process_dirty_entries( &mut self, vmi: &VmiCore<Driver>, vcpu_id: VcpuId, ) -> Result<Vec<PageTableMonitorEvent>, VmiError>
Processes dirty entries.
Auto Trait Implementations§
impl<Driver, Tag> Freeze for PageTableMonitor<Driver, Tag>
impl<Driver, Tag> RefUnwindSafe for PageTableMonitor<Driver, Tag>
impl<Driver, Tag> Send for PageTableMonitor<Driver, Tag>
impl<Driver, Tag> Sync for PageTableMonitor<Driver, Tag>
impl<Driver, Tag> Unpin for PageTableMonitor<Driver, Tag>
impl<Driver, Tag> UnwindSafe for PageTableMonitor<Driver, Tag>
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