Skip to main content

VmiViewControl

Trait VmiViewControl 

Source
pub trait VmiViewControl: VmiDriver {
    // Required methods
    fn default_view(&self) -> View;
    fn create_view(
        &self,
        default_access: MemoryAccess,
    ) -> Result<View, VmiError>;
    fn destroy_view(&self, view: View) -> Result<(), VmiError>;
    fn switch_to_view(&self, view: View) -> Result<(), VmiError>;
    fn change_view_gfn(
        &self,
        view: View,
        old_gfn: Gfn,
        new_gfn: Gfn,
    ) -> Result<(), VmiError>;
    fn reset_view_gfn(&self, view: View, gfn: Gfn) -> Result<(), VmiError>;
}
Expand description

Capability to manage EPT/NPT views.

Required Methods§

Source

fn default_view(&self) -> View

Returns the default view for the virtual machine.

Source

fn create_view(&self, default_access: MemoryAccess) -> Result<View, VmiError>

Creates a new view with the specified default access permissions.

Source

fn destroy_view(&self, view: View) -> Result<(), VmiError>

Destroys a previously created view.

Source

fn switch_to_view(&self, view: View) -> Result<(), VmiError>

Switches to a different view.

Source

fn change_view_gfn( &self, view: View, old_gfn: Gfn, new_gfn: Gfn, ) -> Result<(), VmiError>

Changes the mapping of a GFN in a specific view.

Source

fn reset_view_gfn(&self, view: View, gfn: Gfn) -> Result<(), VmiError>

Resets the mapping of a GFN in a specific view to its original state.

Implementors§