pub struct VmState {
pub regs: [u64; 13],
pub program_counter: u64,
pub mapped_heap_pages: RangeSet,
pub resident_pages: RangeSet,
pub kernel: KernelState,
pub video: Option<VideoMode>,
pub audio: Option<AudioMode>,
/* private fields */
}Expand description
Inner VM state.
Fields§
§regs: [u64; 13]Registers.
program_counter: u64Program counter.
mapped_heap_pages: RangeSetMapped heap memory pages’ indices.
These pages were allocated by the guest but not necessarily read from/written to.
Note that it’s possible to include only a subset of the pages if you’re sure that they will not be touched again during the program run. Howeve,r if such a page is touched the engine will panic.
resident_pages: RangeSetAll memory pages that were read from/written to by the guest but haven’t been unmapped yet.
Note that it’s possible to include only a subset of the pages if you’re sure that they will not be touched again during the program run. However, if such a page is touched the engine will silently initialize it from the default: from zeroes for stack/heap and from the program’s RW data section for RW data. The program might continue without an error after that, but the output will most likely be incorrect.
kernel: KernelStateThe state of the Linux kernel syscall layer.
video: Option<VideoMode>Video output mode.
audio: Option<AudioMode>Audio output mode.