Expand description
Embedding of VmReader / VmWriter operations.
Per-op steps operate on tracked owners directly — no store lookups,
no preconditions on store membership, no if-guards. The store-side
extract / insert and id-management lives in
super::VmStore’s methods and the super::step dispatcher.
Methods modeled (per the visibility audit against upstream
/home/sean/vostd/ostd/src/mm/io.rs):
- VmReader
: read_val<T>,collect,limit,skip. - VmWriter
: write_val<T>,fill_zeros,limit,skip. - VmReader
: from_kernel_space,read. - VmWriter
: from_kernel_space,write. - Pure-read methods (
remain,has_remain,cursoron reader;avail,has_avail,cursoron writer): grouped undersuper::Op::ReaderQueryandsuper::Op::WriterQuery— handled directly by the dispatcher (no per-op step needed).
§Mirroring exec preconditions
After the most recent exec spec changes, only Infallible read /
write carry tracked owner params. The Fallible variants
(read_val, collect, write_val) and Infallible read_val /
write_val are handle-only — exec requires reduces to
self.inv() (handle MODEL GAP). Their embedding ops are
consequently no-ops on VmStore.
For Infallible read / write, the exec requires:
owner.inv()— expressible.owner.has_write_view(),owner.read_view_initialized()— discharged viaVmIoEntry::invfromactivated && Writer/Reader.
§Model gaps
- Exec
VmReader/VmWriterhandle: execrequiresincludesself.inv()andself.wf(owner)over the runtime handle. We don’t model the handle, so these conjuncts are MODEL GAPS. remain_spec/avail_spec-bound preconditions:skiprequiresnbytes <= self.remain_spec(). Handle-derived, inexpressible without the handle.from_kernel_space: exec ensuresread_view_initialized()/has_write_view()only under a kernel-VA range guard (KERNEL_BASE_VADDR <= ptr.vaddr && ptr.vaddr+len <= KERNEL_END_VADDR). We assume that branch (i.e., the axioms commit toread_view_initialized()/has_write_view()unconditionally) — formally a slight strengthening pending kernel-VA modeling.
Enums§
- VmIo
Method - Dispatch tag for [
vm_io_method_step] (single-owner mutator methods).