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 { ... }
}