pub struct RvfMount { /* private fields */ }Expand description
RVF mount operation handler.
Implements the rvf_mount syscall per ADR-087.
Implementations§
Source§impl RvfMount
impl RvfMount
Sourcepub fn new(config: MountConfig) -> Self
pub fn new(config: MountConfig) -> Self
Creates a new RVF mount handler.
Sourcepub fn set_public_key(&mut self, public_key: &[u8])
pub fn set_public_key(&mut self, public_key: &[u8])
Sets the signature verification public key.
Sourcepub fn mount(
&mut self,
manifest_bytes: &[u8],
signature: &[u8],
_package_bytes: &[u8],
) -> Result<MountResult, KernelError>
pub fn mount( &mut self, manifest_bytes: &[u8], signature: &[u8], _package_bytes: &[u8], ) -> Result<MountResult, KernelError>
Mounts an RVF package.
§Steps
- Verify package signature
- Parse manifest
- Create regions per memory schema
- Mount WASM components
- Distribute capabilities per manifest
- Connect queues per wiring
- Spawn initial tasks per WIT entry points
§Errors
InvalidSignatureif signature verification failsInvalidManifestif manifest parsing failsOutOfMemoryif region creation failsLimitExceededif max components/regions/queues exceeded
Sourcepub fn unmount(&mut self, _handle: RvfMountHandle) -> Result<(), KernelError>
pub fn unmount(&mut self, _handle: RvfMountHandle) -> Result<(), KernelError>
Unmounts an RVF package.
§Steps
- Stop all tasks
- Disconnect queues
- Revoke capabilities
- Destroy regions
- Free mount handle
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RvfMount
impl RefUnwindSafe for RvfMount
impl Send for RvfMount
impl Sync for RvfMount
impl Unpin for RvfMount
impl UnsafeUnpin for RvfMount
impl UnwindSafe for RvfMount
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