Skip to main content

Stage3Mount

Struct Stage3Mount 

Source
pub struct Stage3Mount {
    pub components_mounted: usize,
    pub queues_connected: usize,
    pub tasks_spawned: usize,
    pub capability_distribution: Option<CapabilityDistribution>,
}
Expand description

Stage 3: Component mount + capability distribution.

This stage:

  • Mounts WASM components
  • Distributes capabilities per manifest
  • Connects queues per wiring
  • Spawns initial tasks per WIT entry points
  • Drops root task to minimum capability set (SEC-001)

Fields§

§components_mounted: usize

Number of components mounted.

§queues_connected: usize

Number of queues connected.

§tasks_spawned: usize

Number of tasks spawned.

§capability_distribution: Option<CapabilityDistribution>

Capability distribution result.

Implementations§

Source§

impl Stage3Mount

Source

pub fn new() -> Self

Creates a new Stage 3 handler.

Source

pub fn execute( &mut self, manifest: &RvfManifest, boot_capabilities: &BootCapabilitySet, ) -> Result<(), KernelError>

Executes Stage 3 component mounting.

§SEC-001 Compliance

After this stage, the root task’s capability set is reduced to the minimum required for operation (no longer has full physical memory access).

Trait Implementations§

Source§

impl Default for Stage3Mount

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.