Skip to main content

BootCapabilitySet

Struct BootCapabilitySet 

Source
pub struct BootCapabilitySet { /* private fields */ }
Expand description

The complete set of initial capabilities for the root task.

This struct describes all capabilities that should be created during kernel boot and granted to the root task.

Implementations§

Source§

impl BootCapabilitySet

Source

pub const fn new() -> BootCapabilitySet

Creates an empty boot capability set.

Source

pub fn minimal(root_task_id: u64) -> BootCapabilitySet

Creates a minimal boot set with essential capabilities.

Source

pub fn full( root_task_id: u64, memory_start: u64, memory_size: u64, rvf_object_id: u64, rvf_hash: u64, ) -> BootCapabilitySet

Creates a full boot set with all standard capabilities.

Source

pub fn add_memory_region(&mut self, object_id: u64, start_addr: u64) -> bool

Adds a memory region capability.

Source

pub fn add_readonly_region(&mut self, object_id: u64, start_addr: u64) -> bool

Adds a read-only memory region (e.g., ROM).

Source

pub fn set_rvf_package(&mut self, object_id: u64, package_hash: u64)

Sets the RVF package capability.

Source

pub fn set_witness_log(&mut self, object_id: u64)

Sets the witness log capability.

Source

pub fn set_interrupt_queue(&mut self, object_id: u64, irq_mask: u64)

Sets the interrupt queue capability.

Source

pub fn set_timer(&mut self, object_id: u64)

Sets the timer capability.

Source

pub fn set_root_task(&mut self, object_id: u64)

Sets the root task capability.

Source

pub fn set_vector_store(&mut self, object_id: u64, dimension: u64)

Sets the vector store capability.

Source

pub fn set_proof_graph(&mut self, object_id: u64)

Sets the proof graph capability.

Source

pub const fn memory_region_count(&self) -> usize

Returns the number of memory regions.

Source

pub fn total_count(&self) -> usize

Returns the total number of capabilities in the set.

Source

pub fn iter(&self) -> impl Iterator<Item = &InitialCapability>

Returns an iterator over all capabilities in the set.

Trait Implementations§

Source§

impl Clone for BootCapabilitySet

Source§

fn clone(&self) -> BootCapabilitySet

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BootCapabilitySet

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for BootCapabilitySet

Source§

fn default() -> BootCapabilitySet

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.