pub trait Hypervisor: 'static {
type ProtoPartition<'a>: ProtoPartition<Partition = Self::Partition>;
type Partition;
type Error: Error + Send + Sync + 'static;
// Required method
fn new_partition<'a>(
&'a mut self,
config: ProtoPartitionConfig<'a>,
) -> Result<Self::ProtoPartition<'a>, Self::Error>;
// Provided method
fn platform_gsiv(&self) -> Option<u32> { ... }
}Required Associated Types§
Sourcetype ProtoPartition<'a>: ProtoPartition<Partition = Self::Partition>
type ProtoPartition<'a>: ProtoPartition<Partition = Self::Partition>
The prototype partition type.
Required Methods§
Sourcefn new_partition<'a>(
&'a mut self,
config: ProtoPartitionConfig<'a>,
) -> Result<Self::ProtoPartition<'a>, Self::Error>
fn new_partition<'a>( &'a mut self, config: ProtoPartitionConfig<'a>, ) -> Result<Self::ProtoPartition<'a>, Self::Error>
Returns a new prototype partition from the given configuration.
Provided Methods§
Sourcefn platform_gsiv(&self) -> Option<u32>
fn platform_gsiv(&self) -> Option<u32>
Returns the platform PMU GSIV for this hypervisor, if any.
On aarch64, this is used to configure the GIC topology with the correct PMU interrupt ID before creating the partition.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.