pub enum Op {
Show 16 variants
NewVmSpace,
DropVmSpace {
vs: VmSpaceId,
},
OpenCursor {
vs: VmSpaceId,
va: Range<Vaddr>,
},
OpenCursorMut {
vs: VmSpaceId,
va: Range<Vaddr>,
},
DropCursor {
c: CursorId,
},
Query {
c: CursorId,
},
FindNext {
c: CursorId,
len: usize,
},
Jump {
c: CursorId,
va: Vaddr,
},
VirtAddr {
c: CursorId,
},
Map {
c: CursorId,
frame: UFrame,
prop: PageProperty,
},
Unmap {
c: CursorId,
len: usize,
},
ProtectNext {
c: CursorId,
len: usize,
},
NewReader {
vs: VmSpaceId,
vaddr: Vaddr,
len: usize,
},
NewWriter {
vs: VmSpaceId,
vaddr: Vaddr,
len: usize,
},
DropReader {
vio: VmIoId,
},
DropWriter {
vio: VmIoId,
},
}Expand description
Public exec API of ostd::mm::vm_space, lifted to data.
Variants§
NewVmSpace
VmSpace::new. Allocates a fresh VmSpaceOwner and registers it
under a fresh VmSpaceId.
DropVmSpace
Drop of a VmSpace. Removes the owner at vs (no-op if absent).
OpenCursor
VmSpace::cursor. Opens a read-only cursor on the VmSpace at vs
over the virtual range va. May fail (returns Err in exec); on
failure the store is unchanged.
OpenCursorMut
VmSpace::cursor_mut. Same as OpenCursor but mutable.
DropCursor
Drop of a Cursor/CursorMut. Removes the cursor entry at c
(no-op if absent).
Query
Cursor::query / CursorMut::query. Reads the current page state;
internally advances the cursor.
FindNext
Cursor::find_next / CursorMut::find_next.
Jump
Cursor::jump / CursorMut::jump.
VirtAddr
Cursor::virt_addr / CursorMut::virt_addr. Pure read; no state
change at the embedding granularity.
Map
CursorMut::map. Maps frame with prop at the cursor’s current
position. Modifies the cursor owner and may modify
MetaRegionOwners.
Unmap
CursorMut::unmap. Unmaps up to len bytes starting at the
cursor’s current position.
ProtectNext
CursorMut::protect_next. The exec method takes an
op: impl FnOnce(PageProperty) -> PageProperty; we model only the
length here (the per-page property update is opaque at this stage).
NewReader
VmSpace::reader. May fail; on failure the store is unchanged.
NewWriter
VmSpace::writer. May fail; on failure the store is unchanged.
DropReader
Drop of a VmReader. Removes the corresponding VmIoOwner.
DropWriter
Drop of a VmWriter. Removes the corresponding VmIoOwner.