Trait xenplatform::boot::BootSetupPlatform

source ·
pub trait BootSetupPlatform: Clone {
Show 17 methods // Required methods fn create_domain(&self, enable_iommu: bool) -> CreateDomain; fn page_size(&self) -> u64; fn page_shift(&self) -> u64; fn needs_early_kernel(&self) -> bool; fn hvm(&self) -> bool; fn initialize_early<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn initialize_memory<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn alloc_page_tables<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<Option<DomainSegment>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn alloc_p2m_segment<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<Option<DomainSegment>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn alloc_magic_pages<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn setup_page_tables<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn setup_shared_info<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, shared_info_frame: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn setup_start_info<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, shared_info_frame: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn bootlate<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn gnttab_seed<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn vcpu<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn setup_hypercall_page<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait;
}

Required Methods§

source

fn create_domain(&self, enable_iommu: bool) -> CreateDomain

source

fn page_size(&self) -> u64

source

fn page_shift(&self) -> u64

source

fn needs_early_kernel(&self) -> bool

source

fn hvm(&self) -> bool

source

fn initialize_early<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn initialize_memory<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn alloc_page_tables<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<Option<DomainSegment>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn alloc_p2m_segment<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<Option<DomainSegment>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn alloc_magic_pages<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn setup_page_tables<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn setup_shared_info<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, shared_info_frame: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn setup_start_info<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, shared_info_frame: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn bootlate<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn gnttab_seed<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn vcpu<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn setup_hypercall_page<'life0, 'life1, 'async_trait>( &'life0 mut self, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§