BootSetupPlatform

Trait BootSetupPlatform 

Source
pub trait BootSetupPlatform {
Show 22 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; // Provided methods fn initialize_internal<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, domid: u32, call: XenCall, image_loader: &'life1 ImageLoader, domain: &'life2 mut BootDomain, kernel: &'life3 PlatformKernelConfig, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait { ... } fn initialize<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, domid: u32, call: XenCall, image_loader: &'life1 ImageLoader, kernel: &'life2 PlatformKernelConfig, resources: &'life3 PlatformResourcesConfig, ) -> Pin<Box<dyn Future<Output = Result<BootDomain>> + Send + 'async_trait>> where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait { ... } fn boot_internal<'life0, 'life1, 'async_trait>( &'life0 mut self, call: XenCall, domid: u32, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn boot<'life0, 'life1, 'async_trait>( &'life0 mut self, domid: u32, call: XenCall, domain: &'life1 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn load_kernel_segment<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, image_loader: &'life1 ImageLoader, domain: &'life2 mut BootDomain, ) -> Pin<Box<dyn Future<Output = Result<DomainSegment>> + Send + 'async_trait>> where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: '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,

Provided Methods§

Source

fn initialize_internal<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, domid: u32, call: XenCall, image_loader: &'life1 ImageLoader, domain: &'life2 mut BootDomain, kernel: &'life3 PlatformKernelConfig, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn initialize<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, domid: u32, call: XenCall, image_loader: &'life1 ImageLoader, kernel: &'life2 PlatformKernelConfig, resources: &'life3 PlatformResourcesConfig, ) -> Pin<Box<dyn Future<Output = Result<BootDomain>> + Send + 'async_trait>>
where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

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

Source

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

Source

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

Implementors§