Hypervisor

Trait Hypervisor 

Source
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§

Source

type ProtoPartition<'a>: ProtoPartition<Partition = Self::Partition>

The prototype partition type.

Source

type Partition

The partition type.

Source

type Error: Error + Send + Sync + 'static

The error type when creating the partition.

Required Methods§

Source

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§

Source

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.

Implementors§