pub struct KernelObject<'a> { /* private fields */ }Available on crate feature
loader only.Expand description
A parsed kernel object ready for loading.
Implementations§
Source§impl KernelObject<'_>
impl KernelObject<'_>
Sourcepub fn parse(elf: &[u8]) -> Result<KernelObject<'_>, ParseKernelError>
pub fn parse(elf: &[u8]) -> Result<KernelObject<'_>, ParseKernelError>
Parses raw bytes of an ELF file into a loadable kernel object.
Sourcepub fn hermit_version(&self) -> Option<HermitVersion>
pub fn hermit_version(&self) -> Option<HermitVersion>
Returns the Hermit version of this kernel if present.
Sourcepub fn start_addr(&self) -> Option<u64>
pub fn start_addr(&self) -> Option<u64>
Returns the required start address.
If this returns None, the kernel is relocatable and does not require a certain start address.
Sourcepub fn load_kernel(
&self,
memory: &mut [MaybeUninit<u8>],
start_addr: u64,
) -> LoadedKernel
pub fn load_kernel( &self, memory: &mut [MaybeUninit<u8>], start_addr: u64, ) -> LoadedKernel
Loads the kernel into the provided memory.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for KernelObject<'a>
impl<'a> RefUnwindSafe for KernelObject<'a>
impl<'a> Send for KernelObject<'a>
impl<'a> Sync for KernelObject<'a>
impl<'a> Unpin for KernelObject<'a>
impl<'a> UnwindSafe for KernelObject<'a>
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