pub struct IgvmLoader<R: VbsRegister + GuestArch> {Show 14 fields
    accepted_ranges: RangeMap<u64, RangeInfo>,
    relocatable_regions: RangeMap<u64, RelocationType>,
    required_memory: Vec<RequiredMemory>,
    page_table_region: Option<PageTableRegion>,
    platform_header: IgvmPlatformHeader,
    initialization_headers: Vec<IgvmInitializationHeader>,
    directives: Vec<IgvmDirectiveHeader>,
    page_data_directives: Vec<IgvmDirectiveHeader>,
    vp_context: Option<Box<dyn VpContextBuilder<Register = R>>>,
    max_vtl: Vtl,
    parameter_areas: BTreeMap<(u64, u32), u32>,
    isolation_type: LoaderIsolationType,
    paravisor_present: bool,
    imported_regions_config_page: Option<u64>,
}Fields§
§accepted_ranges: RangeMap<u64, RangeInfo>§relocatable_regions: RangeMap<u64, RelocationType>§required_memory: Vec<RequiredMemory>§page_table_region: Option<PageTableRegion>§platform_header: IgvmPlatformHeader§initialization_headers: Vec<IgvmInitializationHeader>§directives: Vec<IgvmDirectiveHeader>§page_data_directives: Vec<IgvmDirectiveHeader>§vp_context: Option<Box<dyn VpContextBuilder<Register = R>>>§max_vtl: Vtl§parameter_areas: BTreeMap<(u64, u32), u32>§isolation_type: LoaderIsolationType§paravisor_present: bool§imported_regions_config_page: Option<u64>Implementations§
Source§impl<R: IgvmLoaderRegister + GuestArch + 'static> IgvmLoader<R>
 
impl<R: IgvmLoaderRegister + GuestArch + 'static> IgvmLoader<R>
pub fn new(with_paravisor: bool, isolation_type: LoaderIsolationType) -> Self
Sourcepub fn finalize(self, guest_svn: u32) -> Result<IgvmOutput>
 
pub fn finalize(self, guest_svn: u32) -> Result<IgvmOutput>
Finalize the loader state, returning an IGVM file.
Sourcefn accept_new_range(
    &mut self,
    page_base: u64,
    page_count: u64,
    tag: &str,
    acceptance: BootPageAcceptance,
) -> Result<()>
 
fn accept_new_range( &mut self, page_base: u64, page_count: u64, tag: &str, acceptance: BootPageAcceptance, ) -> Result<()>
Accept a new page range with a given acceptance into the map of accepted ranges.
fn imported_regions(&self) -> Vec<ImportedRegionDescriptor>
Sourcepub fn confidential_debug(&self) -> bool
 
pub fn confidential_debug(&self) -> bool
Returns true if this is an isolated guest with debug enabled, false otherwise.
pub fn loader(&mut self) -> IgvmVtlLoader<'_, R>
fn import_pages( &mut self, page_base: u64, page_count: u64, debug_tag: &str, acceptance: BootPageAcceptance, data: &[u8], ) -> Result<(), Error>
Auto Trait Implementations§
impl<R> Freeze for IgvmLoader<R>
impl<R> !RefUnwindSafe for IgvmLoader<R>
impl<R> !Send for IgvmLoader<R>
impl<R> !Sync for IgvmLoader<R>
impl<R> Unpin for IgvmLoader<R>
impl<R> !UnwindSafe for IgvmLoader<R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more