pub trait SynicMonitorAccess: SynicPortAccess {
// Required method
fn set_monitor_page(
&self,
vtl: Vtl,
gpa: Option<MonitorPageGpas>,
) -> Result<()>;
// Provided method
fn allocate_monitor_page(&self, vtl: Vtl) -> Result<Option<MonitorPageGpas>> { ... }
}
Expand description
Provides monitor page functionality for a SynicPortAccess
implementation.
Required Methods§
Sourcefn set_monitor_page(&self, vtl: Vtl, gpa: Option<MonitorPageGpas>) -> Result<()>
fn set_monitor_page(&self, vtl: Vtl, gpa: Option<MonitorPageGpas>) -> Result<()>
Sets the GPA of the monitor page currently in use.
Provided Methods§
Sourcefn allocate_monitor_page(&self, vtl: Vtl) -> Result<Option<MonitorPageGpas>>
fn allocate_monitor_page(&self, vtl: Vtl) -> Result<Option<MonitorPageGpas>>
Allocates monitor pages and sets them as currently in use. If allocating monitor pages is
not supported, returns Ok(None)
.
The pages will be deallocated if the monitor page is subsequently changed or cleared using
SynicMonitorAccess::set_monitor_page
.
Allocating a host-to-guest monitor page is optional so MonitorPageGpas::parent_to_child
may be zero.